.portfolio-page[data-v-c1c4ad71]{--ink: #0c0c0c;--paper: #f5f6f3;--silver: #d7e2ea;--muted: rgba(215, 226, 234, .62);--violet: #b600a8;min-width:0;overflow-x:clip;color:var(--silver);background:var(--ink);font-family:Kanit,Inter,sans-serif}.portfolio-page section[id][data-v-c1c4ad71],.portfolio-page header[id][data-v-c1c4ad71]{scroll-margin-top:96px}.skip-link[data-v-c1c4ad71]{position:fixed;top:12px;left:12px;z-index:100;padding:10px 14px;color:var(--ink);background:#fff;transform:translateY(-160%);transition:transform .18s ease}.skip-link[data-v-c1c4ad71]:focus{transform:translateY(0)}.sr-only[data-v-c1c4ad71]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero[data-v-c1c4ad71]{position:relative;min-height:100svh;background:radial-gradient(circle at 50% 68%,rgba(182,0,168,.14),transparent 28%),var(--ink);overflow:hidden}.hero[data-v-c1c4ad71]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 78%);mask-image:linear-gradient(to bottom,black,transparent 78%)}.hero-nav[data-v-c1c4ad71]{position:fixed;z-index:50;top:16px;right:clamp(16px,3vw,48px);left:clamp(16px,3vw,48px);display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:12px clamp(18px,2.2vw,32px);border:1px solid rgba(215,226,234,.12);border-radius:999px;background:#0c0c0c9e;box-shadow:0 10px 38px #00000029;backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease,border-radius .28s cubic-bezier(.16,1,.3,1),padding .28s cubic-bezier(.16,1,.3,1)}.hero-nav.is-scrolled[data-v-c1c4ad71]{border-color:#d7e2ea38;background:#0c0c0ce0;box-shadow:0 16px 48px #00000057}.nav-signature[data-v-c1c4ad71]{font-size:1.45rem;font-weight:800;letter-spacing:-.06em;display:inline-flex;align-items:center;line-height:1}.nav-signature span[data-v-c1c4ad71]{color:#db38ce}.nav-links[data-v-c1c4ad71]{display:flex;align-items:center;gap:clamp(28px,5vw,76px)}.nav-links-inner[data-v-c1c4ad71]{display:contents}.nav-arrow[data-v-c1c4ad71]{display:none}.nav-links a[data-v-c1c4ad71]{position:relative;color:var(--silver);font-size:clamp(.78rem,1.2vw,1rem);font-weight:500;letter-spacing:.13em;text-transform:uppercase;transition:opacity .18s ease}.nav-links a[data-v-c1c4ad71]:after{content:"";position:absolute;right:0;bottom:-7px;left:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .22s ease}.nav-links a[data-v-c1c4ad71]:hover:after,.nav-links a[data-v-c1c4ad71]:focus-visible:after,.nav-links a.is-active[data-v-c1c4ad71]:after{transform:scaleX(1);transform-origin:left}.nav-links a.is-active[data-v-c1c4ad71]{color:#fff}.menu-toggle[data-v-c1c4ad71]{display:none}.hero-content[data-v-c1c4ad71]{position:relative;z-index:2;display:flex;flex-direction:column;min-height:100svh;padding:104px clamp(20px,3vw,48px) clamp(28px,4vw,58px)}.hero-kicker[data-v-c1c4ad71],.eyebrow[data-v-c1c4ad71]{color:#d7e2ea8f;font-family:JetBrains Mono,monospace;font-size:clamp(.66rem,.9vw,.82rem);letter-spacing:.16em;text-transform:uppercase}.hero-kicker[data-v-c1c4ad71]{text-align:center}.hero-heading-wrap[data-v-c1c4ad71]{position:relative;z-index:1;margin-top:clamp(20px,3vw,44px);overflow:hidden}.display-gradient[data-v-c1c4ad71]{color:transparent;background:linear-gradient(180deg,#646973,#dce8ef);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-heading[data-v-c1c4ad71]{margin:0;font-size:clamp(4.1rem,11.6vw,11.8rem);font-weight:900;line-height:.78;letter-spacing:-.075em;text-align:center;text-transform:uppercase;white-space:nowrap}.hero-portrait[data-v-c1c4ad71]{--magnet-x: 0px;--magnet-y: 0px;--rotate-x: 0deg;--rotate-y: 0deg;position:absolute;z-index:5;top:50%;left:50%;transform:translate3d(calc(-50% + var(--magnet-x)),calc(-46% + var(--magnet-y)),0) perspective(1000px) rotateX(var(--rotate-x)) rotateY(var(--rotate-y));transform-style:preserve-3d;transition:transform .26s cubic-bezier(.2,.8,.2,1);will-change:transform;pointer-events:none;width:clamp(300px,36vw,520px)}.portrait-float[data-v-c1c4ad71]{position:relative;width:100%;height:clamp(340px,46vw,640px);overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,black 78%,transparent 100%);mask-image:linear-gradient(to bottom,black 78%,transparent 100%);animation:floatHead-c1c4ad71 5s ease-in-out infinite}.hero-portrait>img[data-v-c1c4ad71],.portrait-float>img[data-v-c1c4ad71]{position:absolute;top:0;left:50%;transform:translate(-50%);z-index:2;width:100%;height:auto;filter:drop-shadow(0 28px 32px rgba(0,0,0,.6)) drop-shadow(0 0 40px rgba(118,33,176,.18));-webkit-user-select:none;user-select:none}.portrait-float[data-v-c1c4ad71]:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:55%;height:20px;border-radius:50%;background:#00000073;filter:blur(16px);z-index:0}.portrait-glow[data-v-c1c4ad71]{position:absolute;z-index:1;top:5%;right:5%;bottom:10%;left:5%;border-radius:50%;background:radial-gradient(circle,rgba(182,0,168,.24),rgba(118,33,176,.1) 42%,transparent 72%);filter:blur(36px)}.hero-bottom[data-v-c1c4ad71]{position:relative;z-index:8;display:flex;align-items:flex-end;justify-content:space-between;margin-top:auto}.hero-summary[data-v-c1c4ad71]{max-width:250px;color:var(--silver);font-size:clamp(.85rem,1.25vw,1.14rem);font-weight:300;line-height:1.35;letter-spacing:.055em;text-transform:uppercase}.primary-button[data-v-c1c4ad71],.ghost-button[data-v-c1c4ad71]{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:999px;font-size:clamp(.74rem,1vw,.9rem);font-weight:600;letter-spacing:.11em;line-height:1;text-transform:uppercase;transition:transform .18s ease,filter .18s ease,background .18s ease}.primary-button[data-v-c1c4ad71]{min-height:52px;padding:16px 28px;color:#fff;background:linear-gradient(123deg,#18011f 7%,#b600a8 37%,#7621b0 72%,#be4c00);box-shadow:inset 4px 4px 12px #7721b1,0 8px 34px #b600a82e;outline:1px solid rgba(255,255,255,.72);outline-offset:-4px}.primary-button[data-v-c1c4ad71]:hover,.primary-button[data-v-c1c4ad71]:focus-visible{transform:translateY(-3px);filter:brightness(1.12)}.project-marquee[data-v-c1c4ad71]{--marquee-offset: 0px;padding:clamp(64px,8vw,110px) 0 64px;background:var(--ink)}.marquee-intro[data-v-c1c4ad71]{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;width:min(1360px,calc(100% - 48px));margin:0 auto 36px}.marquee-intro-copy[data-v-c1c4ad71]{max-width:640px}.marquee-intro-copy .marquee-title[data-v-c1c4ad71]{margin:8px 0 12px;font-size:clamp(2rem,4.2vw,3.4rem);font-weight:800;line-height:1.05;letter-spacing:-.03em}.marquee-intro-copy .marquee-lead[data-v-c1c4ad71]{max-width:540px;color:#d7e2ea94;font-size:clamp(.92rem,1.2vw,1.08rem);line-height:1.5}.marquee-intro .marquee-cta[data-v-c1c4ad71]{flex:0 0 auto;align-self:flex-end;min-height:44px;padding:12px 24px;font-size:.78rem;letter-spacing:.08em;gap:10px;margin-bottom:4px}.marquee-viewport[data-v-c1c4ad71]{overflow:hidden}.marquee-viewport+.marquee-viewport[data-v-c1c4ad71]{margin-top:12px}.marquee-track[data-v-c1c4ad71]{display:flex;gap:12px;width:max-content;will-change:transform}.marquee-track--1[data-v-c1c4ad71]{transform:translate3d(calc(-42% + var(--marquee-offset)),0,0)}.marquee-track--2[data-v-c1c4ad71]{transform:translate3d(calc(-18% - var(--marquee-offset)),0,0)}.marquee-tile[data-v-c1c4ad71]{position:relative;display:block;width:clamp(280px,29vw,420px);height:clamp(180px,18.6vw,270px);overflow:hidden;border:1px solid rgba(215,226,234,.12);border-radius:22px;background:#181818}.marquee-tile[data-v-c1c4ad71]:after{content:"";position:absolute;top:42%;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.88));pointer-events:none}.marquee-tile img[data-v-c1c4ad71]{width:100%;height:100%;object-fit:cover;object-position:top;filter:saturate(.78) brightness(.82);transition:filter .3s ease,transform .5s ease}.marquee-tile-copy[data-v-c1c4ad71]{position:absolute;z-index:2;right:18px;bottom:16px;left:18px;display:flex;flex-direction:column;gap:4px;color:#fff}.marquee-tile-copy small[data-v-c1c4ad71]{color:#ffffff9e;font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.marquee-tile-copy strong[data-v-c1c4ad71]{font-size:clamp(1rem,1.5vw,1.3rem);font-weight:600;line-height:1.1;text-transform:uppercase}.marquee-tile:hover img[data-v-c1c4ad71],.marquee-tile:focus-visible img[data-v-c1c4ad71]{filter:saturate(1) brightness(1);transform:scale(1.025)}.marquee-tile[data-v-c1c4ad71]:focus-visible{outline:2px solid var(--silver);outline-offset:-4px}.about-section[data-v-c1c4ad71]{position:relative;display:grid;min-height:100svh;place-items:center;padding:120px 24px;overflow:hidden;background:var(--ink)}.about-content[data-v-c1c4ad71]{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;width:min(920px,100%);text-align:center}.section-heading[data-v-c1c4ad71]{margin:14px 0 clamp(44px,6vw,82px);font-size:clamp(4.2rem,11vw,10.2rem);font-weight:900;line-height:.88;letter-spacing:-.07em;text-align:center;text-transform:uppercase}.animated-copy[data-v-c1c4ad71]{width:min(720px,100%);max-width:720px;min-width:0;color:var(--silver);font-size:clamp(1.08rem,2vw,1.55rem);font-weight:500;line-height:1.65;white-space:normal;overflow-wrap:break-word}.animated-copy span[data-v-c1c4ad71]{display:inline;white-space:pre-wrap;transition:opacity 80ms linear}.about-meta[data-v-c1c4ad71]{display:flex;gap:28px;margin:34px 0 44px;color:#d7e2ea8f;font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.about-code[data-v-c1c4ad71]{position:absolute;z-index:1;color:#d7e2ea1a;font-family:JetBrains Mono,monospace;font-size:clamp(4rem,10vw,9rem);font-weight:700;animation:drift 7s ease-in-out infinite}.about-code--left[data-v-c1c4ad71]{top:10%;left:5%;transform:rotate(-14deg)}.about-code--right[data-v-c1c4ad71]{right:5%;bottom:10%;animation-delay:-3s;transform:rotate(12deg)}.about-sphere[data-v-c1c4ad71]{position:absolute;width:clamp(90px,14vw,190px);aspect-ratio:1;border:1px solid rgba(215,226,234,.16);border-radius:50%;background:radial-gradient(circle at 32% 27%,rgba(215,226,234,.22),rgba(118,33,176,.08) 42%,transparent 70%);box-shadow:inset -20px -20px 60px #000000b3}.about-sphere--left[data-v-c1c4ad71]{bottom:8%;left:8%}.about-sphere--right[data-v-c1c4ad71]{top:9%;right:9%;width:clamp(70px,10vw,130px)}.geo-summary-section[data-v-c1c4ad71]{position:relative;z-index:3;padding:0 clamp(20px,4vw,64px) clamp(96px,10vw,150px);background:var(--ink)}.geo-summary[data-v-c1c4ad71]{width:min(1120px,100%);margin:0 auto;padding:clamp(34px,6vw,72px);border:1px solid rgba(215,226,234,.18);border-radius:clamp(28px,4vw,48px);background:#d7e2ea09}.geo-summary h2[data-v-c1c4ad71]{max-width:940px;margin:16px 0 30px;color:var(--silver);font-size:clamp(2.15rem,5vw,4.8rem);font-weight:800;line-height:.98;letter-spacing:-.045em;text-transform:uppercase}.geo-answer[data-v-c1c4ad71]{max-width:900px;color:#d7e2eaa3;font-size:clamp(1rem,1.45vw,1.22rem);font-weight:300;line-height:1.76}.geo-answer strong[data-v-c1c4ad71]{color:#fff;font-weight:600;letter-spacing:-.01em}.geo-byline[data-v-c1c4ad71]{display:flex;gap:24px;justify-content:space-between;margin-top:38px;padding-top:22px;color:#d7e2ea7a;border-top:1px solid rgba(215,226,234,.14);font-family:JetBrains Mono,monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.services-section[data-v-c1c4ad71]{position:relative;z-index:4;padding:clamp(88px,10vw,150px) clamp(20px,4vw,64px);color:var(--ink);border-radius:56px 56px 0 0;background:var(--paper)}.section-intro[data-v-c1c4ad71]{padding:0 clamp(0px,2vw,30px)}.section-intro--dark .eyebrow[data-v-c1c4ad71]{color:#0c0c0c7a}.section-heading--dark[data-v-c1c4ad71]{color:var(--ink);background:none;-webkit-text-fill-color:initial}.services-list[data-v-c1c4ad71]{width:min(1120px,100%);margin:0 auto;border-top:1px solid rgba(12,12,12,.18)}.service-item[data-v-c1c4ad71]{display:grid;grid-template-columns:minmax(150px,.65fr) 1.8fr;gap:50px;align-items:center;padding:clamp(34px,5vw,68px) 0;border-bottom:1px solid rgba(12,12,12,.18)}.service-number[data-v-c1c4ad71],.project-card-number[data-v-c1c4ad71]{color:var(--ink);font-size:clamp(4.2rem,8vw,8.2rem);font-weight:900;line-height:.72;letter-spacing:-.08em}.service-copy h3[data-v-c1c4ad71]{margin-bottom:12px;color:var(--ink);font-size:clamp(1.35rem,2.2vw,2rem);font-weight:600;letter-spacing:-.02em;text-transform:uppercase}.service-copy p[data-v-c1c4ad71]{max-width:730px;color:#0c0c0c94;font-size:clamp(.95rem,1.4vw,1.18rem);font-weight:300;line-height:1.62}.projects-section[data-v-c1c4ad71]{position:relative;z-index:5;margin-top:-50px;padding:clamp(110px,12vw,180px) clamp(16px,3vw,48px) 80px;border-radius:56px 56px 0 0;background:var(--ink)}.project-list[data-v-c1c4ad71]{display:grid;gap:clamp(34px,6vw,88px);width:min(1360px,100%);margin:0 auto}.mobile-project-toggle[data-v-c1c4ad71]{display:none}.project-card[data-v-c1c4ad71]{position:relative;scroll-margin-top:112px;padding:clamp(18px,2.5vw,34px);border:2px solid rgba(215,226,234,.74);border-radius:clamp(28px,4vw,58px);background:#0c0c0c;box-shadow:0 26px 90px #00000057}.project-card-header[data-v-c1c4ad71]{display:grid;grid-template-columns:.45fr 1.2fr auto;gap:24px;align-items:center}.project-card .project-card-number[data-v-c1c4ad71]{color:var(--silver)}.project-card-title span[data-v-c1c4ad71]{color:#d7e2ea80;font-family:JetBrains Mono,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.project-card-title h3[data-v-c1c4ad71]{margin-top:6px;color:var(--silver);font-size:clamp(1.45rem,2.45vw,2.45rem);font-weight:600;line-height:1;letter-spacing:-.035em;text-transform:uppercase}.project-card-actions[data-v-c1c4ad71]{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary-live-button[data-v-c1c4ad71]{min-height:48px;padding:14px 22px;color:#0c0c0c;background:#f4f4f5;border:1px solid #f4f4f5;border-radius:999px;font-family:inherit;font-size:.88rem;font-weight:600;letter-spacing:-.01em;text-decoration:none;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 14px #ffffff26;transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease}.primary-live-button[data-v-c1c4ad71]:hover,.primary-live-button[data-v-c1c4ad71]:focus-visible{color:#000;background:#fff;transform:translateY(-2px);box-shadow:0 8px 24px #ffffff47}.ghost-button[data-v-c1c4ad71]{min-height:48px;padding:14px 22px;color:var(--silver);border:1px solid rgba(215,226,234,.64);border-radius:999px}.ghost-button[data-v-c1c4ad71]:hover,.ghost-button[data-v-c1c4ad71]:focus-visible{color:var(--ink);background:var(--silver)}.project-description[data-v-c1c4ad71]{max-width:600px;margin:18px 0 24px auto;color:#d7e2ea94;font-size:clamp(.86rem,1.2vw,1rem);line-height:1.55}.project-gallery[data-v-c1c4ad71]{display:grid;grid-template-columns:36% 1fr;gap:14px;align-items:stretch}.project-gallery-small[data-v-c1c4ad71]{display:grid;grid-template-rows:1fr 1fr;gap:14px;min-height:0}.project-gallery img[data-v-c1c4ad71]{width:100%;height:100%;min-height:0;object-fit:cover;object-position:top;border-radius:clamp(20px,2.5vw,36px);background:#181818;box-shadow:inset 0 0 0 1px #d7e2ea14}.project-gallery-small img[data-v-c1c4ad71]:first-child{object-position:top}.project-gallery-small img[data-v-c1c4ad71]:last-child{object-position:top}.project-gallery-main[data-v-c1c4ad71]{aspect-ratio:16 / 9;height:auto!important;max-height:100%;object-position:top!important}.all-projects[data-v-c1c4ad71]{width:min(1360px,100%);margin:clamp(120px,14vw,210px) auto 40px;scroll-margin-top:30px}.catalog-heading[data-v-c1c4ad71]{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(30px,7vw,110px);align-items:end;margin-bottom:clamp(42px,6vw,78px)}.catalog-heading h2[data-v-c1c4ad71]{margin-top:12px;color:var(--silver);font-size:clamp(3rem,7vw,7rem);font-weight:900;line-height:.86;letter-spacing:-.06em;text-transform:uppercase}.catalog-heading>p[data-v-c1c4ad71]{max-width:520px;color:#d7e2ea8f;font-size:clamp(.95rem,1.35vw,1.14rem);line-height:1.6}.catalog-grid[data-v-c1c4ad71]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,42px) 16px}.catalog-card[data-v-c1c4ad71]{min-width:0;scroll-margin-top:112px}.catalog-card-link[data-v-c1c4ad71]{display:block;text-decoration:none;color:inherit;border-radius:clamp(20px,2vw,30px)}.catalog-card-link[data-v-c1c4ad71]:focus-visible{outline:2px solid var(--silver);outline-offset:4px}.catalog-card-badge[data-v-c1c4ad71]{position:absolute;top:14px;right:14px;bottom:auto;z-index:3;display:inline-flex;align-items:center;justify-content:center;background:#0c0c0cc7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(215,226,234,.22);color:#f4f4f5;font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:600;letter-spacing:.06em;line-height:1;text-transform:uppercase;padding:7px 14px;border-radius:999px;pointer-events:none;transition:transform .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}.catalog-card:hover .catalog-card-badge[data-v-c1c4ad71]{background:#fff;color:#0c0c0c;border-color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #00000073}.catalog-card-image[data-v-c1c4ad71]{position:relative;aspect-ratio:3 / 2;overflow:hidden;border:1px solid rgba(215,226,234,.12);border-radius:clamp(20px,2vw,30px);background:#171717}.catalog-card-image[data-v-c1c4ad71]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(145deg,transparent 50%,rgba(0,0,0,.54));pointer-events:none}.catalog-card-image img[data-v-c1c4ad71]{width:100%;height:100%;object-fit:cover;object-position:top;filter:saturate(.76) brightness(.82);transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .25s ease}.catalog-card-number[data-v-c1c4ad71]{position:absolute;z-index:2;right:16px;bottom:12px;color:#fff;font-family:JetBrains Mono,monospace;font-size:.7rem}.catalog-card:hover .catalog-card-image img[data-v-c1c4ad71]{transform:scale(1.035);filter:saturate(1) brightness(1)}.catalog-card-copy[data-v-c1c4ad71]{padding:17px 5px 0}.catalog-card-copy p[data-v-c1c4ad71]{color:#d7e2ea75;font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.catalog-card-copy h3[data-v-c1c4ad71]{margin-top:7px;color:var(--silver);font-size:clamp(1.18rem,1.75vw,1.65rem);font-weight:600;line-height:1.08;text-transform:uppercase}.contact-section[data-v-c1c4ad71]{display:flex;flex-direction:column;align-items:center;padding:clamp(90px,12vw,180px) 22px;text-align:center;background:var(--ink)}.contact-heading[data-v-c1c4ad71]{margin:24px 0 20px;color:var(--silver);font-size:clamp(3.2rem,9vw,8rem);font-weight:900;line-height:.86;letter-spacing:-.065em;text-transform:uppercase}.contact-heading span[data-v-c1c4ad71]{color:#d7e2ea40}.contact-copy[data-v-c1c4ad71]{max-width:620px;color:#d7e2eaa3;font-size:clamp(.95rem,1.35vw,1.15rem);line-height:1.55}.contact-cards[data-v-c1c4ad71]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:min(980px,100%);margin:48px auto 36px;text-align:left}.contact-card[data-v-c1c4ad71]{position:relative;display:flex;flex-direction:column;padding:clamp(26px,3vw,38px);border:1px solid rgba(215,226,234,.16);border-radius:28px;background:radial-gradient(circle at 95% 5%,rgba(182,0,168,.12),transparent 45%),#111;box-shadow:0 16px 50px #00000073;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.contact-card[data-v-c1c4ad71]:hover{transform:translateY(-4px);border-color:#d7e2ea59;box-shadow:0 20px 60px #0009,0 0 35px #b600a824}.contact-card--consult[data-v-c1c4ad71]{background:radial-gradient(circle at 95% 5%,rgba(118,33,176,.12),transparent 45%),#111}.contact-card--consult[data-v-c1c4ad71]:hover{border-color:#d7e2ea59;box-shadow:0 20px 60px #0009,0 0 35px #7621b02e}.contact-card-header[data-v-c1c4ad71]{margin-bottom:12px}.contact-card-tag[data-v-c1c4ad71]{display:inline-block;margin-bottom:14px;padding:5px 13px;color:#e59aff;background:#b600a82e;border:1px solid rgba(182,0,168,.36);border-radius:999px;font-family:JetBrains Mono,monospace;font-size:.64rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.contact-card-tag--alt[data-v-c1c4ad71]{color:#9fe2ff;background:#008cff24;border-color:#008cff52}.contact-card h3[data-v-c1c4ad71]{color:var(--silver);font-size:clamp(1.25rem,1.8vw,1.65rem);font-weight:600;line-height:1.15;letter-spacing:-.025em;text-transform:uppercase}.contact-card-desc[data-v-c1c4ad71]{margin:10px 0 22px;color:#d7e2ea9e;font-size:clamp(.88rem,1.1vw,1rem);line-height:1.5}.contact-card-features[data-v-c1c4ad71]{display:flex;flex-direction:column;gap:12px;margin:0 0 32px;padding:0;list-style:none;flex-grow:1}.contact-card-features li[data-v-c1c4ad71]{display:flex;align-items:flex-start;gap:10px;color:#d7e2ead1;font-size:clamp(.84rem,1vw,.92rem);line-height:1.45}.feature-icon[data-v-c1c4ad71]{display:grid;place-content:center;width:18px;height:18px;margin-top:1px;flex-shrink:0;color:#ff9ef4;background:#b600a840;border-radius:50%;font-size:.62rem;font-weight:700}.contact-card--consult .feature-icon[data-v-c1c4ad71]{color:#72c1ff;background:#008cff33}.contact-card-cta[data-v-c1c4ad71]{width:100%}.contact-fallback[data-v-c1c4ad71]{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:18px;color:#d7e2ea85;font-size:clamp(.82rem,1vw,.92rem)}.email-link[data-v-c1c4ad71]{color:var(--silver);font-size:clamp(.82rem,1.1vw,.96rem);text-decoration:underline;text-underline-offset:5px;transition:opacity .16s ease}.email-link[data-v-c1c4ad71]:hover{opacity:.8}.portfolio-footer[data-v-c1c4ad71]{display:flex;justify-content:space-between;gap:24px;padding:28px clamp(20px,4vw,60px);color:#d7e2ea94;border-top:1px solid rgba(215,226,234,.12);background:var(--ink);font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.portfolio-footer p span[data-v-c1c4ad71]{opacity:.45}.portfolio-footer div[data-v-c1c4ad71]{display:flex;gap:28px}[data-reveal][data-v-c1c4ad71]{opacity:0;transform:translate3d(0,18px,0);transition:opacity .46s cubic-bezier(.22,.8,.28,1) var(--reveal-delay, 0ms),transform .52s cubic-bezier(.22,.8,.28,1) var(--reveal-delay, 0ms);will-change:opacity,transform}[data-reveal].is-visible[data-v-c1c4ad71]{opacity:1;transform:translateZ(0);will-change:auto}.reveal-up[data-v-c1c4ad71]{animation:revealUp-c1c4ad71 .8s cubic-bezier(.25,.1,.25,1) both}.reveal-delay-1[data-v-c1c4ad71]{animation-delay:.12s}.reveal-delay-2[data-v-c1c4ad71]{animation-delay:.3s}.reveal-delay-3[data-v-c1c4ad71]{animation-delay:.45s}.reveal-delay-4[data-v-c1c4ad71]{animation-delay:.6s}.portrait-reveal[data-v-c1c4ad71]{animation:portraitAppear-c1c4ad71 .9s .45s cubic-bezier(.25,.1,.25,1) both}@keyframes revealUp-c1c4ad71{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes portraitAppear-c1c4ad71{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}@keyframes floatHead-c1c4ad71{0%,to{transform:translateY(0)}50%{transform:translateY(-16px)}}@media(max-width:820px){.hero-nav[data-v-c1c4ad71]{min-height:64px;height:auto;top:10px;right:10px;left:10px;padding:10px 14px 10px 18px;display:flex;flex-wrap:wrap;align-items:center;align-content:flex-start;justify-content:space-between;border-radius:999px;overflow:hidden}.hero-nav.is-open[data-v-c1c4ad71]{border-radius:28px;background:#0c0c0cf2;border-color:#d7e2ea38;box-shadow:0 24px 70px #000000b3;padding:10px 14px 20px 18px}.nav-signature[data-v-c1c4ad71]{order:1;height:44px}.menu-toggle[data-v-c1c4ad71]{order:2;position:relative;z-index:2;display:grid;gap:7px;width:44px;height:44px;place-content:center;color:var(--silver);border:1px solid rgba(215,226,234,.24);border-radius:50%;background:transparent;transition:background .2s ease,border-color .2s ease,color .2s ease}.menu-toggle span[data-v-c1c4ad71]:not(.sr-only){display:block;width:17px;height:1.5px;background:currentColor;border-radius:1px;transition:transform .26s cubic-bezier(.16,1,.3,1),opacity .2s ease;transform-origin:center}.hero-nav.is-open .menu-toggle[data-v-c1c4ad71]{border-color:#d7e2ea5c;background:#ffffff14;color:#fff}.hero-nav.is-open .menu-toggle span[data-v-c1c4ad71]:nth-of-type(1){transform:translateY(4.25px) rotate(45deg)}.hero-nav.is-open .menu-toggle span[data-v-c1c4ad71]:nth-of-type(2){transform:translateY(-4.25px) rotate(-45deg)}.nav-links[data-v-c1c4ad71]{order:3;position:static;display:grid;grid-template-rows:0fr;align-items:start;width:100%;padding:0;margin:0;border:none;border-radius:0;background:transparent;box-shadow:none;opacity:0;visibility:hidden;overflow:hidden;pointer-events:none;transform:none;transition:grid-template-rows .28s cubic-bezier(.16,1,.3,1),opacity .15s ease,visibility .28s ease}.nav-links.is-open[data-v-c1c4ad71]{grid-template-rows:1fr;opacity:1;visibility:visible;pointer-events:auto}.nav-links-inner[data-v-c1c4ad71]{display:flex;flex-direction:column;min-height:0;overflow:hidden;gap:4px;margin-top:0;padding-top:0;border-top:0 solid transparent;transition:margin-top .28s cubic-bezier(.16,1,.3,1),padding-top .28s cubic-bezier(.16,1,.3,1),border-color .15s ease}.nav-links.is-open .nav-links-inner[data-v-c1c4ad71]{margin-top:8px;padding-top:12px;border-top:1px solid rgba(215,226,234,.1)}.nav-links-inner a[data-v-c1c4ad71]{display:flex;align-items:center;justify-content:space-between;padding:12px 10px;border-radius:12px;font-size:.98rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--silver);transition:background .18s ease,color .18s ease,padding-left .18s ease}.nav-links-inner a[data-v-c1c4ad71]:after{display:none}.nav-arrow[data-v-c1c4ad71]{display:inline-block;font-size:.95rem;color:#d7e2ea59;transition:transform .18s ease,color .18s ease}.nav-links-inner a[data-v-c1c4ad71]:hover,.nav-links-inner a[data-v-c1c4ad71]:focus-visible,.nav-links-inner a.is-active[data-v-c1c4ad71]{color:#fff;background:#d7e2ea14;padding-left:14px}.nav-links-inner a:hover .nav-arrow[data-v-c1c4ad71],.nav-links-inner a:focus-visible .nav-arrow[data-v-c1c4ad71],.nav-links-inner a.is-active .nav-arrow[data-v-c1c4ad71]{color:#db38ce;transform:translate(3px)}.nav-links-inner a.is-active[data-v-c1c4ad71]{color:#fff;font-weight:700}.hero-content[data-v-c1c4ad71]{min-height:100svh;padding-top:96px}.hero-heading[data-v-c1c4ad71]{font-size:clamp(3.35rem,15vw,7rem);white-space:normal}.hero-portrait[data-v-c1c4ad71]{width:min(65vw,340px);transform:translate3d(calc(-50% + var(--magnet-x)),calc(-38% + var(--magnet-y)),0) perspective(1000px) rotateX(var(--rotate-x)) rotateY(var(--rotate-y))}.portrait-float[data-v-c1c4ad71]{width:100%;height:auto;aspect-ratio:900 / 1169}.hero-bottom[data-v-c1c4ad71]{align-items:flex-end}.hero-summary[data-v-c1c4ad71]{max-width:170px;font-size:.72rem}.hero-bottom .primary-button[data-v-c1c4ad71]{min-width:112px;height:50px;min-height:50px;padding:0 16px;font-size:.66rem}.hero-bottom .primary-button span[data-v-c1c4ad71]{font-size:.88rem}.about-meta[data-v-c1c4ad71]{flex-direction:column;gap:10px}.service-item[data-v-c1c4ad71]{grid-template-columns:120px 1fr;gap:25px}.project-card-header[data-v-c1c4ad71]{grid-template-columns:95px 1fr}.project-card-actions[data-v-c1c4ad71]{grid-column:1 / -1;justify-self:stretch;display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.project-description[data-v-c1c4ad71]{margin-left:0}.project-gallery[data-v-c1c4ad71]{height:clamp(340px,66vw,520px)}.catalog-heading[data-v-c1c4ad71]{grid-template-columns:1fr}.catalog-grid[data-v-c1c4ad71]{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-cards[data-v-c1c4ad71]{grid-template-columns:1fr;gap:20px}}@media(max-width:560px){.hero[data-v-c1c4ad71],.hero-content[data-v-c1c4ad71]{min-height:760px}.hero-kicker[data-v-c1c4ad71]{font-size:.58rem}.hero-heading-wrap[data-v-c1c4ad71]{margin-top:28px}.hero-heading[data-v-c1c4ad71]{font-size:clamp(3.1rem,17vw,5.4rem);line-height:.86}.hero-portrait[data-v-c1c4ad71]{width:min(75vw,300px);transform:translate3d(calc(-50% + var(--magnet-x)),calc(-35% + var(--magnet-y)),0) perspective(1000px) rotateX(var(--rotate-x)) rotateY(var(--rotate-y))}.portrait-float[data-v-c1c4ad71]{width:100%;height:auto;aspect-ratio:900 / 1169}.project-marquee[data-v-c1c4ad71]{padding-top:86px}.marquee-intro[data-v-c1c4ad71]{align-items:flex-start;flex-direction:column;width:calc(100% - 40px);margin-bottom:28px}.marquee-viewport[data-v-c1c4ad71]{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:inline mandatory}.marquee-viewport[data-v-c1c4ad71]::-webkit-scrollbar{display:none}.marquee-viewport--secondary[data-v-c1c4ad71]{display:none}.marquee-track[data-v-c1c4ad71]{width:max-content;transform:none!important}.marquee-tile[data-v-c1c4ad71]{width:min(78vw,310px);scroll-snap-align:start}.marquee-tile-copy[data-v-c1c4ad71]{right:14px;bottom:13px;left:14px}.about-section[data-v-c1c4ad71]{min-height:860px;padding-inline:20px}.animated-copy[data-v-c1c4ad71]{font-size:1rem;line-height:1.55}.about-code[data-v-c1c4ad71]{opacity:.6}.about-sphere--left[data-v-c1c4ad71]{bottom:3%;left:-8%}.about-sphere--right[data-v-c1c4ad71]{top:8%;right:-7%}.geo-summary-section[data-v-c1c4ad71]{padding-inline:16px}.geo-summary[data-v-c1c4ad71]{padding:28px 22px;border-radius:28px}.geo-summary h2[data-v-c1c4ad71]{font-size:clamp(2rem,10vw,3.2rem)}.geo-byline[data-v-c1c4ad71]{flex-direction:column;gap:8px}.section-heading[data-v-c1c4ad71]{font-size:clamp(3.45rem,18vw,5.8rem)}.projects-section .section-heading[data-v-c1c4ad71]{font-size:clamp(2.85rem,12vw,4.4rem);letter-spacing:-.055em}.section-heading--dark[data-v-c1c4ad71]{font-size:clamp(2.65rem,11.2vw,4.6rem);letter-spacing:-.055em}.services-section[data-v-c1c4ad71],.projects-section[data-v-c1c4ad71]{border-radius:32px 32px 0 0}.service-item[data-v-c1c4ad71]{grid-template-columns:1fr;gap:22px}.service-number[data-v-c1c4ad71]{font-size:4.7rem}.project-card-header[data-v-c1c4ad71]{grid-template-columns:70px 1fr;gap:14px}.project-card-number[data-v-c1c4ad71]{font-size:3.7rem}.project-card-actions[data-v-c1c4ad71]{grid-column:1 / -1;display:flex;flex-direction:column;width:100%;gap:10px;margin-top:6px}.primary-live-button[data-v-c1c4ad71],.project-card-header .ghost-button[data-v-c1c4ad71]{width:100%;justify-content:center;min-height:44px;padding:12px 17px}.project-gallery[data-v-c1c4ad71]{grid-template-columns:1fr;height:220px}.project-gallery-small[data-v-c1c4ad71]{display:none}.project-gallery-main[data-v-c1c4ad71]{object-fit:cover!important}.project-card.mobile-collapsed[data-v-c1c4ad71],.catalog-card.mobile-collapsed[data-v-c1c4ad71]{display:none}.mobile-project-toggle[data-v-c1c4ad71]{display:inline-flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin-top:24px;padding:14px 18px;color:var(--silver);border:1px solid rgba(215,226,234,.32);border-radius:999px;background:#d7e2ea0e;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.mobile-project-toggle[data-v-c1c4ad71]:active{transform:scale(.985)}.all-projects[data-v-c1c4ad71]{margin-top:82px}.catalog-heading h2[data-v-c1c4ad71]{font-size:clamp(2.75rem,15vw,4.7rem)}.catalog-grid[data-v-c1c4ad71]{grid-template-columns:1fr;gap:34px}.catalog-card-copy h3[data-v-c1c4ad71]{font-size:1.35rem}.contact-heading[data-v-c1c4ad71]{font-size:clamp(3.15rem,16vw,5.4rem)}.contact-cards[data-v-c1c4ad71]{margin:34px auto 26px}.contact-card[data-v-c1c4ad71]{padding:24px 20px;border-radius:22px}.contact-card-desc[data-v-c1c4ad71]{margin-bottom:18px}.contact-card-features[data-v-c1c4ad71]{margin-bottom:24px}.portfolio-footer[data-v-c1c4ad71]{flex-direction:column}.portfolio-footer div[data-v-c1c4ad71]{justify-content:space-between;gap:15px}}@media(prefers-reduced-motion:reduce){[data-v-c1c4ad71],[data-v-c1c4ad71]:before,[data-v-c1c4ad71]:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.marquee-track[data-v-c1c4ad71]{transform:translate3d(-12%,0,0)}.portrait-float[data-v-c1c4ad71]{animation:none}.animated-copy span[data-v-c1c4ad71]{opacity:1!important}.project-card[data-v-c1c4ad71]{transform:none!important}[data-reveal][data-v-c1c4ad71]{opacity:1!important;transform:none!important}}#main-content{outline:none}
