@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 .25s ease, visibility .25s 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/optimized/original-button-glow.webp?v=37a67db1cd8b') 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; }
.button-slot-size { display:block; visibility:hidden; line-height:1.4; padding-block:2px; pointer-events:none; }
.button-slot { position:absolute; inset:0; display:grid; overflow:hidden; line-height:1.4; padding-inline:inherit; pointer-events:none; }
.button-slot-out,.button-slot-in { grid-area:1 / 1; display:flex; align-items:center; justify-content:center; text-align:center; min-height:100%; }
.button-slot-in { visibility:hidden; transform:translateY(-100%); }
@keyframes button-slot-out { from { transform:translateY(0); } to { transform:translateY(100%); } }
@keyframes button-slot-in { from { transform:translateY(-100%); } to { transform:translateY(0); } }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .button:hover .button-slot-out,.service-card:hover .service-link .button-slot-out { animation:button-slot-out .5s cubic-bezier(.22,1,.36,1) both; }
  .button:hover .button-slot-in,.service-card:hover .service-link .button-slot-in { visibility:visible; animation:button-slot-in .5s cubic-bezier(.22,1,.36,1) both; }
}
@media(prefers-reduced-motion:no-preference) {
  .button:focus-visible .button-slot-out,.service-card:focus-visible .service-link .button-slot-out { animation:button-slot-out .5s cubic-bezier(.22,1,.36,1) both; }
  .button:focus-visible .button-slot-in,.service-card:focus-visible .service-link .button-slot-in { visibility:visible; animation:button-slot-in .5s cubic-bezier(.22,1,.36,1) both; }
}
.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: max(700px, 100vh); min-height: max(700px, 100dvh); 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: max(220px, calc(50% - 140px)); 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; overflow:visible; }
.hero-word { grid-area: 1 / 1; padding:.1em .08em .16em; margin:-.1em -.08em -.16em; overflow:visible; 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-reveal, .fruit-levitate, .fruit-rotation, .fruit-motion, .fruit-clip { width: 100%; height: 100%; display: block; }
/* Separate launch and float layers keep scroll parallax and slice physics intact. */
@media (prefers-reduced-motion: no-preference) {
  .motion-ready body:not(.reveals-ready) .fruit-reveal { visibility: hidden; }
  .reveals-ready .fruit-reveal { animation: fruit-launch 1.2s var(--fruit-launch-delay,.12s) both; }
  .reveals-ready .fruit-levitate { animation: fruit-levitate var(--fruit-float-duration,5.2s) calc(var(--fruit-launch-delay,.12s) + 1.2s) ease-in-out infinite; }
  .fruit-lemon { --fruit-launch-x:-12vw; --fruit-launch-delay:.12s; --fruit-float-duration:5.2s; }
  .fruit-cherries { --fruit-launch-x:-18vw; --fruit-launch-delay:.28s; --fruit-float-duration:6.1s; }
  .fruit-watermelon { --fruit-launch-x:18vw; --fruit-launch-delay:.42s; --fruit-float-duration:5.7s; }
  .fruit-stage.is-sliced .fruit-levitate, .bonus-locked .fruit-levitate { animation-play-state: paused; }
}
@keyframes fruit-launch {
  0% { opacity:0; transform:translate3d(var(--fruit-launch-x,0px),110svh,0) scale(.7); animation-timing-function:cubic-bezier(.16,.76,.24,1); }
  18% { opacity:1; }
  78% { opacity:1; transform:translate3d(0,-14px,0) scale(1.025); animation-timing-function:cubic-bezier(.42,0,.58,1); }
  100% { opacity:1; transform:translate3d(0,0,0) scale(1); }
}
@keyframes fruit-levitate {
  0%,100% { transform:translate3d(0,0,0); }
  25% { transform:translate3d(3px,-7px,0); }
  50% { transform:translate3d(0,-12px,0); }
  75% { transform:translate3d(-3px,-6px,0); }
}
.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; }
.service-grid .service-card:nth-child(3n + 1) { --service-base:#20140f; --service-accent:#ffb343; }
.service-grid .service-card:nth-child(3n + 2) { --service-base:#230f1b; --service-accent:#ff79ad; }
.service-grid .service-card:nth-child(3n) { --service-base:#170f2a; --service-accent:#bb94ff; }
.service-grid .service-card {
  background:radial-gradient(ellipse at 0 0,var(--card-glow-soft),transparent 62%),radial-gradient(ellipse at 100% 100%,var(--card-glow-soft),transparent 55%),var(--service-base);
  border-color:color-mix(in srgb,var(--service-accent) 32%,transparent);
}
.service-grid .service-card::before { background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--service-base) 85%,transparent)); }
.service-grid .service-card:hover { border-color:color-mix(in srgb,var(--service-accent) 60%,transparent); }
.service-grid .service-card .service-label > span { color:var(--service-accent); }
.service-grid .service-card .accent { color:var(--service-accent); background:none; }
.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), var(--card-glow), var(--card-glow-soft) 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-card { display:flex; flex-direction:column; }
.problem-copy { padding: 24px 24px 12px; flex:1; }
.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: 16px 0 12px; font-size: clamp(27px, 2.6vw, 32px); line-height: 1.22; letter-spacing: -.035em; }
.problem-card p { margin:0; color: var(--muted); font-size: 17px; line-height: 1.5; }
.problem-art-stage { display: grid; place-items: center; position: relative; isolation: isolate; overflow: hidden; width: calc(100% - 48px); aspect-ratio: 3 / 2; margin: 12px auto 0; border-radius: 16px; background: radial-gradient(ellipse at 48% 56%, rgba(112,39,229,.5), transparent 68%), radial-gradient(ellipse at 95% 100%, rgba(242,66,60,.16), transparent 62%), linear-gradient(145deg, #211039, #10091d 75%); box-shadow: inset 0 1px 0 rgba(210,171,255,.09); }
.problem-art-stage .problem-art { display: block; width: 100%; height: 100%; object-fit: contain; transform: scale(.96); }
.problem-card:nth-child(2) .problem-art-stage .problem-art { transform: scale(1.06); }
.problem-art-stage--composed { width:min(calc(100% - 48px),375px); flex:none; background: none; box-shadow: none; }
.problem-card .problem-art-stage--composed .problem-art,
.problem-card:nth-child(2) .problem-art-stage--composed .problem-art { object-fit: contain; transform: none; }
.problem-card .problem-art { transition: filter .68s ease; }
.problem-card:hover .problem-art { filter: saturate(1.04) brightness(1.035); }
.problem-card .button { margin: 16px 24px 24px; width: calc(100% - 48px); flex:none; }
.problem-grid .problem-card:first-child {
  background:radial-gradient(ellipse at 0 0,rgba(244,123,22,.24),transparent 75%),#23120f;
  border-color:rgba(255,161,64,.4);
  --card-glow:rgba(255,121,17,.32); --card-glow-soft:rgba(255,121,17,.16);
}
.problem-grid .problem-card:first-child .tag { color:#ffe0a6; background:#73370f; }
.problem-grid .problem-card:nth-child(2) {
  background:radial-gradient(ellipse at 0 0,rgba(130,68,239,.3),transparent 75%),#170e2b;
  border-color:rgba(166,119,255,.42);
  --card-glow:rgba(125,66,235,.34); --card-glow-soft:rgba(125,66,235,.18);
}
.problem-grid .problem-card:nth-child(2) .tag { color:#eee1ff; background:#56308b; }
.problem-grid .problem-card:nth-child(2) h3 .accent { background-image:linear-gradient(110deg,#d8b3ff,#a77bff); }
@media(min-width:761px) {
  .problem-grid { grid-template-columns:1fr; gap:24px; }
  .problem-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,42%); grid-template-rows:1fr auto; column-gap:24px; border-radius:24px; }
  .problem-copy { grid-column:1; grid-row:1; padding:20px 0 4px 28px; }
  .problem-card h3 { max-width:600px; margin:12px 0 8px; }
  .problem-card .problem-art-stage--composed { grid-column:2; grid-row:1 / 3; align-self:stretch; width:100%; max-width:none; min-height:0; aspect-ratio:auto; margin:0; border-radius:0; }
  .problem-card .problem-art-stage--composed .problem-art,
  .problem-card:nth-child(2) .problem-art-stage--composed .problem-art { position:absolute; inset:0; object-fit:contain; object-position:right center; }
  .problem-card .button { grid-column:1; grid-row:2; justify-self:start; width:auto; min-width:220px; margin:12px 0 20px 28px; }
}
.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 100% 100%, var(--card-glow), transparent 46%), radial-gradient(circle at 0 0, var(--card-glow-soft), transparent 40%), var(--quote-base,#160c24); box-shadow: 0 24px 60px rgba(0,0,0,.18); transition: box-shadow .72s ease, border-color .58s ease; }
.quote-card:hover { border-color: var(--card-glow); box-shadow: 0 34px 80px rgba(0,0,0,.34), 0 10px 30px var(--card-glow-soft); }
.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(185,160,215,.14); border-radius: 14px; background: radial-gradient(ellipse at var(--mx,100%) var(--my,50%), rgba(145,96,220,.075), transparent 55%), #15101d; box-shadow: 0 14px 38px rgba(0,0,0,.1); transition: background-color .5s ease, box-shadow .62s ease, border-color .5s ease; }
.faq details:hover { background-color: #1a1324; border-color: rgba(185,160,215,.27); box-shadow: 0 16px 38px rgba(0,0,0,.18); }
.faq details[open] { background-color: #1a1324; border-color: rgba(255,160,58,.3); box-shadow: 0 16px 38px rgba(0,0,0,.18); }
.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),.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),.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),.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); }
.quote-svetoslav { --quote-base:#24150d; }
.quote-martin { --quote-base:#180d2b; }
.quote-desislava { --quote-base:#280e19; }
.quote-card { box-shadow:0 18px 42px rgba(0,0,0,.2),0 0 22px color-mix(in srgb,var(--card-glow) 45%,transparent); }
.quote-card:hover { box-shadow:0 24px 50px rgba(0,0,0,.26),0 0 28px 2px color-mix(in srgb,var(--card-glow) 58%,transparent),inset 0 0 24px color-mix(in srgb,var(--card-glow-soft) 50%,transparent); }
.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 { --hero-copy-top: max(122px, calc(50% - 175px)); min-height: max(640px, 100vh); min-height: max(640px, 100dvh); 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: var(--hero-copy-top); 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: calc(var(--hero-copy-top) - 117px); left: -10px; }
  .fruit-watermelon { --fruit-size:194px; top: calc(var(--hero-copy-top) + 29px); right: 46px; left:auto; }
  .fruit-cherries { --fruit-size:170px; top: calc(var(--hero-copy-top) + 36px); bottom: auto; left: -46px; }
  .brands { bottom: 120px; 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 { display: block; height: auto; margin-bottom: 48px; padding-inline: 20px; font-size: clamp(38px, 7vw, 48px); text-wrap: balance; }
  .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; }
}

/* Keep the mobile three-line headline through tablet widths. */
@media (min-width: 621px) and (max-width: 1024px) {
  .hero-content { max-width: 560px; }
  .hero h1 { font-size: clamp(44px, 5.2vw, 54px); line-height: 1.12; }
  .hero-line { display: block; }
  .hero-rotator { width: 100%; min-width: 0; display: grid; justify-items: center; text-align: center; }
}
@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: max(640px, 100vh); min-height: max(640px, 100dvh); }
  .hero-logo-wrap { top: -10px; width: 156px; height: 121px; transform: translateX(-50%); }
  .hero-content { top: var(--hero-copy-top); 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: calc(var(--hero-copy-top) - 117px); left: -22px; }
  .fruit-watermelon { --fruit-size:170px; top: calc(var(--hero-copy-top) + 68px); right: -4px; }
  .fruit-cherries { --fruit-size:155px; top: calc(var(--hero-copy-top) + 83px); bottom: auto; left: -48px; }
  .brands { bottom: 120px; font-size: 13px; }
  .brand-set { gap: 22px; padding-right: 22px; }
  .brand-set img { width: 108px; height: 38px; }
  .section { padding: 28px 0; }
  .problems-section, .section + .section { padding-top: 28px; }
  .services-overview { padding-bottom: 28px; }
  .services-section { padding-top: 30px; }
  .services-overview .section-heading { margin-bottom: 30px; }
  .section-heading, .services-section .section-heading, .services-overview .section-heading { margin-bottom: 32px; font-size: clamp(28px, 8vw, 32px); }
  .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-art-stage { width: calc(100% - 32px); margin-inline: auto; border-radius: 12px; }
  .problem-art-stage--composed { width:min(calc(100% - 32px),375px); }
  .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 { display:flex; flex-direction:column; }
  .partner-top { display:contents; }
  .partner-actions { order:1; display:flex; flex-direction:column; gap:12px; width:100%; margin-top:20px; }
  .partner-actions a { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; margin:0; border-radius:12px; }
  .partner-actions a:first-child { border:1px solid rgba(255,255,255,.5); text-decoration:none; }
  .hotjar { width: 210px; }
  .partner-tools { margin-right: -20px; margin-left: -20px; margin-bottom:0; }
  .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(28px, 8vw, 32px); 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; }
  .inner-hero::after { -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%); mask-image:linear-gradient(to bottom,#000 0%,#000 55%,transparent 100%); }
  .blog-page .inner-hero + .content-section { padding-top: 20px; }
  .content-section { padding: 28px 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: clamp(28px, 8vw, 32px); }
  .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: 28px 0 32px; }
  .services-process > .section-heading { margin-bottom: 30px; font-size: clamp(28px, 8vw, 32px); }
  .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, .sesame-case .sesame-header h1 { margin-top: 18px; font-size: clamp(28px, 8vw, 32px); 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; }
}
@media(max-width:620px) {
  body p { font-size:14px !important; }
}

