@font-face {
  font-family: Inter;
  src: url('/assets/versioned/InterVariable.693b77d4f32ee9b8.woff2') format('woff2');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --night: #090510;
  --night-2: #13071e;
  --panel: #160a22;
  --panel-2: #21102f;
  --text: #fffaff;
  --muted: #b3a9b9;
  --line: rgba(255,255,255,.13);
  --pink: #f50072;
  --violet: #6019ff;
  --orange: #ff7100;
  --gold: #ff9c21;
  --gradient: linear-gradient(100deg, var(--pink), #ff304c 50%, var(--orange));
  --max: 1144px;
  --radius: 16px;
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

@property --cta-button-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

@property --service-trace-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--night); }
body { margin: 0; min-width: 320px; overflow-x: clip; color: var(--text); background: radial-gradient(circle at 15% 8%, #1c0750 0, transparent 28rem), radial-gradient(circle at 90% 4%, #48150d 0, transparent 32rem), var(--night); -webkit-font-smoothing: antialiased; }
body::before { position: fixed; z-index: -3; inset: 0; content: ""; opacity: .1; background-image: linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px); background-size: 68px 68px; mask-image: linear-gradient(to bottom, black, transparent 84%); }
img { max-width: 100%; height: auto; }
a { color: inherit; }
button { color: inherit; font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; padding: 0; margin: -1px; border: 0; clip: rect(0 0 0 0); white-space: nowrap; }
/* Clip instead of moving offscreen: scrolling/overscroll must not expose it. */
.skip-link { position: fixed; z-index: 999; left: 16px; top: 12px; width: 1px; height: 1px; overflow: hidden; padding: 0; clip-path: inset(50%); white-space: nowrap; pointer-events: none; color: #13071e; background: white; border-radius: 8px; }
.skip-link:focus-visible { width: auto; height: auto; max-width: calc(100vw - 32px); overflow: visible; padding: 10px 14px; clip-path: none; white-space: normal; pointer-events: auto; outline: 3px solid var(--orange); outline-offset: 3px; }
.scroll-progress { position: fixed; z-index: 140; top: 0; bottom: 0; left: 0; width: 5px; overflow: visible; background: rgba(255,255,255,.06); box-shadow: 1px 0 0 rgba(255,255,255,.04); pointer-events: none; }
.scroll-progress span { width: 100%; height: 100%; display: block; border-radius: 0 0 4px 0; background: linear-gradient(180deg,#ff1b70 0%,#ff6c0c 58%,#ffcb42 100%); box-shadow: 0 0 10px rgba(255,44,100,.95),0 0 24px rgba(255,111,16,.72); transform: scaleY(var(--page-scroll,0)); transform-origin: top; will-change: transform; }
.scroll-progress::after { position: absolute; top: var(--page-scroll-y,0px); left: 50%; width: 11px; height: 11px; border: 2px solid rgba(255,255,255,.88); border-radius: 50%; background: #ff8a16; box-shadow: 0 0 9px #ff326a,0 0 23px rgba(255,113,16,.95); content: ''; transform: translate(-50%,-50%); }
.page-loader { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; background: radial-gradient(circle at 50% 48%, #261047, #08040e 58%); transition: opacity .55s ease, visibility .55s ease; }
.is-loaded .page-loader { visibility: hidden; opacity: 0; }
.loader-orbit { position: relative; width: 221px; height: 172px; display: grid; place-items: center; }
.loader-orbit-art { position: absolute; inset: 0; width: 100%; height: 100%; animation: loader-breathe 1.8s ease-in-out infinite alternate; }
.loader-logo { position: relative; z-index: 1; width: 111px; height: auto; }
.shell { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.site-header { position: fixed; z-index: 50; top: 0; width: 100%; border-bottom: 1px solid rgba(255,255,255,.03); background: linear-gradient(180deg, rgba(8,4,14,.58), transparent); transition: background .35s ease, backdrop-filter .35s ease; }
.is-scrolled .site-header { background: linear-gradient(180deg, rgba(12,5,20,.9), rgba(12,5,20,.08)); backdrop-filter: blur(8px); }
.header-inner { width: 100%; max-width: none; height: 52px; display: flex; align-items: center; justify-content: flex-start; gap: 32px; margin: 0; padding-inline: 36px; }
.logo { flex: 0 0 auto; display: inline-flex; align-items: center; padding: 0; border: 0; color: white; background: none; box-shadow: none; text-decoration: none; }
.logo img { display: block; width: 111px; height: auto; }
.site-nav { display: flex; align-items: stretch; gap: 34px; }
.site-nav a { position: relative; display: grid; place-items: center; height: 52px; color: #f1eaf5; font-size: 16px; font-weight: 550; text-decoration: none; transition: color .42s ease, text-shadow .42s ease; }
.site-nav a:hover { color: #fff; text-shadow: 0 0 18px rgba(255,146,72,.36); }
.nav-icon { display: none; }
.site-nav a::after { position: absolute; right: 0; bottom: 0; left: 0; height: 4px; border-radius: 4px 4px 0 0; background: linear-gradient(90deg,#ff136e,#ff6c00); box-shadow: 0 0 9px rgba(255,68,29,.65); content: ""; transform: scaleX(0); transform-origin: center; transition: transform .46s cubic-bezier(.16,1,.3,1), box-shadow .46s ease; }
.site-nav a:hover::after, .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.site-header .logo { position: absolute; top: 0; left: 50%; width: 221px; height: 99px; display: inline-flex; opacity: 1; transform: translateX(-50%); transition: opacity .5s ease,transform .65s cubic-bezier(.16,1,.3,1),filter .5s ease; }
.site-header .logo img { width: 221px; }
.home-page .site-header .logo { opacity: 0; filter: blur(7px); transform: translateX(-50%) translateY(-16px) scale(.92); pointer-events: none; }
.home-page.show-sticky-logo .site-header .logo { opacity: 1; filter: none; transform: translateX(-50%); pointer-events: auto; }
.mobile-page-logo { display: none; }
.menu-button { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.05); }
.eyebrow { margin: 0 0 16px; color: var(--gold); font-size: 13px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.accent { color: transparent; background: linear-gradient(110deg, #ffb01d, #ff6d00); background-clip: text; -webkit-background-clip: text; }
.button { position: relative; isolation: isolate; min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 30px; border: 0; border-radius: 0; color: white; background: none; filter: drop-shadow(0 0 12.15px rgb(224,107,28)); font-weight: 700; text-decoration: none; transform: translateZ(0); transition: transform .78s cubic-bezier(.16,1,.3,1), filter .72s ease; }
.button::before { position: absolute; z-index: -1; inset: 0; border: solid transparent; border-width: 0 18px; border-image: url('/assets/original/button-glow.png') 0 76 fill / 0 18px / 0 stretch; content: ""; pointer-events: none; }
.button::after { display: none; }
.button:hover { transform: translateY(-3px) scale(1.012); filter: drop-shadow(0 3px 17px rgba(255,100,14,.9)) drop-shadow(0 0 7px rgba(255,35,105,.42)); }
.button:active { transform: translateY(0) scale(.996); transition-duration: .24s; }
.button.secondary { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.06); filter: none; clip-path: none; }
.button.secondary::before, .button.secondary::after { display: none; }
.button.small { min-height: 44px; padding-inline: 22px; font-size: 14px; }
.partner .button.secondary { border-radius: 12px; color: #fff; background: #05030a; box-shadow: 0 8px 24px rgba(5,3,10,.24); }
.partner .button.secondary:hover { background: #0c0812; box-shadow: 0 10px 28px rgba(5,3,10,.32); }
.cursor-lit { --mx: 50%; --my: 50%; position: relative; isolation: isolate; }
.cursor-lit::after { position: absolute; z-index: 0; inset: 0; border-radius: inherit; background: radial-gradient(circle 210px at var(--mx) var(--my), rgba(255,255,255,.16), var(--card-glow-soft,var(--blog-glow-soft,rgba(255,122,28,.08))) 35%, transparent 72%); content: ""; opacity: 0; pointer-events: none; transition: opacity .48s ease; mix-blend-mode: screen; }
.cursor-lit.is-pointer-over::after { opacity: 1; }
.cursor-lit > * { position: relative; z-index: 1; }
:focus-visible { outline: 3px solid white; outline-offset: 4px; }

.home-page main { position: relative; isolation: isolate; overflow-x: clip; }
.hero { position: relative; z-index: 2; min-height: 839px; overflow: visible; padding: 150px 0 100px; }
.hero::before { position: absolute; z-index: 1; inset: 0; content: ""; background: radial-gradient(circle at 50% 40%, rgba(10,4,16,.2), rgba(8,4,14,.82) 76%), linear-gradient(90deg, rgba(59,10,137,.5), transparent 38%, rgba(121,28,5,.4)); pointer-events: none; }
.hero::after { position: absolute; z-index: 1; inset: 0; content: ""; background: linear-gradient(180deg, rgba(8,4,14,.04), rgba(8,4,14,.08) 68%, rgba(9,5,16,.72) 100%); pointer-events: none; }
.hero-montage { position: absolute; z-index: 0; top: -130px; left: 50%; width: max-content; height: 1311px; display: grid; grid-template-columns: repeat(5, 300px); gap: 39px; opacity: .52; transform: translateX(-50%); filter: saturate(.82) brightness(.72); mask-image: linear-gradient(180deg,#000 0%,#000 60%,rgba(0,0,0,.62) 66%,transparent 74%); -webkit-mask-image: linear-gradient(180deg,#000 0%,#000 60%,rgba(0,0,0,.62) 66%,transparent 74%); pointer-events: none; }
.hero-spotlight { --spot-x: 50vw; --spot-y: 340px; position: absolute; z-index: 2; top: 0; left: 0; width: min(620px,56vw); aspect-ratio: 1; border-radius: 50%; opacity: 0; background: radial-gradient(circle, rgba(255,143,42,.11), rgba(109,34,255,.055) 38%, transparent 69%); -webkit-backdrop-filter: brightness(1.62) saturate(1.5) contrast(1.06); backdrop-filter: brightness(1.62) saturate(1.5) contrast(1.06); -webkit-mask-image: radial-gradient(circle, #000 0 36%, rgba(0,0,0,.88) 49%, rgba(0,0,0,.36) 64%, transparent 76%); mask-image: radial-gradient(circle, #000 0 36%, rgba(0,0,0,.88) 49%, rgba(0,0,0,.36) 64%, transparent 76%); transform: translate3d(calc(var(--spot-x) - 50%),calc(var(--spot-y) - 50%),0); transition: opacity .42s ease; will-change: transform, opacity; pointer-events: none; }
.hero.is-spotlight-active .hero-spotlight { opacity: 1; }
.montage-column { overflow: hidden; }
.montage-track { display: grid; align-content: start; gap: 39px; will-change: transform; animation: montage-up 48.2s linear infinite; }
.montage-column.is-down .montage-track { animation-name: montage-down; }
.montage-column img { width: 300px; height: 202px; max-width: none; object-fit: cover; border-radius: 3px; box-shadow: 0 18px 38px rgba(0,0,0,.38); }
.hero-logo-wrap { position: absolute; z-index: 48; top: 39px; left: 50%; width: 221px; height: 172px; display: grid; place-items: center; transform: translateX(-50%); animation: hero-logo-in .9s .2s both cubic-bezier(.22,1,.36,1); pointer-events: none; }
.hero-logo-orbit { position: absolute; inset: 0; width: 100%; height: 100%; animation: logo-float 7s ease-in-out infinite alternate; }
.hero-logo { position: relative; z-index: 2; width: 111px; height: auto; }
.hero-content { position: absolute; z-index: 3; top: 279px; right: 0; left: 0; max-width: 820px; margin: 0 auto; text-align: center; pointer-events: none; }
.hero-content a, .hero-content button { pointer-events: auto; }
.hero h1 { margin: 0; font-size: clamp(48px, 6.25vw, 78px); line-height: 1.04; letter-spacing: -.055em; text-wrap: balance; }
.hero-line { display: block; animation: hero-copy-in .95s both cubic-bezier(.22,1,.36,1); }
.hero-line:nth-child(2) { animation-delay: .12s; }
.hero-rotator { min-width: 5.15em; display: inline-grid; justify-items: start; vertical-align: bottom; text-align: left; }
.hero-word { grid-area: 1 / 1; opacity: 0; filter: blur(16px); transform: translate3d(0,.32em,0); transition: opacity .46s ease-in, filter .46s ease-in, transform .46s ease-in; will-change: opacity, filter, transform; }
.hero-word.is-active { opacity: 1; filter: blur(0); transform: translate3d(0,0,0); }
.hero-word.is-leaving { opacity: 0; filter: blur(16px); transform: translate3d(0,-.3em,0); }
.hero .button { min-width: 213px; min-height: 62px; margin-top: 78px; font-size: 18px; }
.hero-button { animation: hero-copy-in .95s .26s both cubic-bezier(.22,1,.36,1); }
.fruit-stage { --fall-a-x:-70px; --fall-a-y:420px; --fall-b-x:75px; --fall-b-y:420px; position: absolute; z-index: 3; width: var(--fruit-size); height: var(--fruit-size); margin: 0; padding: 0; border: 0; appearance: none; color: inherit; background: none; cursor: default; pointer-events: none; touch-action: manipulation; }
.fruit-rotation, .fruit-motion, .fruit-clip { width: 100%; height: 100%; display: block; }
.fruit-rotation { transform: rotate(var(--fruit-rotation)); }
.fruit-motion { will-change: transform; transform: translate3d(var(--fruit-local-x,0px),var(--fruit-local-y,0px),0) scale(var(--fruit-scale,1)); }
.fruit-clip { position: relative; overflow: visible; }
.fruit-whole-wrap, .fruit-piece { position: absolute; inset: 0; display: block; }
.fruit-whole-wrap { overflow: var(--fruit-overflow,visible); transition: filter .3s ease; }
.fruit-clip::before { position: absolute; z-index: 5; inset: 0; content: ''; cursor: pointer; pointer-events: auto; clip-path: var(--fruit-hit-shape); }
.fruit-stage:active .fruit-clip::before { cursor: grabbing; }
.fruit-stage.is-sliced .fruit-clip::before { pointer-events: none; }
.fruit-whole-wrap::after { content: ''; position: absolute; z-index: 2; top: 50%; left: -8%; width: 116%; height: 2px; border-radius: 99px; opacity: 0; background: linear-gradient(90deg,transparent,#fff 26%,#ffd56a 50%,#fff 74%,transparent); box-shadow: 0 0 7px #fff, 0 0 20px rgba(255,159,43,.82); transform: rotate(-35deg) scaleX(.12); pointer-events: none; animation: fruit-idle-slice 3.6s ease-in-out infinite; }
.fruit-cherries .fruit-whole-wrap::after { animation-delay: -1.2s; }
.fruit-watermelon .fruit-whole-wrap::after { animation-delay: -2.4s; }
.fruit-hints-dismissed .fruit-whole-wrap::after { display: none; }
.fruit-stage:hover .fruit-whole-wrap { filter: brightness(1.08) drop-shadow(0 0 13px rgba(255,141,44,.34)); }
.fruit-piece { visibility: hidden; overflow: hidden; opacity: 0; pointer-events: none; }
.fruit-piece-a { clip-path: polygon(0 0,100% 0,0 100%); transform-origin: 32% 34%; }
.fruit-piece-b { clip-path: polygon(100% 0,100% 100%,0 100%); transform-origin: 68% 66%; }
.fruit-slash { position: absolute; z-index: 4; top: 50%; left: -9%; width: 118%; height: 3px; display: block; border-radius: 99px; opacity: 0; background: linear-gradient(90deg,transparent 2%,#fff 24%,#fff5bf 50%,#fff 76%,transparent 98%); box-shadow: 0 0 8px #fff, 0 0 22px rgba(255,185,66,.95), 0 0 38px rgba(255,46,117,.62); transform: rotate(-35deg) scaleX(.12); pointer-events: none; }
.fruit-stage.is-sliced { pointer-events: none; }
.fruit-stage.is-sliced .fruit-whole-wrap { opacity: 0; }
.fruit-stage.is-sliced .fruit-piece { visibility: visible; opacity: 1; }
.fruit-stage.is-sliced .fruit-piece-a { animation: fruit-piece-a-fall 1.05s cubic-bezier(.2,.64,.28,1) both; }
.fruit-stage.is-sliced .fruit-piece-b { animation: fruit-piece-b-fall 1.05s cubic-bezier(.2,.64,.28,1) both; }
.fruit-stage.is-sliced.slice-reverse .fruit-piece-a { animation-name: fruit-piece-b-fall; }
.fruit-stage.is-sliced.slice-reverse .fruit-piece-b { animation-name: fruit-piece-a-fall; }
.fruit-stage.is-sliced .fruit-slash { animation: fruit-slash .31s ease-out both; }
.fruit-stage.is-sliced.slice-reverse .fruit-slash { animation-name: fruit-slash-reverse; }
.fruit-stage.is-respawning .fruit-whole-wrap { animation: fruit-respawn .42s cubic-bezier(.16,1,.3,1) both; }
.fruit { position: absolute; top: var(--fruit-image-top,0); left: var(--fruit-image-left,0); width: var(--fruit-image-size,100%); height: var(--fruit-image-size,100%); max-width: none; object-fit: cover; }
.fruit-lemon { --fruit-size:223px; --fruit-rotation:-44.75deg; --fruit-overflow:hidden; --fruit-image-size:126.67%; --fruit-image-left:-18.34%; --fruit-image-top:-10.05%; --fruit-hit-shape:polygon(4% 49%,9% 26%,25% 12%,49% 5%,72% 8%,91% 22%,97% 43%,94% 68%,80% 86%,56% 96%,30% 94%,12% 80%); --fall-a-x:-345px; --fall-a-y:249px; --fall-b-x:-242px; --fall-b-y:351px; top:52px; left:calc(50% - 381.5px); }
.fruit-cherries { --fruit-size:264.859px; --fruit-rotation:-126.8deg; --fruit-hit-shape:ellipse(48% 47% at 55% 55%); --fall-a-x:-295px; --fall-a-y:-308px; --fall-b-x:-381px; --fall-b-y:-192px; top:426.45px; left:calc(50% - 619.05px); }
.fruit-watermelon { --fruit-size:379.109px; --fruit-rotation:125deg; --fruit-hit-shape:polygon(9% 73%,20% 31%,29% 22%,46% 25%,62% 34%,74% 47%,80% 61%,81% 75%,73% 87%,59% 92%,29% 90%,15% 84%); --fall-a-x:384px; --fall-a-y:-184px; --fall-b-x:301px; --fall-b-y:-303px; top:377.39px; left:calc(50% + 175.125px); }
.brands { position: absolute; z-index: 3; right: 0; bottom: 66px; left: 0; overflow: hidden; color: rgba(255,255,255,.7); font-size: 20px; font-weight: 800; letter-spacing: -.03em; mask-image: linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); pointer-events: none; }
.brand-track { width: max-content; display: flex; animation: brands-marquee 30s linear infinite; will-change: transform; }
.brand-set { display: flex; align-items: center; gap: 64px; padding-right: 64px; }
.brand-set img { width: 170px; height: 54px; object-fit: contain; }

.section { position: relative; z-index: 2; padding: clamp(72px, 6vw, 88px) 0; background: rgba(9,5,16,.7); }
.section + .section { padding-top: 56px; }
.section-heading { max-width: 850px; margin: 0 auto 42px; font-size: clamp(38px, 5.4vw, 62px); line-height: 1.08; letter-spacing: -.045em; text-align: center; text-wrap: balance; }
.section-copy { max-width: 760px; margin: -20px auto 46px; color: var(--muted); font-size: 18px; line-height: 1.7; text-align: center; }
.services-section { position: relative; padding-top: 92px; }
.services-section .section-heading { margin-bottom: 42px; }
.services-section .service-label { margin-top: 166px; }
.services-section .service-card h3 { min-height: 69px; }
.services-section .service-link { margin-top: auto; }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: stretch; padding-bottom: 0; }
.service-card { position: relative; min-height: 530px; overflow: visible; display: flex; flex-direction: column; margin-top: 64px; padding: 32px; border: 1px solid rgba(255,142,34,.26); border-radius: var(--radius); background: radial-gradient(circle at var(--mx,12%) var(--my,2%), rgba(255,105,0,.34), transparent 39%), radial-gradient(circle at 90% 82%, rgba(88,21,255,.46), transparent 43%), #110919; text-decoration: none; box-shadow: 0 24px 60px rgba(0,0,0,.22); transition: translate .72s cubic-bezier(.16,1,.3,1), box-shadow .72s ease, border-color .58s ease; }
.service-card:hover { translate: 0 -5px; border-color: rgba(255,157,55,.56); box-shadow: 0 34px 86px rgba(55,8,112,.38), 0 10px 34px rgba(255,81,16,.11), inset 0 1px 0 rgba(255,255,255,.08); }
.service-card::before { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(180deg, transparent, rgba(8,4,14,.92)); content: ""; pointer-events: none; }
.service-card .service-art { position: absolute; z-index: 2; top: -64px; left: 3%; width: 94%; height: 250px; object-fit: contain; opacity: 1; mix-blend-mode: normal; transition: transform .86s cubic-bezier(.16,1,.3,1); }
.service-card:hover .service-art { transform: none; }
.service-card > *:not(img) { position: relative; z-index: 3; }
/* Border motion stays behind the artwork (2) and card content (3). */
.service-card > .service-border-trace { position: absolute; z-index: 1; inset: -1px; padding: 2px; border-radius: inherit; opacity: 0; background: conic-gradient(from var(--service-trace-angle),transparent 0 57%,rgba(255,29,111,.2) 64%,#ff1d6f 70%,#ffc044 76%,#ff6a08 82%,transparent 91%); filter: drop-shadow(0 0 7px rgba(255,82,28,.62)); -webkit-mask: linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; }
.service-card.is-visible .service-border-trace { opacity: .82; animation: service-border-orbit 5.2s linear infinite; }
.service-card.is-visible:hover .service-border-trace { opacity: 1; filter: drop-shadow(0 0 11px rgba(255,69,35,.92)); animation-duration: 1.8s; }
.service-label { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: auto; color: #fff2ea; font-weight: 750; }
.service-label > span { color: #ff9c21; font-size: 22px; }
.service-label svg { display: block; fill: currentColor; }
.service-card h3 { margin: 20px 0 0; font-size: 29px; line-height: 1.18; letter-spacing: -.035em; text-align: center; }
.service-card p { color: var(--muted); line-height: 1.55; text-align: center; }
.service-link { width: 100%; min-height: 52px; margin-top: 20px; padding: 0 15px; border-radius: 9px; font-weight: 700; text-align: center; }
.services-page { background: var(--night); }
.services-page::before { display: none; }
.services-page .site-header { background: linear-gradient(180deg, rgba(8,4,14,.72), rgba(8,4,14,.08)); }
.services-overview { min-height: 872px; padding: 123px 0 80px; background: radial-gradient(circle at 0 18%, rgba(63,9,183,.52), transparent 34rem), radial-gradient(circle at 100% 11%, rgba(160,48,17,.48), transparent 35rem), var(--night); }
.services-overview .section-heading { height: 59px; margin-bottom: 71px; font-size: 48px; line-height: 1.23; }
.services-overview .service-grid { grid-template-columns: repeat(3, minmax(0, 360px)); justify-content: center; gap: 32px; }
.services-overview .service-card { min-height: 539px; padding: 20px; }
.services-overview .service-card .service-art { top: -64px; left: -1%; width: 102%; height: 250px; }
.services-overview .service-label { margin-top: 187px; transform: none; }
.services-overview .service-card h3 { min-height: 69px; }
.services-overview .service-link { margin-top: auto; }
.services-process { position: relative; z-index: 2; height: 794px; overflow: hidden; background: radial-gradient(circle at 0 54%, rgba(53,9,150,.3), transparent 27rem), radial-gradient(circle at 100% 0, rgba(151,48,16,.25), transparent 32rem), var(--night); }
.services-process > .section-heading { width: 100%; max-width: none; height: 92px; margin: 0; display: flex; align-items: center; justify-content: center; gap: .24em; font-size: 48px; line-height: 1.23; }
.services-process-scene { position: relative; width: min(100%, 1265px); height: 702px; margin-inline: auto; }
.services-process-path { position: absolute; z-index: 0; top: 42px; left: 7.17%; width: 85.73%; height: auto; clip-path: inset(0 calc(100% - var(--process-route-cut,0%)) 0 0); filter: brightness(1.35) saturate(1.28) drop-shadow(0 0 7px rgba(255,52,112,.72)) drop-shadow(0 0 18px rgba(255,121,22,.52)); will-change: clip-path; }
.services-process-orbits { position: absolute; z-index: 1; top: 312px; left: 50%; width: 0; height: 0; pointer-events: none; }
.services-process-orbits img { position: absolute; top: 50%; left: 50%; max-width: none; transform: translate(-50%,-50%); }
.services-process-orbits .orbit-outer { width: 379px; }
.services-process-orbits .orbit-middle { width: 302px; }
.services-process-orbits .orbit-inner { width: 211px; }
.services-process-character { position: absolute; z-index: 3; top: 212px; left: 29.03%; width: 530.6px; max-width: none; }
.services-process-node { position: absolute; z-index: 2; width: 255px; margin: 0; }
.services-process-art { position: relative; width: 255px; height: 255px; }
.services-process-diamond { position: absolute; top: 50%; left: 50%; width: 182px; height: 182px; border: 1px solid rgba(166,96,255,.15); border-radius: 18px; background: radial-gradient(circle at 100% 50%, rgba(101,6,243,.75), transparent 65%), radial-gradient(circle at 0 0, rgba(247,104,9,.72), transparent 62%), radial-gradient(circle at 0 100%, rgba(247,6,211,.46), transparent 62%), #1a0927; transform: translate(-50%,-50%) rotate(45deg); }
.services-process-art img { position: absolute; top: 50%; left: 50%; width: 255px; max-width: none; transform: translate(-50%,-50%); }
.process-discover .services-process-art img { width: 252px; }
.process-test .services-process-art img { width: 267px; }
.process-ideate .services-process-art img { width: 275px; }
.services-process-copy { position: relative; z-index: 4; width: 255px; margin-top: -34px; text-align: center; }
.services-process-copy h3 { margin: 0; color: #fdfcfe; font-size: 20px; line-height: 32px; }
.services-process-copy p { margin: 6px 0 0; color: rgba(253,252,254,.8); font-size: 16px; line-height: 25.6px; }
.services-process-node .services-process-diamond, .services-process-node .services-process-copy h3 { transition: border-color .5s ease, box-shadow .6s ease, filter .6s ease, color .5s ease; }
.services-process-node.is-route-active .services-process-diamond { border-color: rgba(255,146,47,.5); box-shadow: 0 0 22px rgba(255,87,19,.22),0 0 52px rgba(103,33,255,.22); filter: brightness(1.08) saturate(1.08); }
.services-process-node.is-route-active .services-process-copy h3 { color: #ffad39; }
.process-discover { top: 342px; left: 7.71%; }
.process-define { top: 44px; left: 21.15%; }
.process-ideate { top: 50px; left: 58.38%; }
.process-test { top: 335px; left: 71.82%; }
.services-page .site-footer { margin-top: 0; }
.problems-section { padding-top: 56px; }
.problem-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; }
.problem-card { overflow: hidden; border: 1px solid rgba(184,98,255,.24); border-radius: 18px; background: linear-gradient(135deg, rgba(255,81,21,.12), rgba(61,11,125,.18)), #12091b; box-shadow: 0 24px 60px rgba(0,0,0,.2); transition: box-shadow .72s ease, border-color .58s ease; }
.problem-card.cursor-lit::after { background: radial-gradient(circle 230px at var(--mx) var(--my), rgba(255,104,38,.2), rgba(126,39,255,.1) 42%, transparent 72%); mix-blend-mode: screen; }
.problem-card:hover { border-color: rgba(203,126,255,.52); box-shadow: 0 34px 84px rgba(44,7,91,.35), 0 10px 34px rgba(245,0,114,.1), inset 0 1px 0 rgba(255,255,255,.07); }
.problem-copy { padding: 36px 36px 20px; }
.tag { display: inline-flex; padding: 6px 10px; border-radius: 6px; color: #ffd8e7; background: rgba(245,0,114,.64); font-size: 13px; font-weight: 700; }
.problem-card h3 { margin: 24px 0 18px; font-size: clamp(27px, 3vw, 36px); line-height: 1.22; letter-spacing: -.035em; }
.problem-card p { color: var(--muted); font-size: 17px; line-height: 1.6; }
.problem-card > .problem-art { display: block; width: calc(100% - 48px); max-width: 444px; height: auto; aspect-ratio: 444 / 224; margin: 12px auto 0; object-fit: contain; }
.problem-card .problem-art { transition: filter .68s ease; }
.problem-card:hover .problem-art { filter: saturate(1.04) brightness(1.035); }
.problem-card .button { margin: 24px; width: calc(100% - 48px); }
.testimonial-viewport { overflow: hidden; padding: 78px 0 30px; mask-image: linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.testimonial-track { width: max-content; display: flex; align-items: flex-start; gap: 40px; padding-left: 40px; animation: testimonials-marquee 86.8s linear infinite; will-change: transform; }
.quote-card { position: relative; width: min(702px, calc(100vw - 80px)); height: 352px; min-height: 0; overflow: visible; display: flex; flex: 0 0 auto; flex-direction: column; padding: 32px 40px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: radial-gradient(circle at var(--mx,100%) var(--my,100%), rgba(94,26,255,.5), transparent 46%), radial-gradient(circle at 0 0, rgba(255,103,8,.35), transparent 40%), #150a20; box-shadow: 0 24px 60px rgba(0,0,0,.18); transition: box-shadow .72s ease, border-color .58s ease; }
.quote-card:hover { border-color: rgba(255,148,62,.5); box-shadow: 0 34px 80px rgba(40,6,84,.34), 0 10px 30px rgba(255,94,12,.08); }
.quote-card > *:not(.quote-art) { position: relative; z-index: 1; }
.quote-art { position: absolute; top: -68px; right: -2px; bottom: auto; height: 420px; width: auto; max-width: none; object-fit: contain; object-position: right bottom; opacity: .94; pointer-events: none; transition: transform .82s cubic-bezier(.16,1,.3,1), filter .68s ease; }
.quote-card:hover .quote-art { filter: brightness(1.04) saturate(1.03); }
.quote-card .tag { align-self: flex-start; }
.quote-card blockquote { max-width: 60%; margin: 18px 0; font-size: 20px; font-weight: 630; line-height: 1.43; }
.alphawin-testimonial .quote-card blockquote { padding: 0; border: 0; border-radius: 0; background: none; margin: 18px 0; }
.quote-card cite { margin-top: auto; padding-bottom: 48px; color: white; font-style: normal; font-weight: 750; }
.quote-card small { display: block; margin-top: 5px; color: var(--muted); font-weight: 500; }
.quote-card .quote-company-logo { position: absolute; z-index: 1; bottom: 34px; left: 40px; width: auto; height: auto; display: block; object-fit: contain; object-position: left center; }
.quote-card .logo-martin { width: 190px; max-height: 42px; }
.quote-card .logo-svetoslav { width: 128px; max-height: 28px; }
.quote-card .logo-desislava { width: 85px; max-height: 42px; }
.service-testimonial { padding-top: 100px; }
.service-testimonial .quote-card { margin-inline: auto; }
.case-research-steps { display: grid; gap: 16px; padding-left: 24px; }
.case-research-steps li { padding: 16px; border-left: 2px solid #ff870c; background: #190d27; }
.case-research-steps strong, .case-research-steps span { display: block; }
.case-study-link { text-align: center; font-size: 18px; }
.case-method-visuals { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin: 40px 0; }
.case-method-visuals figure { margin: 0; padding: 22px 16px; border: 1px solid #543265; border-radius: 20px; background: radial-gradient(ellipse at 50% 20%,#3a175c,transparent 72%),#140c20; text-align: center; }
.case-method-visuals img { display: block; width: 100%; height: 180px; object-fit: contain; margin: 0 auto 18px; }
.case-method-visuals strong,.case-method-visuals span { display: block; }
.case-method-visuals strong { color: #fff; font-size: 18px; }
.case-method-visuals span { margin-top: 8px; font-size: 16px; color: var(--muted); }
.case-deliverables { margin: 40px 0; padding: 32px; border: 1px solid #75405e; border-radius: 24px; background: radial-gradient(ellipse at 100% 0,#341650,transparent 70%),#140c20; }
.case-deliverables header h3 { margin: 8px 0 32px; color: #fff; }
.case-deliverables-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; position: relative; }
.case-deliverables-grid::before { content: ''; position: absolute; top: 58px; left: 12%; right: 12%; height: 2px; background: linear-gradient(90deg,#ff3388,#b479ff,#ffa52c); }
.case-deliverables-grid > div { min-width: 0; position: relative; }
.case-deliverables-grid h4 { margin: 22px 0 10px; color: #fff; font-size: 20px; line-height: 1.3; }
.case-deliverables-grid p { margin: 0; font-size: 16px; line-height: 1.6; }
.case-deliverables figcaption { border-top: 1px solid #4a2c50; padding-top: 22px; margin-top: 28px; color: var(--muted); font-size: 14px; }
.deliverable-symbol { width: 116px; height: 116px; margin: 0 auto; position: relative; border: 1px solid #8850a1; border-radius: 24px; background: #241030; box-shadow: 0 0 26px #70178033; }
.symbol-navigation { display: grid; grid-template-columns: repeat(3,1fr); align-content: center; gap: 20px 7px; padding: 20px; }
.symbol-navigation b { grid-column: 1/-1; width: 32px; height: 18px; justify-self: center; background: #ff3888; border-radius: 5px; }
.symbol-navigation i { height: 18px; border: 1px solid #f077a7; background: #652342; border-radius: 5px; }
.symbol-navigation::before { content: ''; position: absolute; top: 49px; left: 30px; right: 30px; height: 17px; border-top: 2px solid #ba6189; border-left: 2px solid #ba6189; border-right: 2px solid #ba6189; }
.symbol-path { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 14px; }
.symbol-path b { width: 18px; height: 18px; flex: 0 0 18px; border-radius: 50%; background: #bf88ff; box-shadow: 0 0 12px #aa66ff66; }
.symbol-path i { height: 2px; flex: 1; background: #bf88ff; position: relative; }
.symbol-path i::after { content: ''; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-top: 2px solid #bf88ff; border-right: 2px solid #bf88ff; transform: rotate(45deg); }
.symbol-discovery { display: grid; grid-template-columns: repeat(3,1fr); align-content: center; gap: 8px; padding: 20px; }
.symbol-discovery i { height: 26px; border-radius: 5px; border: 1px solid #855839; background: #432a26; }
.symbol-discovery i:nth-child(2) { background: #ff9d2c; border-color: #ffce8e; box-shadow: 0 0 16px #ff9d2c66; }
@media (max-width: 600px) {
  .case-method-visuals { grid-template-columns: 1fr; }
  .case-method-visuals figure { display: grid; grid-template-columns: 100px 1fr; gap: 14px; align-items: center; text-align: left; }
  .case-method-visuals img { height: 110px; margin: 0; }
  .case-deliverables { padding: 24px; }
  .case-deliverables-grid { grid-template-columns: 1fr; gap: 32px; }
  .case-deliverables-grid::before { display: none; }
  .case-deliverables-grid > div { padding-bottom: 24px; border-bottom: 1px solid #4a2c50; }
  .case-deliverables-grid > div:last-child { padding-bottom: 0; border-bottom: 0; }
}
@media (min-width: 761px) {
  .alphawin-testimonial .quote-card { width: 100%; }
}
@media (min-width: 761px) {
  .service-detail-page main .shell.article { max-width: var(--max); }
  .service-detail-page .process { max-width: none; }
  .service-detail-page .service-testimonial .quote-card { width: 100%; }
}
@media (max-width: 760px) {
  .service-testimonial .quote-card { padding-bottom: 90px; }
  .service-testimonial .quote-card cite { margin-top: 150px; }
}
.faq { max-width: var(--max); margin-inline: auto; }
.faq details { position: relative; margin-top: 14px; overflow: clip; border: 1px solid rgba(255,132,19,.17); border-radius: 14px; background: radial-gradient(circle at var(--mx,100%) var(--my,50%), rgba(255,112,0,.23), transparent 35%), radial-gradient(circle at 0 100%, rgba(245,0,114,.28), transparent 44%), #1b0d25; box-shadow: 0 14px 38px rgba(0,0,0,.1); transition: box-shadow .62s ease, border-color .5s ease; }
.faq details:hover { border-color: rgba(255,145,47,.38); box-shadow: 0 22px 52px rgba(43,7,88,.22); }
.faq details[open] { border-color: rgba(255,145,47,.34); box-shadow: 0 22px 54px rgba(43,7,88,.24),inset 0 0 34px rgba(255,74,22,.045); }
.faq summary { position: relative; padding: 28px 70px 28px 24px; list-style: none; cursor: pointer; font-size: 18px; font-weight: 700; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { position: absolute; right: 28px; top: 50%; width: 22px; height: 22px; color: var(--gold); background: linear-gradient(currentColor,currentColor) center/18px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 18px no-repeat; content: ""; filter: drop-shadow(0 0 8px rgba(255,139,30,.28)); transform: translateY(-50%) rotate(0); transition: transform .62s cubic-bezier(.16,1,.3,1),background-size .38s ease,color .4s ease,filter .4s ease; }
.faq details[open]:not(.is-faq-closing) summary::after { background-size: 18px 2px,0 18px; transform: translateY(-50%) rotate(180deg); }
.faq details.is-faq-closing summary::after { background-size: 18px 2px,2px 18px; transform: translateY(-50%) rotate(0); }
.faq details:not([open]):hover summary::after { color: #ffbd55; filter: drop-shadow(0 0 11px rgba(255,139,30,.48)); transform: translateY(-50%) rotate(90deg) scale(1.06); }
.faq details[open]:not(.is-faq-closing):hover summary::after { color: #ffbd55; filter: drop-shadow(0 0 11px rgba(255,139,30,.48)); transform: translateY(-50%) rotate(180deg) scale(1.06); }
.faq details p { margin: -8px 24px 28px; color: #d7cbdc; line-height: 1.7; opacity: 0; filter: blur(8px); transform: translateY(-10px); transition: opacity .34s ease,filter .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1); }
.faq details[open]:not(.is-faq-closing) p { opacity: 1; filter: blur(0); transform: translateY(0); transition-delay: .08s; }
.faq details.is-faq-closing p { opacity: 0; filter: blur(8px); transform: translateY(-8px); transition-delay: 0s; }
.partner { position: relative; overflow: hidden; margin-top: 80px; padding: 42px; border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: linear-gradient(120deg, #5900ff, #d000bc 60%, #ff4d0d); box-shadow: 0 22px 60px rgba(87,0,255,.25); transition: box-shadow .72s ease, border-color .58s ease; }
.partner:hover { border-color: rgba(255,255,255,.3); box-shadow: 0 34px 82px rgba(87,0,255,.36), 0 12px 38px rgba(255,59,20,.16); }
.partner-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.hotjar { width: 238px; height: auto; }
.partner h3 { margin: 24px 0 0; font-size: 30px; }
.partner p { max-width: 900px; color: rgba(255,255,255,.82); font-size: 17px; line-height: 1.65; }
.partner-tools { overflow: hidden; margin: 30px -42px -42px; padding: 0 0 18px; mask-image: linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.partner-track { width: max-content; display: flex; gap: 8px; animation: tools-marquee 44s linear infinite; will-change: transform; }
.tool-set { display: flex; gap: 8px; }
.partner-tools span { width: 182px; min-height: 147px; display: flex; align-items: center; justify-content: center; flex-direction: column; padding: 6px; border-radius: 10px; background: rgba(255,255,255,.09); font-size: 13px; text-align: center; }
.partner-tools span img { width: 140px; height: 99px; object-fit: contain; }
.partner-tools span b { font-size: 14px; }

.inner-hero { position: relative; min-height: 470px; display: grid; align-items: center; overflow: hidden; padding: 104px 0 52px; isolation: isolate; }
.inner-hero::after { position: absolute; z-index: -1; inset: 0; content: ""; background: radial-gradient(circle at 74% 30%, rgba(239,29,74,.34), transparent 31rem), radial-gradient(circle at 15% 20%, rgba(80,15,230,.36), transparent 31rem), linear-gradient(180deg, rgba(9,5,16,.1), var(--night)); }
.inner-hero h1 { max-width: 900px; margin: 0; font-size: clamp(50px, 7vw, 86px); line-height: 1.02; letter-spacing: -.06em; text-wrap: balance; }
.inner-hero .lede { max-width: 780px; margin: 26px 0 0; color: #c9becf; font-size: 20px; line-height: 1.65; }
.inner-hero .button { margin-top: 34px; }
.service-detail-layout { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr); align-items: center; gap: 32px; }
.service-detail-copy { min-width: 0; }
.service-detail-hero h1 { font-size: clamp(44px, 5.4vw, 72px); }
.service-detail-art { display: block; width: 100%; max-width: 400px; height: auto; max-height: 430px; object-fit: contain; justify-self: center; }
@media (max-width: 760px) {
  .service-detail-layout { grid-template-columns: 1fr; gap: 28px; }
  .service-detail-art { width: min(100%, 330px); max-height: 270px; }
}
.content-section { padding: 72px 0; }
.inner-hero + .section, .inner-hero + .content-section { padding-top: 64px; }
.content-section + .content-section { padding-top: 36px; }
.content-grid { display: grid; grid-template-columns: minmax(230px,.68fr) minmax(0,1.5fr); gap: 72px; }
.content-grid h2, .content-section > .shell > h2:not(.section-heading) { margin: 0; font-size: clamp(36px, 4.6vw, 56px); line-height: 1.08; letter-spacing: -.045em; }
.prose { color: #c4bac9; font-size: 17px; line-height: 1.75; }
.prose p:first-child { margin-top: 0; }
.prose strong { color: white; }
.feature-list { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 42px; }
.feature { position: relative; overflow: hidden; min-height: 170px; padding: 26px; border: 1px solid rgba(255,255,255,.11); border-radius: 14px; background: radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(126,40,255,.18), transparent 46%), linear-gradient(145deg, rgba(255,92,11,.08), rgba(89,19,255,.08)); box-shadow: 0 18px 44px rgba(0,0,0,.1); transition: box-shadow .68s ease, border-color .54s ease; }
.feature:hover { border-color: rgba(255,139,49,.37); box-shadow: 0 26px 62px rgba(43,7,88,.25); }
.feature h3 { margin: 0 0 12px; font-size: 20px; }
.feature p { margin: 0; color: var(--muted); line-height: 1.55; }
.video-review-feature { min-height: 176px; display: grid; grid-template-columns: 104px 1fr; align-items: center; gap: 22px; padding: 24px 30px 24px 20px; }
.video-review-icon { width: 104px; height: 104px; display: block; object-fit: contain; filter: drop-shadow(0 12px 25px rgba(26,5,52,.34)); transition: filter .58s ease; }
.video-review-feature:hover .video-review-icon { filter: brightness(1.06) saturate(1.06) drop-shadow(0 15px 31px rgba(83,22,151,.42)); }
.video-review-feature h3 { margin-bottom: 9px; }
.culture-card { min-height: 190px; display: grid; grid-template-columns: 112px 1fr; gap: 22px; align-items: center; padding: 22px 30px 22px 20px; }
.culture-icon { width: 112px; height: 112px; display: block; object-fit: contain; filter: drop-shadow(0 12px 24px rgba(26,5,52,.32)); transition: filter .58s ease; }
.culture-card:hover .culture-icon { filter: brightness(1.05) saturate(1.05) drop-shadow(0 14px 28px rgba(63,13,111,.38)); }
.culture-card h3 { margin-bottom: 9px; }
.founder-card { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(340px,.9fr) minmax(0,1.1fr); border: 1px solid rgba(175,80,255,.24); border-radius: 18px; background: radial-gradient(circle at var(--mx,0%) var(--my,0%), rgba(101,27,255,.32), transparent 46%), linear-gradient(135deg, rgba(255,80,18,.08), rgba(53,10,102,.2)), #160a21; box-shadow: 0 24px 62px rgba(0,0,0,.17); transition: box-shadow .72s ease, border-color .58s ease; }
.founder-card:hover { border-color: rgba(198,116,255,.46); box-shadow: 0 34px 82px rgba(43,7,88,.31); }
.founder-portrait { position: relative; min-height: 390px; overflow: hidden; background: #160735; }
.founder-portrait img { position: absolute; display: block; transition: filter .72s ease; }
.founder-portrait .founder-backdrop { top: 10%; left: 0; width: 100%; height: auto; object-fit: contain; }
.founder-portrait .founder-photo { bottom: 0; left: 50%; width: auto; max-width: none; height: 100%; object-fit: contain; transform: translateX(-50%); }
.founder-card:hover .founder-portrait img { filter: brightness(1.035) saturate(1.03); }
.founder-copy { align-self: center; padding: 44px; }
.founder-copy h2 { margin: 0 0 24px; font-size: clamp(36px,4vw,52px); line-height: 1.08; letter-spacing: -.045em; }
.method-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 54px; }
.method-card { min-height: 315px; padding: 22px; border: 1px solid rgba(255,112,18,.2); border-radius: 12px; background: radial-gradient(circle at var(--mx,70%) var(--my,100%), rgba(113,38,255,.36), transparent 44%), #14091e; box-shadow: 0 20px 48px rgba(0,0,0,.14); transition: box-shadow .72s ease, border-color .58s ease; }
.method-card:hover { border-color: rgba(255,132,40,.47); box-shadow: 0 28px 66px rgba(48,7,99,.32), 0 8px 26px rgba(255,99,15,.08); }
.method-card img { width: 100%; height: 138px; object-fit: contain; }
.method-card img { transition: transform .82s cubic-bezier(.16,1,.3,1), filter .68s ease; }
.method-card:hover img { filter: brightness(1.055) saturate(1.04); }
.method-card h3 { margin: 14px 0 9px; font-size: 19px; }
.method-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.process { position: relative; max-width: 800px; margin: 48px auto 0; }
.process::before { position: absolute; top: 10px; bottom: 10px; left: 21px; width: 1px; border-left: 1px dashed #bf7af8; content: ""; }
.process-progress { position: absolute; z-index: 1; top: 10px; bottom: 10px; left: 20px; width: 4px; border-radius: 99px; background: linear-gradient(180deg,#ff1971,#ff7208 55%,#ffd15a); box-shadow: 0 0 8px rgba(255,35,107,.78),0 0 18px rgba(255,123,12,.48); transform: scaleY(var(--process-progress,0)); transform-origin: top; will-change: transform; }
.process-step { position: relative; display: grid; grid-template-columns: 44px 1fr; gap: 22px; margin-top: 20px; }
.process-number { z-index: 1; width: 44px; height: 44px; display: grid; place-items: center; border: 7px solid var(--night); border-radius: 50%; color: #281232; background: #d597ff; font-size: 13px; font-weight: 800; }
.process-number, .process-card { transition: translate .68s cubic-bezier(.16,1,.3,1), transform .68s cubic-bezier(.16,1,.3,1), box-shadow .68s ease, border-color .54s ease, background .54s ease, color .54s ease; }
.process-step.is-process-active .process-number { color: #fff; background: linear-gradient(145deg,#ff1971,#ff870c); box-shadow: 0 0 0 4px rgba(255,100,19,.12),0 0 20px rgba(255,60,74,.62); transform: scale(1.08); }
.process-step.is-process-active .process-card { border-color: rgba(255,146,52,.36); box-shadow: 0 22px 58px rgba(45,8,86,.25), inset 0 1px rgba(255,255,255,.08); }
.process-card { position: relative; min-height: 112px; overflow: hidden; display: grid; grid-template-columns: 84px 1fr; gap: 20px; align-items: center; padding: 20px 28px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: linear-gradient(135deg,rgba(109,59,143,.34),rgba(64,41,82,.74)); box-shadow: 0 12px 30px rgba(0,0,0,.14),inset 0 1px rgba(255,255,255,.06); transition: box-shadow .68s ease, border-color .54s ease; }
.process-card.cursor-lit::after { background: radial-gradient(circle 240px at var(--mx) var(--my),rgba(195,139,255,.22),rgba(255,119,45,.08) 42%,transparent 72%); mix-blend-mode: screen; }
.process-card:hover { border-color: rgba(213,151,255,.38); box-shadow: 0 18px 42px rgba(42,8,83,.24),inset 0 1px rgba(255,255,255,.08),inset 0 0 24px var(--card-glow-soft); }
.process-card img { width: 72px; height: 72px; object-fit: contain; transition: transform .76s cubic-bezier(.16,1,.3,1), filter .62s ease; }
.process-card:hover img { filter: brightness(1.06) saturate(1.04); }
.process-card h3 { margin: 0; font-size: 17px; }
.process-card p { margin: 4px 0 0; color: #b8acbf; line-height: 1.5; }
.contact-panel { display: grid; grid-template-columns: 1.15fr .85fr; gap: 38px; }
.booking-card { position: relative; isolation: isolate; overflow: hidden; padding: 42px; border: 1px solid rgba(255,142,51,.3); border-radius: 22px; background: radial-gradient(circle at 100% 0, rgba(255,91,10,.34), transparent 36%), radial-gradient(circle at 0 100%, rgba(93,24,255,.46), transparent 50%), linear-gradient(145deg,#18091f 0%,#100717 72%); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 24px 70px rgba(35,4,65,.32); }
.booking-card { transition: box-shadow .72s ease, border-color .58s ease; }
.booking-card:hover { border-color: rgba(255,157,72,.47); box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 34px 86px rgba(48,6,91,.4), 0 12px 34px rgba(255,85,14,.09); }
.booking-card::before { position: absolute; z-index: -1; top: -90px; right: -70px; width: 220px; height: 220px; border-radius: 50%; background: rgba(255,54,44,.2); filter: blur(52px); content: ""; pointer-events: none; }
.booking-card::after { position: absolute; top: 0; right: 20%; left: 20%; height: 1px; background: linear-gradient(90deg,transparent,#ff972f,transparent); box-shadow: 0 0 22px rgba(255,111,14,.85); content: ""; pointer-events: none; }
.booking-card h2 { max-width: 560px; margin: 0 0 14px; font-size: clamp(42px,5vw,60px); line-height: .98; letter-spacing: -.05em; }
.booking-card > p { max-width: 520px; margin: 0 0 28px; color: #cdbfd3; font-size: 17px; line-height: 1.5; }
.booking-card ul { display: grid; gap: 10px; margin: 0 0 28px; padding: 0; list-style: none; color: #eee6f1; }
.booking-card li { min-height: 54px; display: grid; grid-template-columns: 32px 1fr; gap: 12px; align-items: center; padding: 10px 14px 10px 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.045); line-height: 1.35; }
.booking-card li::before { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: white; background: linear-gradient(145deg,#ff176b,#ff7400); box-shadow: 0 6px 18px rgba(255,66,25,.28); content: "✓"; font-size: 15px; font-weight: 900; }
.booking-card .button { min-width: 240px; min-height: 58px; }
.contact-list { display: grid; gap: 16px; }
.contact-item { padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(128,45,255,.18), transparent 45%), rgba(255,255,255,.04); text-decoration: none; box-shadow: 0 18px 42px rgba(0,0,0,.12); transition: translate .68s cubic-bezier(.16,1,.3,1), box-shadow .68s ease, border-color .54s ease; }
.contact-item:hover { translate: 0 -4px; border-color: rgba(255,134,43,.4); box-shadow: 0 26px 60px rgba(45,8,89,.28); }
.contact-item strong { display: block; margin-bottom: 8px; transition: color .4s ease, transform .58s cubic-bezier(.16,1,.3,1); }
.contact-item:hover strong { color: #ffad42; transform: translateX(3px); }
.contact-item span { color: var(--muted); }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.blog-card { --blog-glow:rgba(104,37,255,.52); --blog-glow-soft:rgba(104,37,255,.3); overflow: hidden; border: 1px solid rgba(149,93,255,.3); border-radius: 16px; background: radial-gradient(circle at var(--mx,50%) var(--my,20%), var(--blog-glow-soft), transparent 48%),#150a1f; text-decoration: none; box-shadow: 0 22px 54px rgba(0,0,0,.17),0 0 32px var(--blog-glow); transition: translate .72s cubic-bezier(.16,1,.3,1), box-shadow .72s ease, border-color .58s ease; }
.blog-card:nth-child(2) { --blog-glow:rgba(255,44,111,.5); --blog-glow-soft:rgba(255,44,111,.28); }
.blog-card:nth-child(3) { --blog-glow:rgba(255,121,17,.48); --blog-glow-soft:rgba(255,121,17,.27); }
.blog-card:hover { translate: 0 -7px; border-color: rgba(255,183,78,.72); box-shadow: 0 38px 86px rgba(43,7,89,.42),0 0 42px 8px var(--blog-glow),inset 0 0 38px var(--blog-glow-soft); }
.blog-card .thumb { width: 100%; height: auto; display: block; object-fit: contain; background: transparent; transition: transform .86s cubic-bezier(.16,1,.3,1), filter .68s ease; }
.blog-card:hover .thumb { filter: brightness(1.055) saturate(1.06); }
.blog-copy { padding: 24px; transition: transform .72s cubic-bezier(.16,1,.3,1); }
.blog-card:hover .blog-copy { transform: translateY(-2px); }
.blog-card h2, .blog-card h3 { margin: 0; font-size: 23px; line-height: 1.3; }
.blog-card p { color: var(--muted); line-height: 1.55; }

/* Carry the blog cards' coloured aura through the site's primary surfaces. */
:is(.service-card,.problem-card,.quote-card,.method-card,.feature,.contact-item,.booking-card,.founder-card) { --card-glow:rgba(104,37,255,.42); --card-glow-soft:rgba(104,37,255,.23); box-shadow: 0 22px 58px rgba(0,0,0,.2),0 0 31px var(--card-glow); }
:is(.service-card,.problem-card,.quote-card,.method-card,.feature,.contact-item,.booking-card,.founder-card):hover { box-shadow: 0 38px 86px rgba(43,7,89,.4),0 0 42px 7px var(--card-glow),inset 0 0 36px var(--card-glow-soft); }
.service-grid .service-card:nth-child(3n + 1),.problem-grid .problem-card:nth-child(3n + 1),.method-grid .method-card:nth-child(3n + 1),.feature-list .feature:nth-child(3n + 1),.contact-list .contact-item:nth-child(3n + 1),.process-step:nth-of-type(3n + 1) .process-card,.booking-card { --card-glow:rgba(255,121,17,.46); --card-glow-soft:rgba(255,121,17,.25); }
.service-grid .service-card:nth-child(3n + 2),.problem-grid .problem-card:nth-child(3n + 2),.method-grid .method-card:nth-child(3n + 2),.feature-list .feature:nth-child(3n + 2),.contact-list .contact-item:nth-child(3n + 2),.process-step:nth-of-type(3n + 2) .process-card,.quote-desislava { --card-glow:rgba(255,44,111,.47); --card-glow-soft:rgba(255,44,111,.26); }
.service-grid .service-card:nth-child(3n),.problem-grid .problem-card:nth-child(3n),.method-grid .method-card:nth-child(3n),.feature-list .feature:nth-child(3n),.contact-list .contact-item:nth-child(3n),.process-step:nth-of-type(3n) .process-card,.quote-martin,.founder-card { --card-glow:rgba(104,37,255,.48); --card-glow-soft:rgba(104,37,255,.27); }
.quote-svetoslav { --card-glow:rgba(255,121,17,.46); --card-glow-soft:rgba(255,121,17,.25); }
.process-step.is-process-active .process-card { border-color: color-mix(in srgb,var(--card-glow) 58%,rgba(255,255,255,.16)); box-shadow: 0 16px 38px rgba(35,6,72,.22),inset 0 1px rgba(255,255,255,.08),inset 0 0 26px var(--card-glow-soft); }
.home-page .section.cta-spotlight-section { position: relative; padding: 28px 0; background: none; }
.cta-spotlight-section::before { content: none; }
.cta-spotlight-section > .shell { position: relative; z-index: 1; }
.cta-spotlight-section .partner { margin-top: 0; box-shadow: none; transform: scale(.975); transition: transform .9s cubic-bezier(.16,1,.3,1),translate .72s cubic-bezier(.16,1,.3,1),border-color .58s ease; }
.cta-spotlight-section.cta-in-focus .partner { border-color: rgba(255,198,117,.58); box-shadow: none; transform: scale(1); }
.cta-spotlight-section .partner .button.secondary::before { z-index: 2; inset: -1px; display: block; padding: 1px; border: 0; border-radius: inherit; background: conic-gradient(from var(--cta-button-angle,0deg),#ff2473,#ff7b0a,#ffd15a,#761fff,#ff2473); -webkit-mask: linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: cta-button-edge 3.6s linear infinite; }
.article { max-width: 820px; margin-inline: auto; }
.article-header { padding: 148px 0 54px; background: radial-gradient(circle at 74% 25%, rgba(239,29,74,.3), transparent 30rem), radial-gradient(circle at 12% 18%, rgba(80,15,230,.35), transparent 30rem), var(--night); }
.article-header h1, .legal-header h1 { margin: 22px 0 18px; font-size: clamp(46px, 6.4vw, 78px); line-height: 1.04; letter-spacing: -.055em; text-wrap: balance; }
.service-back { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; margin-bottom: 16px; color: #cfc3d3; font-size: 15px; font-weight: 600; text-decoration: none; transition: color .25s ease; }
.service-back:hover { color: #ffac37; }
.article-back { color: #cfc3d3; text-decoration: none; }
.article-back:hover { color: white; }
.article-date, .article-author, .legal-date { color: #a99eaf; }
.article-author { margin-bottom: 0; }
.article-hero-image { width: 100%; height: auto; display: block; margin: 0 auto; border-radius: 18px; background: white; box-shadow: 0 34px 90px rgba(0,0,0,.32); }
.article-hero-image[src$="article-sesame-transparent.png"] { background: transparent; box-shadow: none; border-radius: 0; }
.sesame-case main { background: linear-gradient(180deg, #480995 0, #24113c 420px, #090510 1000px); }
.sesame-header { position: relative; z-index: 1; text-align: center; background: transparent; }
.sesame-header .shell.article { max-width: 1160px; }
.sesame-stage { position: relative; max-width: 1160px; isolation: isolate; }
.sesame-stage .sesame-devices { background: transparent; box-shadow: none; border-radius: 0; width: 100%; }
.sesame-decoration { position: absolute; pointer-events: none; z-index: 1; object-fit: contain; }
.sesame-lemon { width: 22%; left: -4%; top: -24%; transform: rotate(-25deg); }
.sesame-watermelon { width: 28%; right: -3%; top: -13%; transform: rotate(18deg); }
/* Keep centering independent of the scroll-reveal transform. */
.sesame-visual { width: min(1140px, calc(100vw - 48px)); margin: 64px 0; margin-left: calc(50% - min(570px, calc(50vw - 24px))); position: relative; }
.sesame-visual a, .sesame-visual picture { display: block; }
.sesame-visual img, .sesame-visual video { display: block; width: 100%; height: auto; object-fit: contain; background: transparent; border: 0; border-radius: 0; }
.sesame-visual a:focus-visible { outline: 2px solid #ffab21; outline-offset: 6px; }
.sesame-ui-film video { border-radius: 12px; }
@media (max-width: 760px) {
  .sesame-case main { background: linear-gradient(180deg, #480995 0, #211031 350px, #090510 700px); }
  .sesame-case .sesame-header h1 { font-size: clamp(30px, 8vw, 44px); }
  .sesame-stage { margin-top: 24px; }
  .sesame-lemon { top: -23%; width: 22%; left: -1%; }
  .sesame-watermelon { top: -14%; width: 25%; right: 0; }
  .sesame-visual { width: 100%; margin: 36px 0; left: auto; transform: none; }
  .sesame-visual picture img { height: auto; }
}
.article-page .article-hero-image { margin-top: 54px; }
.article-body h2 { margin-top: 60px; font-size: 34px; }
.article-body h3 { margin: 38px 0 8px; font-size: 22px; }
.article p, .article li { color: #c4bac9; font-size: 17px; line-height: 1.78; }
.article strong { color: #f8f5fa; }
.article ul, .article ol { display: grid; gap: 10px; padding-left: 24px; }
.article blockquote { margin: 34px 0; padding: 24px 28px; border-left: 3px solid #ff6f00; border-radius: 0 12px 12px 0; background: linear-gradient(135deg, rgba(245,0,114,.1), rgba(89,19,255,.12)); }
.article blockquote p { margin: 0; color: white; font-size: 20px; }
.article blockquote cite { display: block; margin-top: 14px; color: #aa9caf; font-style: normal; }
.article a { color: #ff9d2d; }
.legal-header { padding: 148px 0 48px; border-bottom: 1px solid rgba(255,255,255,.06); background: radial-gradient(circle at 18% 20%, rgba(80,15,230,.28), transparent 28rem), var(--night); }
.legal-header h1 { margin-bottom: 14px; }
.legal-date { margin: 0; }
.policy-list { margin: 28px 0; padding: 0 !important; counter-reset: policy; list-style: none; }
.policy-list li { position: relative; padding: 22px 24px 22px 68px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.035); counter-increment: policy; }
.policy-list li::before { position: absolute; top: 21px; left: 22px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #1a0b21; background: #d497ff; content: counter(policy); font-size: 13px; font-weight: 800; }
.policy-list strong, .policy-list span { display: block; }
.policy-list span { margin-top: 5px; color: #b9aebf; }
.coming-soon { min-height: 100vh; display: grid; place-items: center; text-align: center; }
.coming-soon h1 { margin: 0; font-size: clamp(70px, 13vw, 170px); letter-spacing: -.08em; }
.coming-soon p { color: var(--gold); font-size: 18px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }

.site-footer { margin-top: 48px; padding: 72px 0 28px; border-top: 1px solid rgba(255,255,255,.06); background: #100619; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; }
.footer-brand p { color: var(--muted); }
.footer-logo { width: 120px; height: auto; }
.linkedin-link { display: inline-flex; align-items: center; gap: 9px; margin-top: 12px; color: #c6bccb; text-decoration: none; }
.linkedin-link img { width: 24px; height: 24px; }
.footer-col h2 { margin: 0 0 20px; font-size: 16px; }
.footer-col a { display: block; margin-top: 15px; color: #c6bccb; text-decoration: none; transition: color .4s ease, transform .58s cubic-bezier(.16,1,.3,1), text-shadow .4s ease; }
.footer-col a:hover { color: white; transform: translateX(3px); text-shadow: 0 0 18px rgba(255,126,49,.24); }
.copyright { margin: 54px 0 0; padding-top: 20px; border-top: 1px solid var(--line); color: #817688; font-size: 13px; }
.motion-ready [data-reveal] { opacity: 0; filter: blur(34px); transform: translate3d(0,38px,0) scale(.985); will-change: opacity, filter, transform; }
.motion-ready [data-reveal].is-visible { animation: reveal-blur-in .48s var(--reveal-delay,0ms) ease-in both; }
.motion-ready .section-heading[data-reveal] { clip-path: inset(0 0 22% 0); filter: blur(40px); transform: none; }
.motion-ready .section-heading[data-reveal].is-visible { animation-name: reveal-heading-in; animation-duration: .52s; }
.motion-ready [data-reveal].reveal-complete { opacity: 1; filter: none; transform: none; animation: none; will-change: auto; }
.motion-ready .section-heading[data-reveal].reveal-complete { clip-path: inset(0); }

/* The original process choreography is one continuous, deliberately long reveal. */
.motion-ready .services-process:not(.process-is-visible) .services-process-character { opacity: 0; transform: translateY(50px) scale(.5); }
.motion-ready .services-process:not(.process-is-visible) .services-process-diamond { opacity: 0; transform: translate(-50%,-50%) translateY(50px) scale(.5) rotate(-134deg); }
.motion-ready .services-process:not(.process-is-visible) .services-process-art img { opacity: 0; transform: translate(-50%,-50%) scale(.5); }
.motion-ready .services-process:not(.process-is-visible) .services-process-copy { opacity: 0; }
.motion-ready .services-process:not(.process-is-visible) .services-process-orbits img { opacity: 0; transform: translate(-50%,-50%) scale(.5); }
.motion-ready .services-process:not(.process-is-visible) .services-process-path { opacity: 0; }
.motion-ready .services-process:not(.process-is-visible) .process-test { opacity: 0; }

.motion-ready .services-process.process-is-visible .services-process-character { animation: process-character-in 1s cubic-bezier(.39,.575,.565,1) both; }
.motion-ready .services-process.process-is-visible .process-discover .services-process-diamond { animation: process-diamond-in .62s cubic-bezier(.39,.575,.565,1) .4s both; }
.motion-ready .services-process.process-is-visible .process-discover .services-process-art img { animation: process-icon-pop .72s linear .5s both; }
.motion-ready .services-process.process-is-visible .process-discover .services-process-copy { animation: process-copy-in .58s cubic-bezier(.39,.575,.565,1) .7s both; }
.motion-ready .services-process.process-is-visible .process-define .services-process-diamond { animation: process-diamond-in .62s cubic-bezier(.39,.575,.565,1) .9s both; }
.motion-ready .services-process.process-is-visible .process-define .services-process-art img { animation: process-icon-pop .72s linear 1s both; }
.motion-ready .services-process.process-is-visible .process-define .services-process-copy { animation: process-copy-in .58s cubic-bezier(.39,.575,.565,1) 1s both; }
.motion-ready .services-process.process-is-visible .orbit-outer { animation: process-orbit-in .62s cubic-bezier(.39,.575,.565,1) 1.05s both; }
.motion-ready .services-process.process-is-visible .orbit-middle { animation: process-orbit-in .62s cubic-bezier(.39,.575,.565,1) 1.15s both; }
.motion-ready .services-process.process-is-visible .orbit-inner { animation: process-orbit-in .62s cubic-bezier(.39,.575,.565,1) 1.25s both; }
.motion-ready .services-process.process-is-visible .process-ideate .services-process-diamond { animation: process-diamond-in .62s cubic-bezier(.39,.575,.565,1) 1.35s both; }
.motion-ready .services-process.process-is-visible .process-ideate .services-process-art img { animation: process-icon-pop .72s linear 1.45s both; }
.motion-ready .services-process.process-is-visible .process-ideate .services-process-copy { animation: process-copy-in .58s cubic-bezier(.39,.575,.565,1) 1.45s both; }
.motion-ready .services-process.process-is-visible .process-test { animation: process-test-in .62s cubic-bezier(.39,.575,.565,1) 1.9s both; }
.motion-ready .services-process.process-is-visible .process-test .services-process-diamond { animation: process-diamond-in .62s cubic-bezier(.39,.575,.565,1) 1.9s both; }
.motion-ready .services-process.process-is-visible .process-test .services-process-art img { animation: process-icon-pop .72s linear 2s both; }
.motion-ready .services-process.process-is-visible .process-test .services-process-copy { animation: process-copy-in .58s cubic-bezier(.39,.575,.565,1) 2s both; }
.motion-ready .services-process.process-is-visible .services-process-path { animation: process-path-in .62s cubic-bezier(.39,.575,.565,1) 2.45s both; }

@keyframes loader-breathe { from { opacity: .72; transform: scale(.94); } to { opacity: 1; transform: scale(1.03); } }
@keyframes reveal-blur-in {
  0% { opacity: 0; filter: blur(34px); transform: translate3d(0,38px,0) scale(.985); }
  100% { opacity: 1; filter: blur(0); transform: translate3d(0,0,0) scale(1); }
}
@keyframes reveal-heading-in {
  0% { opacity: 0; clip-path: inset(0 0 22% 0); filter: blur(40px); transform: none; }
  100% { opacity: 1; clip-path: inset(0); filter: blur(0); transform: translate3d(0,0,0); }
}
@keyframes service-border-orbit { to { --service-trace-angle:360deg; } }
@keyframes cta-button-edge { to { --cta-button-angle:360deg; } }
@keyframes logo-float { from { transform: translateY(-3px) rotate(-1deg); } to { transform: translateY(4px) rotate(1deg); } }
@keyframes fruit-slash {
  0% { opacity: 0; transform: rotate(-35deg) scaleX(.12); }
  34% { opacity: 1; transform: rotate(-35deg) scaleX(1); }
  100% { opacity: 0; transform: rotate(-35deg) scaleX(1.08); }
}
@keyframes fruit-slash-reverse {
  0% { opacity: 0; transform: rotate(35deg) scaleX(.12); }
  34% { opacity: 1; transform: rotate(35deg) scaleX(1); }
  100% { opacity: 0; transform: rotate(35deg) scaleX(1.08); }
}
@keyframes fruit-piece-a-fall {
  0% { opacity: 1; transform: translate3d(0,0,0) rotate(0); }
  18% { opacity: 1; transform: translate3d(0,0,0) rotate(-7deg); }
  100% { opacity: 0; transform: translate3d(var(--fall-a-x),var(--fall-a-y),0) rotate(-42deg); }
}
@keyframes fruit-piece-b-fall {
  0% { opacity: 1; transform: translate3d(0,0,0) rotate(0); }
  18% { opacity: 1; transform: translate3d(0,0,0) rotate(7deg); }
  100% { opacity: 0; transform: translate3d(var(--fall-b-x),var(--fall-b-y),0) rotate(46deg); }
}
@keyframes fruit-idle-slice {
  0%, 62%, 100% { opacity: 0; transform: rotate(-35deg) scaleX(.12); }
  72% { opacity: .92; transform: rotate(-35deg) scaleX(1); }
  82% { opacity: 0; transform: rotate(-35deg) scaleX(1.08); }
}
@keyframes fruit-respawn {
  0% { opacity: 0; filter: blur(12px) brightness(1.35); transform: scale(.72); }
  100% { opacity: 1; filter: none; transform: scale(1); }
}
@keyframes hero-logo-in { from { opacity: 0; transform: translateY(-30px) scale(.75); } }
@keyframes hero-copy-in { from { opacity: 0; transform: translateY(70px); } to { opacity: 1; transform: none; } }
@keyframes montage-up { to { transform: translateY(calc(-50% - 19.5px)); } }
@keyframes montage-down { from { transform: translateY(calc(-50% - 19.5px)); } to { transform: translateY(0); } }
@keyframes brands-marquee { to { transform: translateX(-33.3333%); } }
@keyframes testimonials-marquee { to { transform: translateX(calc(-50% - 20px)); } }
@keyframes tools-marquee { to { transform: translateX(calc(-50% - 4px)); } }
@keyframes process-character-in { from { opacity: 0; transform: translateY(50px) scale(.5); } to { opacity: 1; transform: none; } }
@keyframes process-diamond-in { from { opacity: 0; transform: translate(-50%,-50%) translateY(50px) scale(.5) rotate(-134deg); } to { opacity: 1; transform: translate(-50%,-50%) rotate(45deg); } }
@keyframes process-icon-pop {
  0% { opacity: 0; transform: translate(-50%,-50%) scale(.5); }
  16% { opacity: 1; transform: translate(-50%,-50%) scale(1.16); }
  34% { opacity: 1; transform: translate(-50%,-50%) scale(1); }
  49% { opacity: .93; transform: translate(-50%,-50%) scale(.965); }
  65% { opacity: 1; transform: translate(-50%,-50%) scale(1.024); }
  80% { opacity: .986; transform: translate(-50%,-50%) scale(.993); }
  92% { opacity: 1; transform: translate(-50%,-50%) scale(1.002); }
  100% { opacity: 1; transform: translate(-50%,-50%); }
}
@keyframes process-copy-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes process-orbit-in { from { opacity: 0; transform: translate(-50%,-50%) scale(.5); } to { opacity: 1; transform: translate(-50%,-50%); } }
@keyframes process-test-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes process-path-in { from { opacity: 0; } to { opacity: 1; } }

@media (max-width: 900px) {
  body { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
  .site-header { position: fixed; top: auto; right: 0; bottom: max(7px, env(safe-area-inset-bottom, 0px)); left: 0; width: auto; padding-inline: 10px; border: 0; background: none; }
  .site-header .logo, .services-page .site-header .logo { display: none; }
  .mobile-page-logo { position: absolute; z-index: 49; top: 1px; left: 50%; width: 174px; height: 64px; display: grid; place-items: center; transform: translateX(-50%); }
  .mobile-page-logo img { width: 174px; height: auto; }
  .menu-button { display: none; }
  .header-inner, .home-page .header-inner { width: 100%; max-width: none; height: 72px; margin: 0; padding: 5px !important; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: linear-gradient(135deg,rgba(54,15,62,.94),rgba(39,10,51,.92)); box-shadow: 0 15px 36px rgba(0,0,0,.52), inset 0 1px rgba(255,255,255,.1); backdrop-filter: blur(16px) saturate(1.15); }
  .site-nav, .site-nav[data-open="true"] { position: static; width: 100%; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
  .site-nav a { width: 100%; min-width: 0; height: 62px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 0; border-radius: 10px; font-size: 11px; line-height: 1.08; }
  .nav-icon { width: 61px; height: 61px; max-width: none; display: block; object-fit: contain; margin: -14px 0 -7px; }
  .site-nav a:first-child .nav-icon { width: 53px; height: 53px; margin: -10px 0 -4px; }
  .nav-label { display: block; white-space: normal; text-align: center; }
  .site-nav a[aria-current="page"] { background: linear-gradient(115deg,#ff006e,#ff6511); box-shadow: 0 0 18px rgba(255,36,55,.34), inset 0 1px rgba(255,255,255,.22); }
  .site-nav a::after { display: none; }
  .hero { min-height: 640px; overflow: hidden; padding: 0; }
  .hero::before { background: radial-gradient(circle at 50% 38%, rgba(10,4,16,.05), rgba(8,4,14,.68) 78%), linear-gradient(90deg, rgba(59,10,137,.46), transparent 38%, rgba(121,28,5,.38)); }
  .hero-montage { grid-template-columns: repeat(5, 250px); gap: 24px; mask-image: none; -webkit-mask-image: none; }
  .hero-spotlight { display: none; }
  .montage-column img { width: 250px; height: 168px; }
  .hero-logo-wrap { top: -10px; width: 170px; height: 132px; }
  .hero-content { position: absolute; top: 122px; right: 0; left: 0; margin: 0 auto; }
  .hero h1 { font-size: clamp(34px,5.2vw,44px); letter-spacing: -.045em; }
  .hero-line { display: inline; }
  .hero .button { min-width: 205px; min-height: 61px; margin-top: 77px; }
  .fruit-lemon { --fruit-size:160px; top: 5px; left: -10px; }
  .fruit-watermelon { --fruit-size:194px; top: 151px; right: 46px; left:auto; }
  .fruit-cherries { --fruit-size:170px; top: 158px; bottom: auto; left: -46px; }
  .brands { bottom: 79px; font-size: 16px; }
  .brand-set { gap: 28px; padding-right: 28px; }
  .brand-set img { width: 140px; }
  .service-grid, .blog-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 410px; }
  .service-grid { padding-bottom: 0; }
  .service-card:nth-child(n) { margin-top: 64px; }
  .services-section .service-label { margin-top: auto; }
  .services-section .service-card h3 { min-height: 0; }
  .services-section .service-link { margin-top: 20px; }
  .problems-section, .section + .section { padding-top: 52px; }
  .problem-grid, .contact-panel, .content-grid { grid-template-columns: 1fr; }
  .method-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .services-overview { min-height: auto; padding: 94px 0 58px; }
  .services-overview .section-heading { height: auto; margin-bottom: 44px; font-size: clamp(40px, 7vw, 48px); }
  .services-overview .service-grid { grid-template-columns: minmax(0, 520px); }
  .services-overview .service-card { width: 100%; min-height: 410px; }
  .services-overview .service-label { margin-top: auto; }
  .services-overview .service-card h3 { min-height: 0; }
  .services-process { height: auto; padding: 64px 0 76px; overflow: hidden; }
  .services-process > .section-heading { height: auto; margin-bottom: 48px; padding-inline: 20px; font-size: clamp(38px, 7vw, 48px); }
  .services-process-scene { width: min(calc(100% - 28px), 620px); height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 42px 12px; }
  .services-process-path, .services-process-orbits, .services-process-character { display: none; }
  .services-process-node { position: relative; top: auto; left: auto; width: 100%; display: flex; align-items: center; flex-direction: column; }
  .services-process-art { width: min(255px, 42vw); height: min(255px, 42vw); }
  .services-process-diamond { width: min(182px, 30vw); height: min(182px, 30vw); border-radius: 14px; }
  .services-process-art img, .process-discover .services-process-art img, .process-test .services-process-art img, .process-ideate .services-process-art img { width: min(255px, 42vw); }
  .services-process-copy { width: 100%; margin-top: -22px; }
}

@media (max-width: 620px) {
  .shell { width: min(calc(100% - 40px), var(--max)); }
  .site-header { bottom: max(6px, env(safe-area-inset-bottom, 0px)); padding-inline: 10px; }
  .header-inner, .home-page .header-inner { width: 100%; height: 70px; margin-inline: 0; }
  .site-nav a { height: 60px; font-size: 11px; }
  .nav-icon { width: 61px; height: 61px; }
  .hero { min-height: 640px; }
  .hero-logo-wrap { top: -10px; width: 156px; height: 121px; transform: translateX(-50%); }
  .hero-content { top: 122px; max-width: 350px; margin: 0 auto; }
  .hero h1 { font-size: clamp(38px, 10.8vw, 44px); line-height: 1.12; }
  .hero-line, .hero-line:first-child .accent { display: block; }
  .hero-rotator { width: 100%; min-width: 0; display: grid; justify-items: center; text-align: center; }
  .hero-line:first-child .hero-word { display: block; }
  .hero .button { margin-top: 70px; }
  .hero-montage { left: -165px; right: -165px; opacity: .38; }
  .fruit-lemon { --fruit-size:150px; top: 5px; left: -22px; }
  .fruit-watermelon { --fruit-size:170px; top: 190px; right: -4px; }
  .fruit-cherries { --fruit-size:155px; top: 205px; bottom: auto; left: -48px; }
  .brands { bottom: 78px; font-size: 13px; }
  .brand-set { gap: 22px; padding-right: 22px; }
  .brand-set img { width: 108px; height: 38px; }
  .section { padding: 54px 0; }
  .services-section { padding-top: 30px; }
  .services-overview .section-heading { margin-bottom: 30px; }
  .section-heading, .services-section .section-heading { margin-bottom: 32px; font-size: clamp(34px, 9.5vw, 40px); }
  .service-grid { gap: 24px; }
  .service-card, .services-overview .service-card { min-height: 398px; overflow: visible; padding: 10px 16px 20px; border: 0; box-shadow: inset 0 0 0 1px rgba(255,142,34,.26),0 24px 60px rgba(0,0,0,.22),0 0 26px var(--card-glow); }
  .service-grid .service-card, .services-overview .service-grid .service-card { margin-top: 64px; }
  .service-card .service-art, .services-overview .service-card .service-art { z-index: 2; top: -64px; left: 8px; width: calc(100% - 16px); height: 228px; }
  .service-label { min-height: 24px; gap: 8px; font-size: 14px; line-height: 20px; }
  .service-label > span { width: 24px; height: 24px; display: grid; flex: 0 0 24px; place-items: center; font-size: 0; }
  .service-card h3 { margin-top: 6px; font-size: 20px; line-height: 28px; }
  .service-card p { margin: 6px 0 0; font-size: 14px; line-height: 1.45; }
  .services-overview .service-label { transform: none; }
  .services-overview .service-link, .services-section .service-link, .service-link { min-height: 51px; margin-top: 16px; }
  .problem-grid { gap: 26px; }
  .problem-copy { padding: 22px 20px 8px; }
  .problem-card h3 { margin: 18px 0 12px; font-size: 27px; }
  .problem-card p { margin: 0; font-size: 16px; line-height: 1.5; }
  .problem-card > .problem-art { width: calc(100% - 32px); height: auto; margin-inline: auto; }
  .problem-card .button { min-height: 52px; margin: 16px; width: calc(100% - 32px); }
  .testimonial-viewport { overflow: hidden; padding: 0; mask-image: none; }
  .testimonial-track { gap: 24px; padding: 37px 12px; animation: testimonials-marquee 42s linear infinite; }
  .quote-card { width: min(328px, calc(100vw - 40px)); height: auto; min-height: 486px; padding: 24px; gap: 8px; overflow: visible; border-radius: 16px; }
  .quote-card:nth-child(3n + 1) { transform: none; }
  .quote-card[aria-hidden="true"] { display: flex; }
  .quote-art { top: -43px; right: auto; bottom: auto; left: 50%; width: auto; height: 217px; max-width: none; object-fit: contain; object-position: center; opacity: 1; transform: translateX(-50%); }
  .quote-svetoslav .quote-art { top: -40px; height: 231px; }
  .quote-martin .quote-art { top: -42px; height: 187px; }
  .quote-card cite { order: 1; margin: 100px 0 0; padding-bottom: 0; font-size: 20px; line-height: 34px; text-align: center; }
  .quote-card small { margin-top: 4px; font-size: 14px; line-height: 20px; }
  .quote-card .tag { order: 2; align-self: center; margin-top: 7px; padding: 3px 8px; font-size: 14px; line-height: 20px; white-space: nowrap; }
  .quote-card blockquote { order: 3; max-width: none; margin: 9px 0 0; font-size: 18px; font-weight: 630; line-height: 1.4; text-align: left; }
  .quote-card .quote-company-logo { position: absolute; z-index: 1; bottom: 24px; left: 50%; display: block; width: auto; height: auto; object-fit: contain; transform: translateX(-50%); }
  .quote-card .logo-martin { width: 247px; max-height: 54px; }
  .quote-card .logo-svetoslav { width: 128px; max-height: 28px; }
  .quote-card .logo-desislava { width: 85px; max-height: 42px; }
  .faq summary { padding: 22px 58px 22px 20px; font-size: 16px; }
  .faq summary::after { right: 20px; }
  .faq details p { margin: -4px 20px 22px; font-size: 15px; line-height: 1.6; }
  .partner { padding: 26px 20px; }
  .partner-top { align-items: flex-start; flex-direction: column; }
  .hotjar { width: 210px; }
  .partner-tools { margin-right: -20px; margin-left: -20px; }
  .partner-tools span { width: 158px; }
  .inner-hero { min-height: auto; padding: 82px 0 34px; }
  .inner-hero + .section, .inner-hero + .content-section { padding-top: 28px; }
  .inner-hero .eyebrow { margin-bottom: 10px; font-size: 13px; }
  .inner-hero h1 { font-size: clamp(31px, 8.6vw, 38px); line-height: 1.08; letter-spacing: -.045em; }
  .inner-hero .lede { margin-top: 16px; font-size: 17px; line-height: 1.52; }
  .blog-page .inner-hero { padding-bottom: 18px; }
  .blog-page .inner-hero + .content-section { padding-top: 20px; }
  .content-section { padding: 48px 0; }
  .content-section + .content-section { padding-top: 24px; }
  .content-grid { gap: 24px; }
  .content-grid h2, .content-section > .shell > h2:not(.section-heading) { font-size: 34px; }
  .feature-list { gap: 14px; margin-top: 28px; }
  .feature { min-height: auto; padding: 22px; }
  .video-review-feature { min-height: 146px; grid-template-columns: 78px 1fr; gap: 16px; padding: 18px; }
  .video-review-icon { width: 78px; height: 78px; }
  .culture-card { min-height: 146px; grid-template-columns: 78px 1fr; gap: 16px; padding: 18px; }
  .culture-icon { width: 78px; height: 78px; }
  .founder-section { padding-top: 8px !important; }
  .founder-card { grid-template-columns: 1fr; }
  .founder-portrait { min-height: 0; aspect-ratio: 4 / 3; }
  .founder-copy { padding: 24px 22px 28px; }
  .founder-copy h2 { margin-bottom: 16px; font-size: 30px; }
  .founder-copy .prose { font-size: 16px; line-height: 1.62; }
  .feature-list, .method-grid { grid-template-columns: 1fr; }
  .process-step { grid-template-columns: 36px 1fr; gap: 12px; }
  .process::before { left: 17px; }
  .process-progress { left: 15px; }
  .scroll-progress { width: 3px; }
  .scroll-progress::after { width: 9px; height: 9px; }
  .process-number { width: 36px; height: 36px; border-width: 5px; }
  .process-card { grid-template-columns: 60px 1fr; padding: 16px; }
  .process-card img { width: 56px; height: 56px; }
  .booking-card { padding: 30px 22px 28px; border-radius: 20px; }
  .booking-card h2 { margin-bottom: 14px; font-size: 43px; }
  .booking-card > p { margin-bottom: 22px; font-size: 16px; }
  .booking-card ul { margin-bottom: 22px; }
  .booking-card li { min-height: 58px; padding: 10px; }
  .booking-card .button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .services-process { padding: 52px 0 64px; }
  .services-process > .section-heading { margin-bottom: 30px; font-size: 36px; }
  .services-process-scene { grid-template-columns: 1fr; gap: 26px; }
  .services-process-art { width: 200px; height: 200px; }
  .services-process-diamond { width: 142px; height: 142px; }
  .services-process-art img, .process-discover .services-process-art img, .process-test .services-process-art img, .process-ideate .services-process-art img { width: 200px; }
  .services-process-copy { max-width: 300px; }
  .article-header, .legal-header { padding: 82px 0 34px; }
  .article-header h1, .legal-header h1 { margin-top: 18px; font-size: clamp(36px, 10.2vw, 44px); line-height: 1.08; }
  .article-page .article-hero-image { margin-top: 26px; border-radius: 12px; }
  .article-body h2 { margin-top: 42px; font-size: 28px; }
  .article-body h3 { margin-top: 30px; font-size: 21px; }
  .article p, .article li { font-size: 16px; line-height: 1.68; }
  .article blockquote { margin: 26px 0; padding: 20px; }
  .alphawin-testimonial .quote-card blockquote { margin: 9px 0 0; }
  .article blockquote p { font-size: 18px; }
  .policy-list li { padding: 18px 18px 18px 58px; }
  .policy-list li::before { top: 17px; left: 16px; }
  .site-footer { margin-top: 24px; padding: 52px 0 24px; }
  .footer-grid { gap: 34px; }
  .copyright { margin-top: 38px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .motion-ready [data-reveal] { opacity: 1; clip-path: none; filter: none; transform: none; animation: none !important; will-change: auto; }
  .motion-ready .services-process * { opacity: 1 !important; animation: none !important; }
  .motion-ready .services-process .services-process-character { transform: none !important; }
  .motion-ready .services-process .services-process-diamond { transform: translate(-50%,-50%) rotate(45deg) !important; }
  .motion-ready .services-process .services-process-art img, .motion-ready .services-process .services-process-orbits img { transform: translate(-50%,-50%) !important; }
  .page-loader { display: none; }
}
.cr-promo-section { padding-block:28px; }
.cr-promo { --card-glow-soft:rgba(151,70,255,.16); position:relative; isolation:isolate; display:grid; grid-template-columns:160px minmax(0,1fr) 260px; align-items:center; gap:32px; padding:40px; border:1px solid #9b547e; border-radius:24px; background:radial-gradient(ellipse at 8% 60%,#6425c34d,transparent 46%),linear-gradient(110deg,#22102e,#180b22 60%,#2b1222); box-shadow:0 12px 50px #0004,0 0 30px #bf46701a; overflow:hidden; }
.cr-promo::before { content:''; position:absolute; inset:0 15% auto; height:1px; background:linear-gradient(90deg,transparent,#ffb56e,transparent); pointer-events:none; }
.cr-promo-visual { display:grid; place-items:center; }
.cr-calculator-art { display:block; width:180px; max-width:115%; height:auto; object-fit:contain; filter:drop-shadow(0 12px 22px #7026d94d); }
.cr-free-badge { display:inline-flex; padding:7px 11px; margin:0 0 16px; border:1px solid #ffbe76; border-radius:6px; background:linear-gradient(110deg,#ffc16e,#ff942f); color:#281108; font-size:12px; font-weight:850; letter-spacing:.13em; line-height:1; }
.cr-promo h2 { margin:0 0 16px; font-size:clamp(28px,3vw,38px); line-height:1.1; letter-spacing:-.04em; }
.cr-promo-copy { min-width:0; }
.cr-promo-copy > p { margin:0; max-width:450px; color:#cbbfd1; font-size:16px; line-height:1.6; }
.cr-promo-action { padding-left:28px; border-left:1px solid #e3b5d222; text-align:center; }
.cr-promo .button { display:flex; justify-content:center; align-items:center; gap:12px; width:100%; min-height:60px; margin:0; padding:16px 18px; font-size:16px; line-height:1.3; text-wrap:balance; white-space:normal; }
.cr-promo-note { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 16px; margin:18px 0 0; color:#bfb0c8; font-size:13px; line-height:1.5; }
.cr-promo-note span { white-space:nowrap; }
@media(min-width:761px) and (max-width:1050px) {
  .cr-promo { grid-template-columns:120px minmax(0,1fr); gap:22px 28px; padding:32px; }
  .cr-calculator-art { width:140px; }
  .cr-promo-action { grid-column:2; padding:0; border:0; text-align:left; }
  .cr-promo .button { width:fit-content; min-width:250px; }
  .cr-promo-note { justify-content:flex-start; margin-top:14px; }
}
@media(max-width:760px) {
  .cr-promo { grid-template-columns:1fr; gap:0; padding:28px 24px; border-radius:20px; }
  .cr-promo-visual { position:absolute; top:16px; right:17px; width:100px; height:100px; pointer-events:none; }
  .cr-calculator-art { width:100px; max-width:100%; }
  .cr-free-badge { margin:8px 0 60px; }
  .cr-promo h2 { font-size:clamp(28px,7.6vw,36px); margin-bottom:16px; }
  .cr-promo-copy > p { font-size:16px; }
  .cr-promo-action { border-left:0; border-top:1px solid #e3b5d222; padding:24px 0 0; margin-top:24px; }
  .cr-promo .button { min-height:56px; }
  .cr-promo-note { margin-top:16px; }
}
.service-grid.service-grid-preview { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 32px; max-width:1000px; margin-inline:auto; }
.service-grid-preview .service-card { min-height:480px; padding:28px 32px; }
.service-grid-preview .service-label { margin-top:170px; }
.service-grid-preview .service-card h3 { min-height:68px; }
.service-grid-preview .service-link { margin-top:auto; }
.service-grid-preview .service-card p { margin-bottom:26px; }
.service-grid-preview .calculator-service-card .service-art { width:220px; height:220px; left:calc(50% - 110px); top:-44px; }
.service-label > .tool-card-badge { padding:7px 12px; border:1px solid #ffc17e; border-radius:6px; background:linear-gradient(100deg,#ffc574,#ff982d); color:#2b1309; font-size:13px; letter-spacing:.09em; font-weight:850; }
@media(max-width:680px) { .service-grid.service-grid-preview { grid-template-columns:1fr; gap:32px; } .service-grid-preview .service-card { padding:26px; } }
.cr-promo.services-tool-preview { margin-top:40px; padding:28px 36px; grid-template-columns:140px minmax(0,1fr) 240px; gap:28px; }
.services-tool-preview .cr-calculator-art { width:140px; max-width:100%; }
.services-tool-preview .cr-free-badge { margin-bottom:12px; }
.services-tool-preview h3 { margin:0 0 12px; font-size:30px; line-height:1.15; letter-spacing:-.035em; }
@media(max-width:900px) { .cr-promo.services-tool-preview { grid-template-columns:110px minmax(0,1fr); } .services-tool-preview .cr-promo-action { grid-column:2; border:0; padding:0; } }
@media(max-width:600px) { .cr-promo.services-tool-preview { grid-template-columns:1fr; padding:26px; gap:20px; } .services-tool-preview .cr-promo-visual { position:static; width:110px; height:110px; } .services-tool-preview .cr-promo-action { grid-column:auto; margin:0; } }