@media(max-width:620px) {
  .blog-grid { gap:20px; }
  .blog-card .thumb { height:auto; object-fit:contain; }
  .blog-card .blog-copy { padding:16px; }
  .blog-card h2, .blog-card h3 { font-size:20px; line-height:1.25; }
  .blog-card .blog-copy p { margin:10px 0 0; line-height:1.45; }
  .blog-card .blog-copy p:first-child { margin:0 0 8px; font-size:12px !important; letter-spacing:.06em; }
}

@media(max-width:620px) {
  .services-section { background:linear-gradient(to bottom,rgba(9,5,16,.7) 0%,rgba(9,5,16,.7) calc(100% - 140px),rgba(9,5,16,0) 100%); }
  .services-overview, .article-header, .legal-header { position:relative; isolation:isolate; background:transparent; border-bottom:0; }
  .services-overview::before, .article-header::before, .legal-header::before {
    content:""; position:absolute; z-index:-1; inset:0; pointer-events:none;
    -webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);
  }
  .services-overview::before { 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); }
  .article-header::before { 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); }
  .legal-header::before { background:radial-gradient(circle at 18% 20%,rgba(80,15,230,.28),transparent 28rem),var(--night); }
}

/* Compact mobile content; homepage hero and navigation remain unchanged. */
@media(max-width:620px) {
  .service-card, .services-overview .service-card { min-height:0; padding:110px 20px 20px; }
  .service-card .service-art, .services-overview .service-card .service-art { height:174px; top:-48px; }
  .service-grid .service-card, .services-overview .service-grid .service-card { margin-top:48px; }
  .services-section .service-label, .services-overview .service-label { margin-top:0; }
  .service-card p { font-size:16px; line-height:1.5; }
  .service-card h3 { line-height:1.2; margin-top:10px; }
  .service-detail-layout { grid-template-columns:minmax(0,1fr) 100px; gap:14px 8px; }
  .service-detail-copy { display:contents; }
  .service-detail-copy .service-back, .service-detail-copy .eyebrow,
  .service-detail-copy .lede, .service-detail-copy .button { grid-column:1 / -1; }
  .service-detail-copy .service-back { margin-bottom:4px; }
  .service-detail-copy .eyebrow { margin:0; }
  .service-detail-copy h1 { grid-column:1; grid-row:3; font-size:clamp(28px,7.5vw,34px); }
  .service-detail-art { grid-column:2; grid-row:3; width:120px; max-width:120px; max-height:155px; align-self:center; }
  .service-detail-copy .lede { margin:0; }
  .service-detail-copy .button { justify-self:start; margin-top:8px; }
  .video-review-feature { grid-template-columns:54px minmax(0,1fr); gap:12px; min-height:0; padding:20px; }
  .video-review-feature > div { display:contents; }
  .video-review-icon { width:54px; height:54px; }
  .video-review-feature h3 { margin:0; font-size:19px; }
  .video-review-feature p { grid-column:1 / -1; margin:0; font-size:16px; line-height:1.5; }
  .quote-card, .service-testimonial .quote-card { min-height:0; padding-bottom:24px; }
  .testimonial-track { align-items:stretch; }
  .testimonial-track .quote-card .quote-company-logo { margin-top:auto; }
  .testimonial-track .quote-card blockquote { margin-bottom:16px; }
  .quote-card cite, .service-testimonial .quote-card cite { margin-top:110px; font-size:18px; line-height:1.3; }
  .quote-card .quote-company-logo { position:static; order:4; align-self:center; transform:none; margin-top:16px; }
  .quote-card blockquote { font-size:17px; }
  .cr-promo { padding:22px 20px; }
  .cr-promo-visual { width:70px; height:70px; top:14px; right:14px; }
  .cr-calculator-art { width:70px; }
  .cr-free-badge { margin:0 0 24px; }
  .cr-promo h2 { padding-right:38px; font-size:28px; margin-bottom:12px; }
  .cr-promo-copy > p { line-height:1.45; }
  .cr-promo-action { border:0; margin-top:18px; padding:0; }
  .cr-promo-note { margin-top:10px; }
}
.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; } }
.hero.is-bonus-active > :is(.hero-content,.hero-logo-wrap,.fruit-stage,.brands) { visibility:hidden; pointer-events:none; }
.hero.is-bonus-entering { overflow:clip; }
.hero .bonus-falling,.site-header.bonus-falling { animation:bonus-panel-fall .75s var(--fall-delay,0ms) ease-in both; }
html.bonus-locked { overflow:hidden; overscroll-behavior:none; }
.bonus-locked body { position:fixed; top:var(--bonus-scroll,0px); left:0; right:0; overflow:hidden; }
.bonus-locked .hero { position:fixed; inset:0; width:100%; height:100dvh; min-height:0; padding:0; overflow:clip; z-index:49; overscroll-behavior:none; }
.bonus-locked .bonus-game { inset:env(safe-area-inset-top,0px) 8px 0; max-width:none; }
.bonus-locked main > :not(.hero),.bonus-locked body > footer { visibility:hidden; }
@keyframes bonus-panel-fall { 0% { opacity:1; translate:0 0; rotate:0deg; } 25% { opacity:1; translate:0 -12px; rotate:-3deg; } 100% { opacity:0; translate:0 650px; rotate:18deg; } }
.bonus-game.is-intro .bonus-hud,.bonus-game.is-intro .bonus-hint { visibility:hidden; }
.bonus-game.is-intro h2 { animation:bonus-title-in .7s cubic-bezier(.16,1,.3,1) both; }
@keyframes bonus-title-in { from { opacity:0; transform:translateY(35px) scale(.8); filter:blur(12px); } to { opacity:1; transform:none; filter:blur(0); } }
@media(prefers-reduced-motion:reduce) { .hero .bonus-falling,.bonus-game.is-intro h2 { animation:none; } .site-header.bonus-falling { animation:none; visibility:hidden; } }
.bonus-game { position:absolute; z-index:49; inset:28px 24px 130px; max-width:1144px; margin:0 auto; padding:0; border:0; color:#fff; overflow:hidden; background:transparent; }
.bonus-game[hidden] { display:none; }
.bonus-hud { position:absolute; z-index:5; top:0; left:0; right:0; padding:24px; display:flex; align-items:center; justify-content:space-between; gap:20px; background:transparent; }
.bonus-info-button { margin-left:auto; width:36px; height:36px; padding:0; border:1px solid #ffffff55; border-radius:50%; background:#21132ee6; color:#fff; font:700 22px Georgia,serif; cursor:pointer; }
.bonus-info-overlay[hidden] { display:none; }
.bonus-info-overlay { position:fixed; inset:0; z-index:30; display:grid; place-items:center; padding:20px; background:#080411c9; backdrop-filter:blur(10px); cursor:auto; }
.bonus-info-panel { position:relative; width:min(100%,510px); max-height:calc(100dvh - 40px); overflow:auto; padding:30px; border:1px solid #a864cf66; border-radius:24px; background:linear-gradient(145deg,#2b173b,#100a19); box-shadow:0 20px 80px #0008; }
.bonus-info-panel h2 { margin:0 40px 8px 0; color:#fff; font-size:28px; }
.bonus-info-panel p { margin:0 0 16px; color:#c9bbd6; font-size:14px; line-height:1.5; }
.bonus-info-close { position:absolute; right:18px; top:18px; width:36px; height:36px; border:1px solid #ffffff30; border-radius:10px; background:#ffffff0a; color:#fff; cursor:pointer; }
.bonus-info-panel ul { list-style:none; padding:0; margin:0; }
.bonus-info-panel li { display:flex; align-items:center; gap:14px; padding:10px 0; border-bottom:1px solid #ffffff0c; }
.bonus-info-panel li img { width:60px; height:60px; object-fit:contain; flex:none; }
.bonus-info-panel li strong { display:block; color:#fff; font-size:15px; }
.bonus-info-panel li em { display:block; font-size:13px; font-style:normal; color:#ffbc5c; margin:3px 0; }
.bonus-info-panel li span { font-size:13px; line-height:1.4; color:#bcb0c9; }
.bonus-info-panel .bonus-info-combo { margin:16px 0; color:#dfc0ff; }
.bonus-info-resume { width:100%; min-height:46px; border:0; border-radius:12px; background:linear-gradient(100deg,#ec288f,#8529e8); color:#fff; font-weight:750; cursor:pointer; }
.bonus-info-overlay.is-auto-pause ul,.bonus-info-overlay.is-auto-pause .bonus-info-combo { display:none; }
.bonus-info-overlay.is-auto-pause .bonus-info-panel { text-align:center; }
.bonus-info-overlay.is-auto-pause h2 { margin:12px 0; }
.bonus-loading-status[hidden],.bonus-loading-retry[hidden] { display:none; }
.bonus-loading-retry { pointer-events:auto; padding:12px 24px; border:1px solid #ffffff40; border-radius:12px; color:white; background:#812de3; font:inherit; cursor:pointer; }
@media(max-width:600px) { .bonus-info-overlay { padding:12px; } .bonus-info-panel { padding:22px 18px; max-height:calc(100dvh - 24px); } .bonus-info-panel li { gap:10px; padding:7px 0; } .bonus-info-panel li img { width:48px; height:48px; } }
.bonus-brand { font-size:22px; font-weight:900; font-style:italic; letter-spacing:-1px; }
.bonus-brand > span { color:#ff8b1f; }
.bonus-brand small { display:block; margin-top:4px; font-size:11px; font-weight:600; letter-spacing:3px; font-style:normal; color:#b5a7cd; }
.bonus-stats { display:flex; gap:40px; }
.bonus-stats > span:last-child { position:absolute; left:50%; transform:translateX(-50%); text-align:center; }
.bonus-stats > span { font-size:12px; letter-spacing:2px; color:#b5a7cd; }
.bonus-stats strong { display:block; font-size:36px; line-height:1.1; color:#fff; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.bonus-close { border:1px solid #ffffff35; background:#ffffff0b; color:white; width:44px; height:44px; border-radius:50%; cursor:pointer; }
.bonus-arena { position:absolute; inset:104px 0 0; overflow:hidden; touch-action:none; user-select:none; cursor:crosshair; }
.bonus-arena,.bonus-fruit { -webkit-user-select:none; -webkit-touch-callout:none; overscroll-behavior:none; }
/* Keep touch targets attached throughout the gesture: fruit is removed mid-slice. */
@media (any-pointer:coarse) { .bonus-arena * { pointer-events:none; } }
.bonus-message { position:absolute; z-index:4; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:100px 24px 60px; text-align:center; pointer-events:none; transition:opacity .25s; }
.bonus-message.is-hidden { opacity:0; visibility:hidden; }
.bonus-kicker { color:#ff942b; letter-spacing:4px; font-size:12px; font-weight:700; }
.bonus-message h2 { margin:20px 0; font-size:clamp(40px,7vw,96px); line-height:1.05; letter-spacing:-.05em; }
.bonus-message h2 em { font-style:normal; color:#ff8b1f; }
.bonus-title-logo { display:block; width:min(620px,76vw); max-height:55dvh; height:auto; object-fit:contain; margin-inline:auto; }
.bonus-message p { color:#c9bddb; max-width:480px; font-size:16px; }
.bonus-message .bonus-keyboard { font-size:13px; color:#9d8dae; }
.bonus-hint { position:absolute; bottom:12px; width:100%; text-align:center; font-size:11px; letter-spacing:2px; color:#b4a3cb; pointer-events:none; }
.bonus-fruit { position:absolute; top:0; left:0; border:0; padding:0; background:transparent; cursor:crosshair; will-change:transform; touch-action:none; }
.bonus-fruit img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; pointer-events:none; transition:transform .4s ease,opacity .4s; }
.bonus-fruit.bonus-star { filter:drop-shadow(0 4px 9px #ff950077); }
.bonus-star.is-exploded img { transform:scale(1.5); opacity:0; }
.bonus-mode-backdrop { position:fixed; inset:0; z-index:-1; pointer-events:none; }
.bonus-mode-backdrop > div { position:absolute; inset:0; opacity:0; transition:opacity .65s ease; }
.bonus-tint-rush { background:radial-gradient(ellipse at 25% 55%,#ff980077,transparent 75%),linear-gradient(0deg,#71330066,#ed5a0022); }
.bonus-tint-freeze { background:radial-gradient(ellipse at 75% 45%,#37bbff77,transparent 75%),linear-gradient(0deg,#003f7866,#5ecfff22); }
.bonus-tint-bell { background:radial-gradient(ellipse at 50% 75%,#ac46ff77,transparent 75%),linear-gradient(0deg,#5a158566,#ff58de22); }
.bonus-tint-bomb { background:radial-gradient(ellipse at 50% 45%,#ff293d77,transparent 75%),linear-gradient(0deg,#830d2866,#d92b3022); }
.bonus-game.is-bomb-notice .bonus-tint-bomb { opacity:1; }
.bonus-game.is-rush .bonus-tint-rush,.bonus-game.is-frozen .bonus-tint-freeze,.bonus-game.is-bell-focus .bonus-tint-bell { opacity:1; }
.bonus-mode-banners { position:absolute; z-index:0; top:20%; left:12px; right:12px; display:flex; flex-direction:column; align-items:center; gap:18px; text-align:center; pointer-events:none; }
.bonus-mode-banners > div { animation:bonus-mode-enter .35s ease-out both; }
.bonus-mode-banners > div[hidden] { display:none; }
.bonus-mode-banners strong { display:block; font-size:clamp(30px,5vw,58px); font-weight:950; font-style:italic; line-height:1.05; }
.bonus-mode-banners span { display:block; margin-top:6px; font-size:11px; letter-spacing:2px; color:#fff3ce; }
.bonus-rush-banner strong { color:#ffdf73; text-shadow:0 0 25px #ff8300,3px 3px 0 #701434; }
.bonus-freeze-banner strong { color:#c4f5ff; text-shadow:0 0 25px #38b9ff,3px 3px 0 #164775; }
.bonus-bell-banner strong { color:#efcbff; text-shadow:0 0 25px #b55aff,3px 3px 0 #551b7c; }
.bonus-bomb-banner strong { color:#ff7581; text-shadow:0 0 25px #ff173c,3px 3px 0 #671329; }
.bonus-bomb-banner > span { color:#fff; font-size:20px; font-weight:900; letter-spacing:2px; }
.bonus-arena { z-index:1; }
@keyframes bonus-mode-enter { from { opacity:0; transform:translateY(12px) scale(.94); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(prefers-reduced-motion:reduce) { .bonus-mode-backdrop > div { transition:none; } .bonus-mode-banners > div { animation:none; } }
.bonus-fruit .bonus-half-a { clip-path:polygon(0 0,100% 0,0 100%); }
.bonus-fruit .bonus-half-b { clip-path:polygon(100% 0,100% 100%,0 100%); }
.bonus-fruit .bonus-normal-image { opacity:calc(1 - var(--ice-blend,0)); transition:transform .4s ease; }
.bonus-fruit .bonus-ice-image { opacity:var(--ice-blend,0); transition:transform .4s ease; }
.bonus-bomb img:first-child, .bonus-bell img:first-child, .bonus-seven img:first-child { clip-path:none; }
.bonus-seven.is-exploded img { transform:scale(1.5); opacity:0; }
.bonus-frost { position:absolute; inset:0; z-index:7; pointer-events:none; opacity:0; transition:opacity .8s ease; box-shadow:inset 0 0 16px 3px #e0faff99,inset 0 0 55px 8px #74cfea44; background:radial-gradient(ellipse at 0 0,#c4f0ff66,transparent 24%),radial-gradient(ellipse at 100% 100%,#b5eaff55,transparent 24%); }
.bonus-frost canvas { display:block; width:100%; height:100%; opacity:.25; transform:scale(1.05); transition:transform 1s cubic-bezier(.2,.7,.3,1),opacity .9s ease; }
.bonus-game.is-frozen .bonus-frost canvas { opacity:1; transform:scale(1); }
.bonus-game.is-frozen .bonus-frost { opacity:1; }
.bonus-game > .bonus-frost { position:fixed; }
.bonus-game.is-frozen [data-time] { color:#a6edff; text-shadow:0 0 18px #5acbff; }
.bonus-fruit.is-ice-held img { filter:drop-shadow(0 0 9px #95ecff); }
@media(prefers-reduced-motion:reduce) { .bonus-frost,.bonus-frost canvas { transition:none; transform:none; } }
.bonus-bomb.is-exploded img { transform:scale(1.6); opacity:0; filter:brightness(2); }
.bonus-points.bonus-penalty { color:#ff477b; font-size:36px; }
.bonus-flying-number { position:absolute; z-index:8; pointer-events:none; white-space:nowrap; color:#ffb34c; font-size:30px; font-weight:900; text-shadow:0 2px 10px #090510; will-change:transform,opacity; }
.bonus-flying-number.is-penalty { color:#ff477b; }
.bonus-glass { position:absolute; inset:0; width:100%; height:100%; z-index:6; pointer-events:none; animation:bonus-glass-fade 1.8s ease-out both; }
.bonus-blade { position:absolute; inset:0; width:100%; height:100%; z-index:4; pointer-events:none; }
.bonus-impact .hero-montage { animation:bonus-impact-shake .3s ease-out; }
.bonus-time-hit { color:#ff477b !important; }
@keyframes bonus-glass-fade { 0% { opacity:0; } 8%,55% { opacity:1; } 100% { opacity:0; } }
@keyframes bonus-impact-shake { 0%,100% { translate:0 0; } 20% { translate:-6px 3px; } 45% { translate:5px -2px; } 70% { translate:-2px 1px; } }
@media(prefers-reduced-motion:reduce) { .bonus-impact .hero-montage,.bonus-glass { animation:none; } .bonus-glass { opacity:.55; } }
.bonus-juice-drop { position:absolute; z-index:5; border-radius:65% 45% 60% 50%; pointer-events:none; box-shadow:inset 1px 1px 2px rgba(255,255,255,.5); }
.bonus-fruit.is-cut .bonus-half-a { transform:translate(-30px,-15px) rotate(-25deg); opacity:0; transition:transform .4s ease,opacity .4s; }
.bonus-fruit.is-cut .bonus-half-b { transform:translate(30px,30px) rotate(25deg); opacity:0; transition:transform .4s ease,opacity .4s; }
.bonus-points { position:absolute; color:#ffb34c; font-size:28px; font-weight:900; pointer-events:none; animation:bonus-points .6s ease-out forwards; }
@keyframes bonus-points { to { transform:translateY(-70px); opacity:0; } }
.bonus-trail { position:absolute; height:3px; z-index:3; border-radius:50%; background:white; box-shadow:0 0 12px #ff4ca3,0 0 25px #9e50ff; transform-origin:left center; pointer-events:none; opacity:0; }
.bonus-end { pointer-events:auto; display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:0; }
.bonus-message:has(.bonus-end:not([hidden])) h2 { margin-bottom:0; }
.bonus-end[hidden] { display:none; }
.bonus-end [data-final] { flex-basis:100%; display:grid; justify-items:center; gap:4px; margin:0 0 20px; animation:bonus-score-reveal .45s ease-out both; }
.bonus-final-number { display:block; padding:.08em .16em .1em; margin:-.08em 0 -.1em; font-size:clamp(56px,10vw,104px); font-weight:950; line-height:1.2; letter-spacing:-.035em; font-variant-numeric:tabular-nums; background:linear-gradient(180deg,#fff7cd 5%,#ffda70 38%,#ff9b21 75%,#e96b16); background-clip:text; -webkit-text-fill-color:transparent; filter:drop-shadow(0 3px 0 #662249) drop-shadow(0 0 18px #ff91004d); }
.bonus-final-label { font-size:12px; font-weight:800; letter-spacing:.36em; padding-left:.36em; color:#fbd5a5; }
@keyframes bonus-score-reveal { from { opacity:0; transform:translateY(10px) scale(.92); } to { opacity:1; transform:translateY(0) scale(1); } }
@media(prefers-reduced-motion:reduce) { .bonus-end [data-final] { animation:none; } }
.bonus-end button { padding:14px 24px; border-radius:12px; border:1px solid #ffffff40; background:#ffffff0d; color:white; cursor:pointer; font:inherit; font-weight:700; }
.bonus-end [data-replay] { background:linear-gradient(110deg,#eb1677,#ff8600); border-color:transparent; }
.bonus-game button:focus-visible { outline:3px solid #ffb546; outline-offset:4px; }
@media(max-width:600px) { .bonus-game { inset:0 8px 125px; } .bonus-hud { padding:18px 16px; gap:12px; } .bonus-brand{font-size:18px} .bonus-brand small{font-size:9px;letter-spacing:2px} .bonus-stats{gap:20px} .bonus-stats strong{font-size:30px} .bonus-arena{top:90px} .bonus-keyboard{display:none} .bonus-hint{font-size:9px;letter-spacing:1px} .bonus-message{padding:85px 16px 40px} .bonus-message h2{font-size:40px} .bonus-message p{font-size:14px} }
@media(prefers-reduced-motion:reduce) { .bonus-message,.bonus-fruit img { transition:none; } .bonus-points { animation:none; } .bonus-trail{display:none} }

.slot-game-overlay{position:fixed;inset:0;z-index:10000;width:100%;height:100dvh;background:transparent;overscroll-behavior:none}
.slot-game-overlay[hidden]{display:none!important}
.slot-game-overlay iframe{display:block;width:100%;height:100%;border:0;visibility:hidden}
.slot-game-overlay.is-ready iframe{visibility:visible}
.slot-game-loading{position:absolute;inset:0;display:grid;place-items:center;background:transparent}
.slot-game-loading::after{content:'';width:34px;height:34px;border:2px solid #ffffff20;border-top-color:#ffcc71;border-radius:50%;animation:slot-game-load .8s linear infinite}
.slot-game-overlay.is-ready .slot-game-loading{display:none}
.slot-game-loading-exit{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:40px;height:40px;border:1px solid #ffffff26;border-radius:50%;background:#1e122de6;color:#fff;font:inherit;cursor:pointer}
@keyframes slot-game-load{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.slot-game-loading::after,.slot-game-overlay.is-ready iframe{animation:none}}
