@font-face { font-family: 'JAM Text'; font-weight: 400; font-style: normal; font-display: swap; src: url('/fonts/golos-text-400.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'JAM Text'; font-weight: 400; font-style: normal; font-display: swap; src: url('/fonts/noto-sans-georgian-400.woff2') format('woff2'); unicode-range: U+10A0-10FF, U+1C90-1CBF, U+2D00-2D2F; }
@font-face { font-family: 'JAM Text'; font-weight: 500; font-style: normal; font-display: swap; src: url('/fonts/golos-text-500.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'JAM Text'; font-weight: 500; font-style: normal; font-display: swap; src: url('/fonts/noto-sans-georgian-500.woff2') format('woff2'); unicode-range: U+10A0-10FF, U+1C90-1CBF, U+2D00-2D2F; }
@font-face { font-family: 'JAM Text'; font-weight: 600; font-style: normal; font-display: swap; src: url('/fonts/golos-text-600.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'JAM Text'; font-weight: 600; font-style: normal; font-display: swap; src: url('/fonts/noto-sans-georgian-600.woff2') format('woff2'); unicode-range: U+10A0-10FF, U+1C90-1CBF, U+2D00-2D2F; }
@font-face { font-family: 'JAM Calibri'; font-weight: 400 600; font-style: normal; font-display: swap; size-adjust: 110%; src: local('Calibri'), local('Calibri Regular'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+10A0-10FF, U+1C90-1CBF, U+2D00-2D2F; }
@font-face { font-family: 'JAM Calibri'; font-weight: 700; font-style: normal; font-display: swap; size-adjust: 110%; src: local('Calibri Bold'), local('Calibri-Bold'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD, U+10A0-10FF, U+1C90-1CBF, U+2D00-2D2F; }
:root {
  --page: #1e40af;
  --ink: #ffffff;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
}
html, body { height: 100%; margin: 0; background: var(--page); }
html { scroll-behavior: smooth; scrollbar-gutter: stable; }
html.pre body { visibility: hidden; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { font-family: 'JAM Calibri', 'JAM Text', system-ui, 'Segoe UI', sans-serif; letter-spacing: 0.02em; }
.calibri :is(.top :is(.panel-title, .panel-head), .cta, .jr-tab, .block :is(h1, h2), .contact-form button, .consent :is(.consent-title, button), .pr-switch button) {
  -webkit-text-stroke: 0.025em currentColor;
}
*, *::before, *::after { box-sizing: border-box; }

.landing {
  --ink-motto: rgba(255, 255, 255, 0.95);
  position: relative;
  min-height: 100vh; min-height: 100svh;
  display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); align-items: center;
  gap: clamp(2rem, 4vw, 4.5rem);
  padding: 5.5rem max(1.5rem, calc(50vw - 40rem)) 2.5rem;
  color: var(--ink); overflow-x: clip;
  z-index: 1; background: var(--page); border-radius: 0 0 clamp(1.75rem, 4vw, 3.5rem) clamp(1.75rem, 4vw, 3.5rem);
}
.hero-copy { display: grid; justify-items: start; gap: clamp(1rem, 3vh, 1.75rem); }
.landing .logo { margin: 0; line-height: 0; animation: rise-in 0.9s var(--ease-out) both; }
.landing .logo img { display: block; width: auto; height: clamp(8rem, 30vh, 17rem); }
.landing .tagline { display: grid; justify-items: start; gap: clamp(0.9rem, 2.4vh, 1.4rem); animation: rise-in 0.9s var(--ease-out) 0.15s both; }
.landing .motto {
  margin: 0; max-width: 30rem; text-wrap: balance;
  font-size: clamp(1.75rem, 2.7vw, 2.75rem); font-weight: 700; line-height: 1.18; letter-spacing: 0.01em;
  color: var(--ink-motto);
}
.landing .motto:lang(ka) { font-size: clamp(1.5rem, 2.2vw, 2.3rem); line-height: 1.35; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 0.4rem; }
.cta.ghost { background: rgba(255, 255, 255, 0.1); color: #ffffff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5); }
@media (hover: hover) and (pointer: fine) {
  .cta.ghost:hover { box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5), 0 0 0 4px rgba(255, 255, 255, 0.2); }
}
html[lang="en"] .landing [lang="ka"], html[lang="ka"] .landing [lang="en"] { display: none; }
@keyframes rise-in {
  from { opacity: 0; translate: 0 0.6rem; filter: blur(6px); }
  to { opacity: 1; translate: none; filter: none; }
}
@keyframes hero-in {
  from { opacity: 0; translate: 0 2.5rem; }
  to { opacity: 1; translate: none; }
}
@media (prefers-reduced-motion: reduce) {
  .landing :is(.logo, .tagline) { animation: none; }
}
.landing :is(.logo img, .logo-fx) { filter: drop-shadow(0 0 1rem rgba(120, 150, 255, 0.5)); }
.landing :is(.logo-fx, .logo-bits) { position: absolute; pointer-events: none; }
.landing .logo-bits { z-index: 0; }
.landing .logo-fx { z-index: 2; }
.hero-copy { position: relative; z-index: 1; }
.landing.booting .logo { animation: none; }
.landing.booting :is(.logo img, .tagline, .hero-stage) { opacity: 0; animation: boot-safety 0.3s linear 3.5s forwards; }
.landing.booted .logo { animation: none; }
.landing.booted .tagline { animation: rise-in 0.9s var(--ease-out) 0.05s both; }
.landing.booted .hero-stage { animation: hero-in 1.1s var(--ease-out) 0.1s both; }
.landing.booted.glitched .tagline { animation: none; }
.landing.glitched:is(.booting, .booted) .hero-stage { opacity: 1; animation: hero-in 1.2s var(--ease-out) 0.15s both; }
@keyframes boot-safety { to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .landing.booted :is(.tagline, .hero-stage) { animation: none; }
}

.hero-stage { --px: 0; --py: 0; position: relative; z-index: 1; width: min(100%, calc(100svh - 8.5rem)); justify-self: center; aspect-ratio: 1 / 1; container-type: inline-size; }
.hero-stage::before {
  content: ""; position: absolute; z-index: 0; left: 4cqw; right: -6cqw; top: 14cqw; bottom: -4cqw; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(150, 182, 255, 0.42), rgba(150, 182, 255, 0));
}
.hero-mk { display: inline-block; width: 1.3em; height: 1em; background: currentColor; -webkit-mask: url(/img/mark.png) center / contain no-repeat; mask: url(/img/mark.png) center / contain no-repeat; }
.h-wm {
  position: absolute; z-index: 0; left: -16cqw; top: 0; width: 136cqw; aspect-ratio: 741 / 80;
  background: url(/img/logo.png) 0 100% / 100% auto no-repeat; opacity: 0.94;
  translate: calc(var(--px) * -0.8cqw) calc(var(--py) * -0.5cqw);
}
.h-hand {
  position: absolute; z-index: 1; left: 11cqw; top: 6cqw; width: 120cqw; aspect-ratio: 1600 / 1502;
}
.h-hand img { position: absolute; inset: 0; width: 100%; height: 100%; }
.h-fit { position: absolute; left: 0; top: 0; width: 1600px; height: 1502px; transform-origin: 0 0; scale: var(--k, 0.4); }
.h-screen { position: absolute; display: block; }

.h-slot { position: absolute; z-index: 3; display: grid; transform-origin: 0 0; font-size: clamp(12px, 2.35cqw, 17px); }
.h-slot > .ht { grid-area: 1 / 1; }
.h-start { transform: var(--plane, none) translate(0, -50%); translate: calc(var(--px) * 2.6cqw) calc(var(--py) * 1.8cqw); }
.h-end { transform: var(--plane, none) translate(-100%, -50%); translate: calc(var(--px) * 3.2cqw) calc(var(--py) * 2.2cqw); }
.ht, .hs {
  border-radius: 1.35em; line-height: 1.3; color: #ffffff;
  background: linear-gradient(135deg, rgba(86, 124, 235, 0.55), rgba(40, 78, 196, 0.5)); -webkit-backdrop-filter: blur(22px) saturate(140%); backdrop-filter: blur(22px) saturate(140%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.55), 0 1.4em 2.8em rgba(6, 18, 70, 0.32);
}
.ht { display: flex; align-items: center; gap: 0.9em; width: max-content; max-width: 54cqw; padding: 0.85em 1.5em 0.85em 0.85em; }
.h-stack > .ht {
  width: min(22em, 47cqw); align-self: end;
  transform-origin: 50% 0; transition: transform 0.65s var(--ease-out), opacity 0.65s var(--ease-out);
}
.h-stack > .ht[data-d="0"] { z-index: 3; }
.h-stack > .ht[data-d="1"] { z-index: 2; transform: translateY(-1.2em) scale(0.92); opacity: 0.62; }
.h-stack > .ht[data-d="2"] { z-index: 1; transform: translateY(-2.2em) scale(0.84); opacity: 0.3; }
.h-stack > .ht[data-d="3"] { z-index: 0; transform: translateY(-3em) scale(0.78); opacity: 0; }
.h-stack > .ht.enter { transform: translateX(-30%) scale(0.86); opacity: 0; }
.hs { display: grid; gap: 0.6em; width: min(17em, 46cqw); padding: 1em 1.1em 1.05em; -webkit-backdrop-filter: blur(11px) saturate(140%); backdrop-filter: blur(11px) saturate(140%); }
.hs-nav {
  position: absolute; top: 50%; z-index: 1; display: grid; place-items: center; width: 2.2em; height: 2.6em; margin: -1.3em 0 0; padding: 0;
  border: 0; background: none; color: #ffffff; font: inherit; cursor: pointer; opacity: 0.85;
  filter: drop-shadow(0 0.15em 0.35em rgba(6, 18, 70, 0.45));
  -webkit-tap-highlight-color: transparent; transition: opacity 0.2s var(--ease-out), scale 0.16s var(--ease-out);
}
.hs-nav.prev { right: 100%; }
.hs-nav.next { left: 100%; }
.hs-nav svg { width: 1.6em; height: 1.6em; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.hs-nav:active { scale: 0.93; transition-duration: 0.06s; }
@media (hover: hover) and (pointer: fine) {
  .hs-nav:hover { opacity: 1; }
}
.hs p { margin: 0; }
.hs-head { display: flex; justify-content: space-between; align-items: center; font-size: 0.82em; color: rgba(255, 255, 255, 0.78); }
.hs-head em { display: flex; align-items: center; gap: 0.45em; font-style: normal; }
.hs-head i { width: 0.5em; height: 0.5em; border-radius: 50%; background: #7cf0c7; animation: live-pulse 1.8s ease-out infinite; }
@keyframes live-pulse {
  0% { box-shadow: 0 0 0 0 rgba(124, 240, 199, 0.75); scale: 1; }
  35% { scale: 1.15; }
  70% { box-shadow: 0 0 0 0.6em rgba(124, 240, 199, 0); scale: 1; }
  100% { box-shadow: 0 0 0 0 rgba(124, 240, 199, 0); }
}
.hs-titles { display: grid; }
.hs-title { grid-area: 1 / 1; opacity: 0; translate: 0 0.4em; transition: opacity 0.18s var(--ease-out), translate 0.3s var(--ease-out); }
.hs-views { display: grid; }
.hs-view { grid-area: 1 / 1; display: grid; gap: 0.6em; align-content: start; opacity: 0; translate: 1em 0; transition: opacity 0.2s var(--ease-out), translate 0.35s var(--ease-out); }
.hs[data-view="0"] .hs-title[data-v="0"],
.hs[data-view="1"] .hs-title[data-v="1"],
.hs[data-view="2"] .hs-title[data-v="2"],
.hs[data-view="3"] .hs-title[data-v="3"],
.hs[data-view="4"] .hs-title[data-v="4"],
.hs[data-view="0"] .hs-view[data-v="0"],
.hs[data-view="1"] .hs-view[data-v="1"],
.hs[data-view="2"] .hs-view[data-v="2"],
.hs[data-view="3"] .hs-view[data-v="3"],
.hs[data-view="4"] .hs-view[data-v="4"] { opacity: 1; translate: none; transition: opacity 0.36s var(--ease-out) 0.1s, translate 0.5s var(--ease-out) 0.04s; }
.hs-dots { display: flex; justify-content: center; gap: 0.35em; }
.hs-dots i { width: 0.42em; height: 0.42em; border-radius: 99px; background: rgba(255, 255, 255, 0.35); transition: width 0.45s var(--ease-out), background-color 0.45s var(--ease-out); }
.hs[data-view="0"] .hs-dots i[data-v="0"],
.hs[data-view="1"] .hs-dots i[data-v="1"],
.hs[data-view="2"] .hs-dots i[data-v="2"],
.hs[data-view="3"] .hs-dots i[data-v="3"],
.hs[data-view="4"] .hs-dots i[data-v="4"] { width: 1.3em; background: #ffffff; }
.hs-delta.warn { background: rgba(251, 191, 36, 0.2); color: #fde68a; }
.hs-bars i.low { background: rgba(251, 191, 36, 0.8); }
.hs-main { display: flex; align-items: center; gap: 0.75em; }
.hs-ico { flex: none; display: grid; place-items: center; width: 2.5em; height: 2.5em; border-radius: 0.8em; background: #ffffff; color: var(--tint); box-shadow: 0 0.4em 0.8em rgba(6, 18, 70, 0.2); }
.hs-ico svg { width: 1.35em; height: 1.35em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.hs-main small { display: block; font-size: 0.8em; color: rgba(255, 255, 255, 0.78); }
.hs-main strong { display: block; font-size: 1.9em; font-weight: 700; line-height: 1.05; }
.hs-delta { align-self: start; margin-left: auto; padding: 0.2em 0.55em; border-radius: 99px; font-size: 0.78em; font-weight: 600; background: rgba(124, 240, 199, 0.18); color: #b8f7e3; }
.hs-bars { display: flex; align-items: flex-end; gap: 0.5em; height: 3.2em; padding: 0 0.15em; }
.hs-bars i { flex: 1; max-width: 1em; height: calc(var(--h) * 100%); border-radius: 0.35em; background: rgba(255, 255, 255, 0.3); transition: height 0.6s var(--ease-out); }
.hs-bars i.today { background: #ffffff; }
.hs-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1em; padding-top: 0.45em; border-top: 1px solid rgba(255, 255, 255, 0.16); font-size: 0.86em; }
.hs-row span { color: rgba(255, 255, 255, 0.78); }
.hs-row strong { font-weight: 600; white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
  .h-stack > .ht, .hs-bars i, .hs-title, .hs-view, .hs-dots i, .hs-nav { transition: none !important; }
  .hs-head i { animation: none; box-shadow: 0 0 0 0.22em rgba(124, 240, 199, 0.22); }
}
.ht-ico { flex: none; display: grid; place-items: center; width: 2.6em; height: 2.6em; border-radius: 0.8em; background: #ffffff; color: var(--tint, #1e40af); box-shadow: 0 0.4em 0.8em rgba(6, 18, 70, 0.2); }
.ht-ico svg { width: 1.4em; height: 1.4em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ht-text { min-width: 0; flex: 1; }
.ht-text p { margin: 0; }
.ht-title { display: flex; justify-content: space-between; align-items: baseline; gap: 0.75em; font-weight: 700; }
.ht-title em { flex: none; font-style: normal; font-weight: 400; font-size: 0.82em; color: rgba(255, 255, 255, 0.72); }
.ht-text p + p { font-size: 0.93em; color: rgba(255, 255, 255, 0.92); }
.k-crm { --tint: #1d4ed8; }
.k-deals { --tint: #7c3aed; }
.k-chat { --tint: #0f766e; }
.k-sms { --tint: #4338ca; }
.k-forms { --tint: #be185d; }
.k-invoice { --tint: #047857; }
.k-inventory { --tint: #b45309; }
.k-automation { --tint: #0369a1; }
.k-integrations { --tint: #0e7490; }
.k-reporting { --tint: #c2410c; }
.k-admin { --tint: #334155; }
@media (prefers-reduced-transparency: reduce) {
  .ht, .hs { background: #2b4cc0; -webkit-backdrop-filter: none; backdrop-filter: none; }}

@media (max-width: 999px) {
  .landing { grid-template-columns: minmax(0, 1fr); align-content: start; justify-items: center; gap: 2.75rem; padding-top: 7rem; text-align: center; }
  .hero-copy, .landing .tagline { justify-items: center; }
  .landing .logo img { height: clamp(7rem, 22vh, 10.5rem); }
  .landing .motto { max-width: 26rem; font-size: clamp(1.5rem, 5.6vw, 2.2rem); }
  .landing .motto:lang(ka) { font-size: clamp(1.35rem, 4.8vw, 1.9rem); }
  .hero-ctas { justify-content: center; }
  .hero-stage { width: min(100%, 34rem); aspect-ratio: auto; display: flex; flex-direction: column; align-items: center; text-align: left; }
  .hero-stage::after { content: ""; order: -1; align-self: stretch; height: 100cqw; }
  .hero-stage::before { bottom: auto; height: 86cqw; }
  .h-slot { font-size: clamp(11px, 2.9cqw, 15px); }
  .ht { max-width: 66cqw; }
  .h-stack > .ht { width: min(20em, 60cqw); }
  .h-end { position: relative; order: 1; margin-top: -9cqw; transform: none; translate: none; font-size: clamp(13px, 3.6cqw, 17px); }
  .hs { width: min(19em, calc(100cqw - 5.5em)); }
  .h-wm { display: none; }
  .h-hand { top: 0; }
}
@media (max-width: 819px) {
  .landing { padding-top: 6.25rem; gap: 2.25rem; }
}

.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@property --open { syntax: '<number>'; inherits: true; initial-value: 0; }
@property --scale { syntax: '<number>'; inherits: false; initial-value: 1; }
@property --shift { syntax: '<length>'; inherits: false; initial-value: 0px; }
@property --fade { syntax: '<number>'; inherits: false; initial-value: 1; }
.top {
  --tone: 16, 32, 74;
  --ink: rgb(var(--tone));
  --ink-soft: rgba(var(--tone), 0.74);
  --accent: #1e40af;
  --chip: rgba(30, 64, 175, 0.08);
  --chip-press: rgba(30, 64, 175, 0.15);
  --bar-fill: 255, 255, 255;
  --bar-alpha: 1;
  --bar-blur: 14px;
  --sub-round: 0.9rem;
  position: fixed; z-index: 4; top: 0; left: 0; right: 0;
  --mark: 2.49rem;
  padding: 1.125rem 1.5rem;
  font-size: 1rem; line-height: 1;
  will-change: transform;
  transition: transform 0.5s var(--ease-drawer), --open 0.22s var(--ease-out);
}
.top.away { transform: translateY(-110%); transition-duration: 0.4s; }
.top .bar {
  width: calc(var(--ring-end, 100%) - var(--ring-start, 0%)); min-width: max-content;
  margin-inline: auto;
  display: flex; align-items: center; gap: 1.8rem;
}
.top :is(.brand, .lang, .burger, .menu > a, .has-sub > a) { transition: opacity 0.45s var(--ease-drawer), background-color 0.15s ease, color 0.15s ease, transform 0.16s var(--ease-out); }
.top :is(.brand, .lang, .burger, .menu > a, .has-sub > a):active { transform: scale(0.96); transition: opacity 0.45s var(--ease-drawer), background-color 0.15s ease, color 0.15s ease, transform 0.06s var(--ease-out); }
.top.away :is(.brand, .lang, .menu > a, .has-sub > a) { opacity: 0; }
.top .menu { display: flex; align-items: center; gap: 1px; }
html:not(.calibri) .top :is(.menu > a, .has-sub > a) > [lang="ka"] { font-weight: 600; }
.top a, .top button {
  font: inherit; letter-spacing: inherit; color: var(--ink-soft); background: none; border: 0; border-radius: 0.6em;
  padding: 0.64em 0.8em; text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, transform 0.16s var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .top .menu a:hover, .top .lang:hover { background: var(--chip); color: var(--ink); }
}
.top .sub-title { margin: 0.9em 1em 0.35em; padding: 0 0 0.55em; border-bottom: 1px solid rgba(var(--tone), 0.12); letter-spacing: 0.06em; color: rgba(var(--tone), 0.58); white-space: nowrap; cursor: default; }
.top .sub-title:first-child { margin-top: 0.2em; }
.top .menu .sub a:active { background: var(--chip-press); }
.top a:focus-visible, .top button:focus-visible { outline: 2px solid var(--ink); outline-offset: 1px; }
.top::before {
  --r: var(--sub-round);
  --x: var(--sub-x, 0px);
  --w: calc(var(--sub-x2, 0px) - var(--sub-x, 0px));
  --reveal: min(var(--sub-h, 0px), var(--open) * (var(--sub-h, 0px) + 3rem));
  --plate: linear-gradient(#000, #000);
  --dot: radial-gradient(closest-side, #000 calc(100% - 1px), transparent);
  --shape: var(--plate), var(--plate), var(--plate), var(--dot), var(--dot);
  --at: left 0 top 0, left var(--x) bottom var(--r), left calc(var(--x) + var(--r)) bottom 0, left var(--x) bottom 0, left calc(var(--x) + var(--w) - 2 * var(--r)) bottom 0;
  --size: 100% calc(100% - var(--reveal)), var(--w) max(0px, var(--reveal) - var(--r) + 1px), calc(var(--w) - 2 * var(--r)) calc(var(--reveal) + 1px), calc(2 * var(--r)) calc(2 * var(--r)), calc(2 * var(--r)) calc(2 * var(--r));
  content: ""; position: absolute; inset: 0 0 calc(-1 * var(--reveal)); z-index: -1; pointer-events: none;
  background: rgba(var(--bar-fill), var(--bar-alpha));
  -webkit-backdrop-filter: blur(var(--bar-blur)); backdrop-filter: blur(var(--bar-blur));
  -webkit-mask-image: var(--shape); mask-image: var(--shape);
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: var(--at); mask-position: var(--at);
  -webkit-mask-size: var(--size); mask-size: var(--size);
  transition: opacity 0.45s var(--ease-out);
}
.top::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(var(--tone), 0.14) 20%, rgba(var(--tone), 0.14) 80%, transparent);
  --gap: linear-gradient(90deg, #000 var(--sub-x, 0px), transparent var(--sub-x, 0px), transparent var(--sub-x2, 0px), #000 var(--sub-x2, 0px));
  -webkit-mask-image: var(--gap); mask-image: var(--gap);
  opacity: 0; transition: opacity 0.22s var(--ease-out); pointer-events: none;
}
.top .has-sub { position: relative; }
.top .has-sub::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 3rem; }
.top .sub {
  position: absolute; top: var(--sub-top, 100%); --sub-lead: min(8rem, calc(var(--item-x, 0px) - 1rem));
  left: calc(-1 * var(--sub-lead)); box-sizing: border-box;
  width: max-content; max-width: calc(var(--sub-w, 100vw) - 1rem - var(--item-x, 0px) + var(--sub-lead));
  padding: 0.5rem 1.5rem 0.5rem 0.5rem;
  display: grid; grid-template-columns: max-content minmax(0, min(46rem, 44vw)); text-align: left;
  border: 1px solid rgba(var(--tone), 0.1); border-top: 0; border-radius: 0 0 var(--sub-round) var(--sub-round);
  z-index: 1;
  box-shadow: 0 18px 40px rgba(var(--tone), 0.22);
  opacity: 0; visibility: hidden; clip-path: inset(0 -2rem 100% -2rem);
  transform: translateY(-0.5rem);
  transition: opacity 0.18s var(--ease-out), transform 0.22s var(--ease-out), clip-path 0.22s var(--ease-out), visibility 0s linear 0.22s;
}
.top .menu .sub :is(a, .sub-title) { font-size: 0.9375em; display: grid; justify-items: start; text-align: left; opacity: 0; transform: translateY(-0.4rem); transition: opacity 0.15s ease, transform 0.15s var(--ease-out), background-color 0.15s ease, color 0.15s ease; }
.top .menu .sub .sub-title { font-size: 0.75em; }
.top .sub-list { display: flex; flex-direction: column; gap: 1px; }
.top .sub-list a { grid-template-columns: auto 1fr auto; align-items: center; column-gap: 0.75em; padding-block: 0.4em; }
.top .menu .sub-list a > span { grid-area: 1 / 2; }
.top .ico { grid-area: 1 / 1; box-sizing: content-box; width: 1.05em; height: 1.05em; padding: 0.3em; border-radius: 0.5em; background: rgba(30, 64, 175, 0.1); color: var(--accent); fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.top .sub-list a:is([data-p="ai"], [data-p="integrated-ai"], [data-p="integrated-tools"]) .ico { background: rgba(109, 40, 217, 0.1); color: #6d28d9; }
.top .sub-list a:is([data-p="internal"], [data-p="autonomous"], [data-p="more"]) .ico { background: rgba(var(--tone), 0.07); color: var(--ink-soft); }
.top .sub-list a::after { content: ""; grid-area: 1 / 3; width: 0.45em; height: 0.45em; margin-right: 0.15em; border: solid currentColor; border-width: 1.5px 1.5px 0 0; rotate: 45deg; opacity: 0.4; transition: opacity 0.15s ease; }
.top .sub-list a.on { background: var(--chip); color: var(--ink); }
.top .sub-list a.on::after { opacity: 1; }
.top .sub-panels { display: grid; align-content: stretch; margin: 0.2em 0 0.2em 0.5rem; padding: 0.4rem 1rem 0.6rem 1.4rem; border-left: 1px solid rgba(var(--tone), 0.1); }
@media (max-height: 820px) {
  .top .sub-list a { padding-block: 0.25em; }
  .top .sub-list .ico { padding: 0.2em; }
  .top .sub-title { margin-top: 0.6em; }
}
.top .panel { grid-area: 1 / 1; display: flex; flex-direction: column; opacity: 0; visibility: hidden; transition: opacity 0.15s ease, visibility 0s linear 0.15s; }
.top .panel.on { opacity: 1; visibility: visible; transition: opacity 0.2s ease, visibility 0s; }
.top .panel p { margin: 0; }
.top .panel-title { font-size: 1.25rem; font-weight: 600; line-height: 1.3; color: var(--ink); }
.top .panel-head { font-size: 1.5rem; font-weight: 600; line-height: 1.25; color: var(--ink); }
.top .panel-head em { font-style: normal; color: var(--accent); }
.top .panel-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.4rem; margin-top: 1.1rem; }
.top .menu .panel-points a {
  grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 0.6em;
  padding: 0.55em 0.75em; font-size: 0.8125rem; line-height: 1.35; white-space: normal;
  color: rgba(var(--tone), 0.84); background: rgba(var(--tone), 0.03); border: 1px solid rgba(var(--tone), 0.1); border-radius: 0.6em;
}
.top .menu .panel-points a::after { content: ""; grid-area: 1 / 2; width: 0.4em; height: 0.4em; border: solid currentColor; border-width: 1.5px 1.5px 0 0; rotate: 45deg; opacity: 0.45; }
.top .menu .panel-shot { position: relative; display: block; flex: 1 1 0; min-height: 9rem; margin-top: 1rem; padding: 0; overflow: hidden; border: 1px solid rgba(var(--tone), 0.12); border-radius: 0.6rem; background: var(--art-bg); box-shadow: 0 14px 34px rgba(var(--tone), 0.16); }
@media (hover: hover) and (pointer: fine) {
  .top .menu .panel-points a:hover { background: var(--chip); border-color: rgba(30, 64, 175, 0.22); color: var(--ink); }
}
.top .ai-stage {
  --ai: 109, 40, 217;
  position: relative; flex: 1 1 0; min-height: 16rem; margin-top: 1rem; display: grid; place-items: center; overflow: hidden;
  border-radius: 0.8rem; background: radial-gradient(60% 60% at 50% 50%, rgba(var(--ai), 0.08), rgba(var(--ai), 0.02) 70%, rgba(var(--ai), 0) 100%);
}
.top .ai-chip { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.top .ai-chip .tr { stroke: rgba(var(--ai), 0.16); stroke-width: 1.6; }
.top .ai-chip .dot { fill: rgba(var(--ai), 0.22); }
.top .ai-chip .pin { stroke: rgba(var(--ai), 0.24); stroke-width: 3.2; stroke-linecap: butt; }
.top .ai-chip .bd { fill: rgba(var(--ai), 0.05); stroke: rgba(var(--ai), 0.26); stroke-width: 1.6; }
.top .ai-chip .die { fill: rgba(var(--ai), 0.06); stroke: rgba(var(--ai), 0.2); stroke-width: 1.2; }
.top .ai-chip .ai { fill: rgba(var(--ai), 0.2); font-size: 30px; font-weight: 700; letter-spacing: 0.04em; }
.top .menu .ai-cta {
  position: relative; grid-template-columns: auto auto; align-items: center; column-gap: 0.6em; margin-top: 2.5rem;
  padding: 0.75em 1.35em; border-radius: 999px; background: rgb(var(--ai)); color: #ffffff; font-weight: 600;
  box-shadow: 0 10px 26px rgba(var(--ai), 0.35);
}
.top .menu .ai-cta::after { content: ""; grid-area: 1 / 2; width: 0.42em; height: 0.42em; border: solid currentColor; border-width: 2px 2px 0 0; rotate: 45deg; }
.top .menu .sub .ai-cta:active { background: #5b21b6; }
@media (hover: hover) and (pointer: fine) {
  .top .menu .ai-cta:hover { background: #5b21b6; color: #ffffff; }
}
html[lang="en"] .top .panel [lang="ka"], html[lang="ka"] .top .panel [lang="en"] { display: none; }
.top:not(.away):has(.has-sub:hover, .has-sub :focus-visible) {
  --open: 1;
  transition: transform 0.5s var(--ease-drawer), --open 0.3s var(--ease-out);
  &::after { opacity: 1; }
  & .sub {
    opacity: 1; visibility: visible; clip-path: inset(0 -2rem -3rem -2rem); transform: none;
    transition: opacity 0.2s var(--ease-out), transform 0.3s var(--ease-out), clip-path 0.3s var(--ease-out), visibility 0s;
  }
  & .sub :is(a, .sub-title) { opacity: 1; transform: none; transition: opacity 0.2s ease, transform 0.3s var(--ease-out), background-color 0.15s ease, color 0.15s ease; }
  & .sub :is(a, .sub-title):nth-child(1) { transition-delay: 0.03s, 0.03s, 0s, 0s; }
  & .sub :is(a, .sub-title):nth-child(2) { transition-delay: 0.06s, 0.06s, 0s, 0s; }
  & .sub :is(a, .sub-title):nth-child(3) { transition-delay: 0.09s, 0.09s, 0s, 0s; }
  & .sub :is(a, .sub-title):nth-child(4) { transition-delay: 0.12s, 0.12s, 0s, 0s; }
  & .sub :is(a, .sub-title):nth-child(5) { transition-delay: 0.15s, 0.15s, 0s, 0s; }
  & .sub :is(a, .sub-title):nth-child(n+6) { transition-delay: 0.15s, 0.15s, 0s, 0s; }
}
@media (max-width: 819px) {
  .top .sub { left: 0; width: max-content; min-width: 15rem; padding: 0.5rem; grid-template-columns: max-content; }
  .top .sub-panels { display: none; }
  .top .sub-list a::after { display: none; }
}
@media (prefers-reduced-motion: reduce) { .top, .top *, .top::before, .top::after { transition: none !important; } }
@media (prefers-reduced-transparency: reduce) {
  .top::before { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgb(var(--bar-fill)); }
}
@media (prefers-contrast: more) {
  .top { --ink-soft: var(--ink); --chip: rgba(30, 64, 175, 0.18); }
  .landing { --ink-motto: var(--ink); }
}
.top .brand { display: block; padding: 0; border-radius: 0.3em; }
.top .brand-mark {
  height: var(--mark); width: auto; display: block; object-position: 0 -200vh;
  background: var(--accent);
  -webkit-mask: url(/img/mark.png) center / contain no-repeat; mask: url(/img/mark.png) center / contain no-repeat;
}
@media (min-width: 820px) {
  .top .brand { margin-left: -3.4rem; }
  .top .brand + .menu { margin-left: 1.9rem; }
}
.top .menu a, .top .lang-code { display: inline-grid; justify-items: center; }
.top .has-sub > a { grid-template-columns: auto auto; align-items: center; column-gap: 0.3em; }
.top .chev { grid-area: 1 / 2; width: 0.95em; height: 0.95em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; rotate: calc(var(--open) * 180deg); }
.top .menu a > span, .top .lang-code > span, .top .sub-title > span { grid-area: 1 / 1; }
html[lang="en"] .top [lang="ka"], html[lang="ka"] .top [lang="en"] { visibility: hidden; }
html[lang="en"] .top .lang-code [lang="ka"], html[lang="ka"] .top .lang-code [lang="en"] { visibility: visible; }
html[lang="en"] .top .lang-code [lang="en"], html[lang="ka"] .top .lang-code [lang="ka"] { visibility: hidden; }
.top .lang { display: inline-flex; align-items: center; gap: 0.45em; margin-left: auto; margin-right: -0.8em; translate: var(--lang-shift, 0px) 0; }
.top .lang svg { width: 1.2em; height: 1.2em; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 1279px) {
  .top { --mark: 1.99rem; font-size: 0.96875rem; }
}
@media (max-width: 1023px) {
  .top { --mark: 1.66rem; font-size: 0.9375rem; }
}
.top .burger, .top .drawer { display: none; }
.top :is(a, button) { -webkit-tap-highlight-color: transparent; }
@media (max-width: 819px) {
  .top { --mark: 1.77rem; padding: 0.5rem 0.75rem; font-size: 0.9375rem; }
  .top .bar { width: auto; min-width: 0; gap: 0.25rem; }
  .top .menu { display: none; }
  .top .lang { margin-right: 0; }
  .top .burger {
    display: grid; place-content: center; gap: 5px; width: 2.75rem; height: 2.75rem; margin-right: -0.35rem; padding: 0;
    color: var(--ink); -webkit-tap-highlight-color: transparent;
  }
  .top .burger i { display: block; width: 1.3rem; height: 2px; border-radius: 2px; background: currentColor; transition: transform 0.3s var(--ease-out), opacity 0.2s ease; }
  .top.menu-open .burger i:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .top.menu-open .burger i:nth-child(2) { opacity: 0; }
  .top.menu-open .burger i:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .top.away .burger { opacity: 0; transition: opacity 0.45s var(--ease-drawer); }
  .top .drawer {
    display: block; position: absolute; left: 0; right: 0; top: 100%; height: calc(100dvh - var(--bar-h, 3.75rem));
    overflow-y: auto; overscroll-behavior: contain; background: #ffffff; border-top: 1px solid rgba(var(--tone), 0.1);
    opacity: 0; visibility: hidden; transform: translateY(-0.5rem);
    transition: opacity 0.2s var(--ease-out), transform 0.25s var(--ease-out), visibility 0s linear 0.25s;
  }
  .top.menu-open .drawer { opacity: 1; visibility: visible; transform: none; transition: opacity 0.25s var(--ease-out), transform 0.3s var(--ease-out), visibility 0s; }
  .top .drawer-in { display: grid; max-width: 34rem; margin: 0 auto; padding: 0.75rem 0.75rem 3rem; }
  .top .drawer :is(.dr-toggle, .dr-links > a) {
    display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 3.4rem; padding: 0 0.85rem;
    border-radius: 0.75rem; font-size: 1.0625rem; font-weight: 500; color: var(--ink); text-align: left; white-space: normal;
  }
  .top .drawer .dr-links > a::after { content: ""; flex: none; width: 0.5em; height: 0.5em; border: solid currentColor; border-width: 1.5px 1.5px 0 0; rotate: 45deg; opacity: 0.4; }
  .top .drawer .dr-links > a + a, .top .drawer .dr-links { border-top: 1px solid rgba(var(--tone), 0.08); }
  .top .drawer .dr-toggle .chev { rotate: 0deg; transition: rotate 0.3s var(--ease-out); }
  .top .drawer .dr-toggle[aria-expanded="true"] .chev { rotate: 180deg; }
  .top .dr-services { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s var(--ease-out); }
  .top .dr-toggle[aria-expanded="true"] + .dr-services { grid-template-rows: 1fr; }
  .top .dr-list { min-height: 0; overflow: hidden; }
  .top .dr-list .sub-list { padding: 0 0 0.75rem 0.25rem; }
  .top .drawer .sub-list a { display: grid; min-height: 2.9rem; padding: 0.3rem 0.85rem; white-space: normal; color: var(--ink-soft); font-size: 1rem; }
  .top .drawer .sub-list a > span { grid-area: 1 / 2; }
  .top .drawer .sub-title { margin: 0.9rem 0.85rem 0.3rem; font-size: 0.75rem; }
  .top .drawer .sub-title:first-child { margin-top: 0.4rem; }
  .top .drawer :is(a, button):active { background: var(--chip-press); }
  .top .drawer :is(.dr-toggle, .dr-links > a) { opacity: 0; translate: 0 -0.4rem; transition: opacity 0.15s ease, translate 0.15s var(--ease-out), background-color 0.15s ease; }
  .top.menu-open .drawer :is(.dr-toggle, .dr-links > a) {
    opacity: 1; translate: none;
    transition: opacity 0.25s var(--ease-out) var(--k), translate 0.35s var(--ease-out) var(--k), background-color 0.15s ease;
  }
  .top .drawer .dr-toggle { --k: 0.04s; }
  .top .drawer .dr-links > a:nth-child(1) { --k: 0.07s; }
  .top .drawer .dr-links > a:nth-child(2) { --k: 0.1s; }
  .top .drawer .dr-links > a:nth-child(3) { --k: 0.13s; }
  .top .drawer .dr-links > a:nth-child(4) { --k: 0.16s; }
  html[lang="en"] .top .drawer [lang="ka"], html[lang="ka"] .top .drawer [lang="en"] { display: none; }
  html.menu-lock { overflow: hidden; }
}

.story {
  --ink-soft: rgba(255, 255, 255, 0.8);
  --raw: #ffb3a8;
  --settled: #8ef5d4;
  --sky: 188, 211, 255;
  --blue: rgb(var(--sky));
  --green: #8ef5d4;
  --field: rgba(255, 255, 255, 0.9);
  --placeholder: rgba(255, 255, 255, 0.62);
  --line: rgba(255, 255, 255, 0.3);
  --line-strong: rgba(255, 255, 255, 0.55);
  position: relative;
  padding: 0 clamp(1rem, 6vw, 6rem);
  color: var(--ink);
  font-size: 1.0625rem; line-height: 1.7; letter-spacing: 0.02em;
}
.story:lang(ka) { line-height: 1.8; }

.story p, .story .lead, .slot p { text-wrap: pretty; }

.block { max-width: 60rem; margin: clamp(5rem, 14vh, 9rem) auto 0; scroll-margin-top: 5rem; }
.block :is(h1, h2) {
  margin: 0 0 1rem;
  font-size: clamp(1.625rem, 2.6vw, 2rem); font-weight: 600; line-height: 1.3; letter-spacing: 0.01em;
  text-wrap: balance;
}
.block :is(h1, h2):lang(ka) { line-height: 1.4; }
.block .lead { margin: 0 0 2rem; max-width: 36rem; color: var(--ink-soft); }
.slot {
  scroll-margin-top: 5rem; min-height: 9rem; padding: 1.25rem 1.4rem;
  border: 1px dashed var(--line); border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.05);
}
.slot h3 { margin: 0 0 0.5rem; font-size: 1.1875rem; font-weight: 500; line-height: 1.4; letter-spacing: 0.015em; }
.slot p { margin: 0; color: var(--ink-soft); font-size: 0.9375rem; line-height: 1.6; }
.offer { padding: 1.5rem 1.75rem 1.6rem; border: 1px solid var(--line); border-radius: 1.1rem; background: rgba(255, 255, 255, 0.07); }
.offer-title { margin: 0 0 0.9rem; font-weight: 700; letter-spacing: 0.015em; }
.offer-list { margin: 0; padding: 0; list-style: none; column-gap: 2rem; font-size: 0.9375rem; line-height: 1.5; }
.offer-list li { position: relative; padding-left: 1.5rem; color: rgba(255, 255, 255, 0.9); break-inside: avoid; }
.offer-list li + li { margin-top: 0.55rem; }
.offer-list li::before { content: ""; position: absolute; left: 0.1rem; top: 0.42em; width: 0.6rem; height: 0.32rem; border: solid var(--settled); border-width: 0 0 2px 2px; rotate: -45deg; }
#about .lead { max-width: none; }
.about-close { margin: 2rem auto 0; text-align: center; color: var(--ink-soft); text-wrap: balance; }
@media (min-width: 700px) {
  .offer-list { columns: 2; }
  .offer-list li { margin-bottom: 0.55rem; }
  .offer-list li + li { margin-top: 0; }
}
.story.page { box-sizing: border-box; min-height: 100svh; display: flex; flex-direction: column; padding-top: clamp(7rem, 18vh, 10rem); }
.page .block { margin-top: 0; width: 100%; }
.page .foot { width: 100%; margin: auto auto 0; padding-top: 10vh; }
.contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr); gap: clamp(2rem, 6vw, 4.5rem); align-items: start; }
.contact-form { display: grid; gap: 1.1rem; }
.field { display: grid; gap: 0.4rem; }
.field > span { font-size: 0.9375rem; font-weight: 500; color: var(--field); }
.field > span::after { content: " *"; color: var(--ink-soft); }
.field.opt > span::after { content: none; }
.demo-form { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.25rem; }
.demo-form :is(.wide, .contact-actions) { grid-column: 1 / -1; }
.field input, .field textarea {
  width: 100%; padding: 0.8rem 0.95rem;
  font: inherit; letter-spacing: inherit; color: var(--ink);
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--line); border-radius: 0.65rem;
  transition: border-color 0.2s var(--ease-out), box-shadow 0.2s var(--ease-out), background-color 0.2s var(--ease-out);
}
.field textarea { min-height: 8.5rem; max-height: 14rem; resize: vertical; }
.field input:hover, .field textarea:hover { border-color: var(--line-strong); }
.field ::placeholder { color: var(--placeholder); opacity: 1; }
@media (max-width: 480px) {
  .field input { text-overflow: ellipsis; }
  .field ::placeholder { font-size: 0.78em; }
}
.field input:focus, .field textarea:focus {
  outline: 2px solid transparent; border-color: var(--ink); background: rgba(255, 255, 255, 0.12);
}
.field input.bad, .field textarea.bad {
  border-color: var(--raw); background: rgba(255, 179, 168, 0.1);
}
.contact-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 0.4rem; }
.contact-form button {
  position: relative; padding: 0.8rem 1.6rem; border: 0; border-radius: 0.65rem;
  font: inherit; font-weight: 600; letter-spacing: inherit; color: var(--page); background: var(--ink);
  cursor: pointer;
  transition: scale 0.16s var(--ease-out), box-shadow 0.2s var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .contact-form button:hover { box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.25); }
}
.contact-form button:active { scale: 0.96; transition-duration: 0.06s; }
.contact-form button:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.contact-status { margin: 0; font-size: 0.9375rem; color: var(--settled); transition: opacity 0.3s var(--ease-out), translate 0.4s var(--ease-out); }
@starting-style {
  .contact-status { opacity: 0; translate: 0 0.45rem; }
}
.contact-status:not(.fail)::before {
  content: ""; display: inline-block; width: 0.6em; height: 0.32em; margin: 0 0.65em 0.22em 0.1em;
  border: solid currentColor; border-width: 0 0 2px 2px; rotate: -45deg;
  animation: check-draw 0.4s var(--ease-out) 0.15s both;
}
@keyframes check-draw { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0); } }
.contact-status[hidden] { display: none; }
.contact-status.fail { color: var(--raw); }
.contact-form .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.contact-form .form-note { grid-column: 1 / -1; margin: 0; color: var(--ink-soft); font-size: 0.8125rem; line-height: 1.5; }
.form-note a, .foot a { color: inherit; text-decoration: underline; text-underline-offset: 0.2em; }
.prose { max-width: 44rem; }
.prose h2 { margin: 2.25rem 0 0.6rem; font-size: 1.1875rem; font-weight: 600; line-height: 1.4; letter-spacing: 0.015em; }
.prose h2:first-child { margin-top: 0.5rem; }
.prose p { margin: 0; color: var(--ink-soft); }
.missing { margin-top: 0.5rem; }

.page .block.wide, .page .block.wide + .foot { max-width: 76rem; }
.pricing {
  --pr-card: rgba(255, 255, 255, 0.07);
  --pr-solid: #2e4db5;
  --pr-zebra: rgba(255, 255, 255, 0.06);
  --pr-hl: rgba(255, 255, 255, 0.09);
  --pr-pill: rgba(255, 255, 255, 0.14);
  --pr-tag: rgb(var(--sky));
  --pr-good: var(--settled);
  --pr-good-soft: rgba(142, 245, 212, 0.14);
  --pr-good-line: rgba(142, 245, 212, 0.45);
  --pr-on: #10204a;
  --pr-on-bg: #ffffff;
  --pr-on-good: #0f7a4a;
  --pr-on-good-soft: rgba(15, 122, 74, 0.12);
}
html[lang="en"] .pricing [lang="ka"], html[lang="ka"] .pricing [lang="en"] { display: none; }
.pricing[data-billing="annual"] .pr-price[data-mode="monthly"], .pricing[data-billing="monthly"] .pr-price[data-mode="annual"] { display: none; }
.pricing p { margin: 0; }

.pr-bar { margin: 0 0 1rem; }
.pr-switch { display: inline-flex; gap: 0.25rem; padding: 0.3rem; border: 1px solid var(--line); border-radius: 999px; background: var(--pr-card); }
.pr-switch button {
  display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.5rem; padding: 0.45rem 1.15rem;
  border: 0; border-radius: 999px; font: inherit; font-size: 0.9375rem; font-weight: 600; letter-spacing: inherit; line-height: 1.2;
  color: var(--ink); background: none; cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: background-color 0.2s var(--ease-out), color 0.2s var(--ease-out), scale 0.16s var(--ease-out);
}
.pr-switch button[aria-pressed="true"] { color: var(--pr-on); background: var(--pr-on-bg); }
.pr-switch button:active { scale: 0.96; transition-duration: 0.06s; }
.pr-switch button:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.pr-save { padding: 0.05rem 0.5rem; border-radius: 999px; font-size: 0.75rem; font-weight: 700; color: var(--pr-good); background: var(--pr-good-soft); }
.pr-switch [aria-pressed="true"] .pr-save { color: var(--pr-on-good); background: var(--pr-on-good-soft); }
@media (hover: hover) and (pointer: fine) {
  .pr-switch button[aria-pressed="false"]:hover { background: var(--pr-pill); }
}
.pricing .pr-banner {
  margin: 0 0 2.25rem; padding: 0.8rem 1.15rem; border: 1px solid var(--pr-good-line); border-radius: 0.9rem;
  background: var(--pr-good-soft); font-size: 0.9375rem; line-height: 1.6;
}
.pr-banner strong { color: var(--pr-good); }

.pr-plans { display: grid; gap: 1.25rem 1rem; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .pr-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .pr-plans { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pr-plan {
  display: grid; grid-row: span 5; grid-template-rows: subgrid; grid-template-columns: minmax(0, 1fr); row-gap: 0; min-width: 0;
  padding: 1.4rem 1.2rem 1.3rem; border: 1px solid var(--line); border-radius: 1.1rem;
  color: var(--ink); background: var(--pr-card);
}
.pr-plan.featured {
  --ink: #10204a;
  --ink-soft: rgba(16, 32, 74, 0.72);
  --line: rgba(16, 32, 74, 0.12);
  --pr-tag: #1e40af;
  --pr-good: #0f7a4a;
  --pr-zebra: rgba(30, 64, 175, 0.06);
  --pr-pill: rgba(30, 64, 175, 0.1);
  --pr-accent: #1e40af;
  --pr-on-accent: #ffffff;
  border-color: transparent; background: #ffffff; box-shadow: 0 24px 60px rgba(8, 20, 60, 0.35);
}
.pr-tag { font-size: 0.75rem; font-weight: 700; line-height: 1.5; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pr-tag); }
.pr-plan.featured .pr-tag { width: fit-content; padding: 0.1rem 0.6rem; border-radius: 999px; color: var(--pr-on-accent); background: var(--pr-accent); }
.pricing .pr-plan h2 { margin: 0.25rem 0 0; font-size: 1.375rem; font-weight: 700; line-height: 1.3; letter-spacing: 0.01em; }
.pricing .pr-who { margin-top: 0.35rem; font-size: 0.875rem; line-height: 1.55; color: var(--ink-soft); }
.pr-prices { padding-top: 1.1rem; }
.pr-amount { font-size: 2.125rem; font-weight: 700; line-height: 1.15; letter-spacing: 0; white-space: nowrap; }
.pr-amount small { font-size: 0.9375rem; font-weight: 500; color: var(--ink-soft); }
.pricing .pr-billed { margin-top: 0.35rem; font-size: 0.8125rem; line-height: 1.5; color: var(--ink-soft); }
.pricing .pr-launch { margin-top: 0.4rem; font-size: 0.875rem; font-weight: 700; line-height: 1.5; color: var(--pr-good); }
.pr-limits { margin: 1.1rem 0 0; padding: 0.5rem 0.8rem; border-radius: 0.75rem; background: var(--pr-zebra); font-size: 0.8125rem; line-height: 1.45; }
.pr-limits div { display: flex; justify-content: space-between; gap: 0.75rem; padding: 0.25rem 0; }
.pr-limits dt { flex: 1 1 auto; min-width: 0; color: var(--ink-soft); }
.pr-limits dd { flex: 0 1 auto; max-width: 55%; margin: 0; font-weight: 700; text-align: right; }
.pr-adds { padding-top: 1.1rem; }
.pricing .pr-from { margin-bottom: 0.35rem; font-size: 0.75rem; font-weight: 700; line-height: 1.5; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink-soft); }
.pr-adds ul { margin: 0; padding: 0; list-style: none; font-size: 0.875rem; line-height: 1.5; }
.pr-adds li { position: relative; padding: 0.45rem 0 0.45rem 1.5rem; border-top: 1px solid var(--line); }
.pr-adds li::before {
  content: ""; position: absolute; left: 0.1rem; top: calc(0.45rem + 0.42em); width: 0.6rem; height: 0.32rem;
  border: solid var(--pr-good); border-width: 0 0 2px 2px; rotate: -45deg;
}
.pr-adds li.soon { color: var(--ink-soft); }
.pr-adds li.soon::before { top: calc(0.45rem + 0.3em); width: 0.5rem; height: 0.5rem; border: 1.5px solid currentColor; border-radius: 50%; rotate: none; }
.pr-soon {
  display: inline-block; padding: 0 0.45rem; border-radius: 999px; vertical-align: 0.1em;
  font-size: 0.6875rem; font-weight: 700; line-height: 1.6; letter-spacing: 0.04em; color: var(--pr-tag); background: var(--pr-pill);
}
.pr-cta { align-self: end; justify-content: center; margin-top: 1.4rem; text-align: center; -webkit-tap-highlight-color: transparent; }
.pr-plan.featured .pr-cta { color: var(--pr-on-accent); background: var(--pr-accent); }
.pr-plan.featured .pr-cta:focus-visible { outline-color: var(--pr-accent); }
@media (hover: hover) and (pointer: fine) {
  .pr-plan.featured .pr-cta:hover { box-shadow: 0 0 0 4px var(--pr-pill); }
}
.pricing .pr-note { margin-top: 1.25rem; font-size: 0.875rem; color: var(--ink-soft); }

.pr-section { margin-top: clamp(4rem, 10vh, 6rem); }
.pr-section .lead { margin-bottom: 1.25rem; }
.pr-table { overflow-x: auto; border: 1px solid var(--line); border-radius: 1.1rem; background: var(--pr-card); overscroll-behavior-x: contain; }
.pr-table:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.pr-table table { width: 100%; min-width: 46rem; border-collapse: collapse; font-size: 0.875rem; line-height: 1.5; }
.pr-table :is(th, td) { padding: 0.6rem 1rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.pr-table tbody tr:last-child :is(th, td) { border-bottom: 0; }
.pr-table thead th { font-weight: 700; white-space: nowrap; }
.pr-table tbody th { font-weight: 400; }
.pr-matrix td, .pr-matrix thead th:not(:first-child) { width: 12%; text-align: center; }
.pr-matrix .hl { background: var(--pr-hl); }
.pr-group th { padding-top: 0.85rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pr-tag); background: var(--pr-zebra); }
.pr-yes { font-weight: 700; color: var(--pr-good); }
.pr-no { color: var(--ink-soft); }
@media (max-width: 699px) {
  .pr-table :is(th, td) { padding: 0.55rem 0.75rem; }
  .pr-table :is(tbody th[scope="row"], thead th:first-child) { position: sticky; left: 0; z-index: 1; background: var(--pr-solid); }
  .pr-table .pr-matrix { min-width: 33rem; }
  .pr-matrix :is(thead th:first-child, tbody th[scope="row"]) { width: 10.5rem; min-width: 10.5rem; }
  .pr-matrix td, .pr-matrix thead th:not(:first-child) { width: auto; }
  .pr-group .pr-sticky { display: inline-block; position: sticky; left: 0.75rem; }
}
@media (prefers-reduced-motion: reduce) {
  .pr-switch button { transition: none; }
}
.contact-form button:disabled { opacity: 0.6; cursor: default; }
.contact-form button.sending:disabled { opacity: 1; color: transparent; cursor: progress; }
.contact-form button.sending::after {
  content: ""; position: absolute; inset: 0; width: 1.15em; height: 1.15em; margin: auto;
  border: 2px solid var(--page); border-right-color: transparent; border-radius: 50%;
  animation: send-spin 0.7s linear infinite;
}
@keyframes send-spin { to { rotate: 360deg; } }
@media (prefers-reduced-motion: reduce) {
  .contact-status { transition: opacity 0.2s ease; translate: none; }
  .contact-status:not(.fail)::before { animation: none; }
  .contact-form button.sending::after { animation-duration: 1.6s; }
}

.chip {
  --flow: 3.6s;
  position: relative; container-type: inline-size;
  width: 100%; max-width: 24rem; justify-self: center; aspect-ratio: 1;
  background: radial-gradient(closest-side, rgba(var(--sky), 0.16), transparent);
}
.chip stop { stop-color: rgb(var(--sky)); }
.chip svg { display: block; width: 100%; height: 100%; overflow: visible; }
.chip use, .chip .pins path { fill: none; }
.chip .trace { stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.chip .in .trace { stroke: var(--raw); stroke-opacity: 0.3; }
.chip .out .trace { stroke: var(--green); stroke-opacity: 0.3; }
.chip .pulse { stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; stroke-opacity: 0.45; }
.chip .in .pulse { stroke: var(--raw); }
.chip .out .pulse { stroke: var(--green); }
.chip.live .pulse { display: none; }
.chip :is(.flow, .needles) { position: absolute; inset: 0; pointer-events: none; --u: calc(100cqi / 360); }
.chip .flow i {
  position: absolute; left: calc(var(--x) * var(--u)); top: calc((var(--y) - 1.25) * var(--u));
  width: calc(var(--w) * var(--u)); height: calc(2.5 * var(--u));
  transform-origin: 0 50%; transform: rotate(calc(var(--a) * 1deg)); overflow: hidden;
}
.chip .flow b {
  position: absolute; top: 0; bottom: 0; left: calc(var(--s) * -1 * var(--u)); width: calc(var(--l) * 2 * var(--u));
  animation: chip-flow var(--flow) linear infinite;
}
.chip .flow b::before, .chip .flow b::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: calc(var(--s) * var(--u));
  border-radius: calc(1.25 * var(--u)); background: var(--raw);
}
.chip .flow b::after { left: 50%; }
.chip .flow .out b::before, .chip .flow .out b::after { background: var(--green); }
.chip .needles i { position: absolute; left: calc(var(--x) * var(--u)); top: calc(76 * var(--u)); }
.chip .needles i.down { top: calc(284 * var(--u)); }
.chip .needles i::before, .chip .needles i::after { content: ""; position: absolute; will-change: transform; animation-duration: var(--t); animation-timing-function: ease-in-out; animation-delay: var(--o); animation-iteration-count: infinite; }
.chip .needles i::before {
  left: calc(-0.75 * var(--u)); bottom: 0; width: calc(1.5 * var(--u)); height: calc(var(--len) * var(--u));
  background: rgba(var(--sky), 0.35); transform-origin: 50% 100%; animation-name: var(--line);
}
.chip .needles i.down::before { bottom: auto; top: 0; transform-origin: 50% 0; }
.chip .needles i::after {
  left: calc(-3 * var(--u)); top: calc((-3 - var(--len)) * var(--u)); width: calc(6 * var(--u)); height: calc(6 * var(--u));
  border-radius: 50%; background: rgba(var(--sky), 0.65); animation-name: var(--dot);
}
.chip .needles i.down::after { top: calc((var(--len) - 3) * var(--u)); }
.chip .needles .l32 { --len: 32; --line: chip-line32; }
.chip .needles .l48 { --len: 48; --line: chip-line48; }
.chip .needles .up { --dot: chip-dot-up; }
.chip .needles .down { --dot: chip-dot-down; }
.chip.paused .flow b, .chip.paused .needles i::before, .chip.paused .needles i::after { animation-play-state: paused; }
.chip .pins path { stroke: rgba(var(--sky), 0.7); stroke-width: 6; stroke-linecap: butt; }
.chip .body { fill: rgba(var(--sky), 0.12); stroke: var(--blue); stroke-width: 1.5; }
.chip .notch { fill: none; stroke: var(--blue); stroke-width: 1.5; }
.chip .die { stroke: var(--blue); stroke-width: 1.5; }
@keyframes chip-line32 { 0%, 100% { transform: scaleY(1); } 22% { transform: scaleY(1.4375); } 47% { transform: scaleY(0.76); } 73% { transform: scaleY(1.284); } }
@keyframes chip-line48 { 0%, 100% { transform: scaleY(1); } 22% { transform: scaleY(1.2917); } 47% { transform: scaleY(0.84); } 73% { transform: scaleY(1.19); } }
@keyframes chip-dot-up { 0%, 100% { transform: none; } 22% { transform: translateY(-233.333%); } 47% { transform: translateY(128.333%); } 73% { transform: translateY(-151.667%); } }
@keyframes chip-dot-down { 0%, 100% { transform: none; } 22% { transform: translateY(233.333%); } 47% { transform: translateY(-128.333%); } 73% { transform: translateY(151.667%); } }
@keyframes chip-flow { to { transform: translateX(50%); } }
@media (prefers-reduced-motion: reduce) {
  .chip .flow { display: none; }
  .chip.live .pulse { display: inline; }
  .chip .needles i::before, .chip .needles i::after { animation: none; }
  .field input, .field textarea, .contact-form button { transition: none; }
}
@media (max-width: 819px) {
  .contact, .demo-form { grid-template-columns: minmax(0, 1fr); }
  .chip { max-width: 18rem; }
}
.reveal {
  opacity: 0; translate: 0 0.75rem;
  transition: opacity 0.6s var(--ease-out) var(--d, 0s), translate 0.7s var(--ease-out) var(--d, 0s);
}
.reveal.in { opacity: 1; translate: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { translate: none; transition: opacity 0.3s ease; }
}
.foot { max-width: 60rem; margin: 0 auto; padding: 14vh 0 2.5rem; color: var(--ink-soft); font-size: 0.875rem; }
.foot small { font-size: inherit; }
.consent-open {
  padding: 0; border: 0; border-radius: 2px; font: inherit; letter-spacing: inherit; color: inherit; background: none;
  text-decoration: underline; text-underline-offset: 0.2em; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.consent-open:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

.consent {
  --consent-bg: #ffffff;
  --consent-ink: #10204a;
  --consent-soft: rgba(16, 32, 74, 0.74);
  --consent-accent: #1e40af;
  --consent-on-accent: #ffffff;
  --consent-ring: rgba(30, 64, 175, 0.15);
  --consent-shadow: 0 18px 48px rgba(16, 32, 74, 0.28), 0 2px 6px rgba(16, 32, 74, 0.12);
  position: fixed; z-index: 5; right: 1.5rem; bottom: 1.5rem; box-sizing: border-box; width: min(25rem, calc(100vw - 3rem));
  padding: 1.1rem 1.25rem 1.25rem; border-radius: 1rem;
  color: var(--consent-ink); background: var(--consent-bg); box-shadow: var(--consent-shadow);
  font-size: 0.9375rem; line-height: 1.55; letter-spacing: 0.015em;
  transition: opacity 0.35s var(--ease-out), translate 0.5s var(--ease-out);
}
.consent[hidden] { display: none; }
@starting-style {
  .consent { opacity: 0; translate: 0 1rem; }
}
html[lang="en"] :is(.consent, .consent-open) [lang="ka"], html[lang="ka"] :is(.consent, .consent-open) [lang="en"] { display: none; }
html.menu-lock .consent { visibility: hidden; }
.consent:lang(ka) { line-height: 1.65; }
.consent-title { margin: 0 0 0.3rem; font-size: 1rem; font-weight: 600; }
.consent-text { margin: 0; color: var(--consent-soft); text-wrap: pretty; }
.consent-text a { color: var(--consent-accent); text-decoration: underline; text-underline-offset: 0.2em; }
.consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; margin-top: 1rem; }
.consent-actions button {
  min-height: 2.75rem; padding: 0.55rem 1rem; border: 1.5px solid var(--consent-accent); border-radius: 0.65rem;
  font: inherit; font-weight: 600; letter-spacing: inherit; color: var(--consent-accent); background: transparent;
  cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: scale 0.16s var(--ease-out), box-shadow 0.2s var(--ease-out);
}
.consent-actions button[data-choice="yes"] { color: var(--consent-on-accent); background: var(--consent-accent); }
.consent-actions button:active { scale: 0.96; transition-duration: 0.06s; }
.consent-actions button:focus-visible { outline: 2px solid var(--consent-accent); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  .consent-actions button:hover { box-shadow: 0 0 0 4px var(--consent-ring); }
}
@media (max-width: 819px) {
  .consent { left: 1rem; right: 1rem; bottom: calc(1rem + env(safe-area-inset-bottom)); width: auto; }
}
@media (prefers-contrast: more) {
  .consent { --consent-soft: var(--consent-ink); }
}
@media (prefers-reduced-motion: reduce) {
  .consent { transition: opacity 0.3s ease; }
  @starting-style {
    .consent { translate: none; }
  }
  .consent-actions button { transition: none; }
}

@media (max-width: 640px) {
  .story { font-size: 1rem; }
}

html[lang="en"] .lower [lang="ka"], html[lang="ka"] .lower [lang="en"] { display: none; }

.cta {
  display: inline-flex; align-items: center; gap: 0.55em;
  padding: 0.8rem 1.4rem; border-radius: 999px;
  background: #ffffff; color: #10204a; font-weight: 600; text-decoration: none; line-height: 1.2;
  transition: transform 0.16s var(--ease-out), box-shadow 0.2s var(--ease-out);
}
.cta::after { content: ""; width: 0.42em; height: 0.42em; border: solid currentColor; border-width: 2px 2px 0 0; rotate: 45deg; }
.cta:active { transform: scale(0.96); transition-duration: 0.06s; }
.cta:focus-visible { outline: 2px solid #ffffff; outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  .cta:hover { box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.28); }
}

.lower {
  --tone-journey: #dfe9ff; --tone-about: #e6e2ff; --tone-demo: #d6ebff; --tone-contact: #e9e3ff;
  margin-top: calc(-1 * clamp(1.75rem, 4vw, 3.5rem));
  padding-top: clamp(1.75rem, 4vw, 3.5rem);
  background-color: var(--tone-journey);
  transition: background-color 0.8s var(--ease-out);
  overflow-x: clip; isolation: isolate;
}
@supports not (overflow: clip) {
  .lower { overflow-x: hidden; }
}
.lower[data-tone="about"] { background-color: var(--tone-about); }
.lower[data-tone="demo"] { background-color: var(--tone-demo); }
.lower[data-tone="contact"] { background-color: var(--tone-contact); }
.lower .foot { color: rgba(16, 32, 74, 0.72); }

.journey { --ink: #10204a; --ink-soft: rgba(16, 32, 74, 0.74); color: var(--ink); padding-top: clamp(3.5rem, 10vh, 7rem); }
.jr-intro { max-width: 46rem; margin: 0 auto clamp(2.5rem, 6vh, 4rem); text-align: center; }
.jr-intro h2 { margin: 0 0 0.75rem; font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; line-height: 1.15; text-wrap: balance; }
.jr-intro h2:lang(ka) { line-height: 1.3; }
.jr-intro p { margin: 0; color: var(--ink-soft); }
.jr { max-width: 72rem; margin: 0 auto; }
.jr-ico { width: 1.2rem; height: 1.2rem; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.jr-nav {
  position: fixed; z-index: 3; left: 1rem; top: 50%; display: grid; gap: 0.3rem;
  translate: -1.5rem -50%; opacity: 0; visibility: hidden;
  transition: translate 0.4s var(--ease-out), opacity 0.3s var(--ease-out), visibility 0s linear 0.4s;
}
.jr.nav-in .jr-nav { translate: 0 -50%; opacity: 1; visibility: visible; transition-delay: 0s; }
.jr-nav a {
  display: flex; align-items: center; gap: 0.6rem; padding: 0.6rem; border-radius: 999px;
  color: var(--ink-soft); text-decoration: none; font-size: 0.9375rem; font-weight: 500; white-space: nowrap;
  transition: background-color 0.3s var(--ease-out), color 0.3s var(--ease-out), box-shadow 0.3s var(--ease-out), transform 0.16s var(--ease-out);
}
.jr-nav-label { display: none; }
.jr-nav a.on { background: #ffffff; color: var(--ink); box-shadow: 0 6px 18px rgba(16, 32, 74, 0.12); }
.jr-nav a:active { transform: scale(0.96); transition-duration: 0.06s; }
.jr-nav a:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
@media (min-width: 1500px) {
  .jr-nav { left: 2rem; }
  .jr-nav a { padding: 0.55rem 1.1rem 0.55rem 0.8rem; }
  .jr-nav-label { display: inline; }
}
@media (hover: hover) and (pointer: fine) {
  .jr-nav a:hover { color: var(--ink); background: rgba(255, 255, 255, 0.55); }
  .jr-nav a.on:hover { background: #ffffff; }
}
.jr-cards { --stick: 5.5rem; --tab: 2.875rem; --keep: 4; padding-bottom: 1rem; }
.jr-card {
  --c1: #0a1f6b; --c2: #1d4ed8; --r: 1.875rem; --edge: rgba(255, 255, 255, 0.3);
  --fill: radial-gradient(120% 90% at 90% 108%, rgba(0, 179, 255, 0.34), rgba(0, 179, 255, 0) 60%), linear-gradient(150deg, var(--c1), var(--c2));
  position: sticky; top: calc(var(--stick) + min(var(--i), var(--keep)) * var(--tab)); isolation: isolate;
  height: min(36rem, calc(100svh - var(--stick) - var(--keep) * var(--tab) - 1.5rem)); min-height: 24rem;
  margin-bottom: 4rem; display: flex; flex-direction: column;
  padding: calc(var(--tab) + 0.35rem) clamp(1.5rem, 3.5vw, 3rem) clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid var(--edge); border-radius: var(--r); color: #ffffff;
  background: var(--fill);
  box-shadow: 0 24px 50px rgba(16, 32, 74, 0.22);
  transform-origin: 50% 0; translate: 0 var(--shift, 0px); scale: var(--scale, 1); opacity: var(--fade, 1); will-change: transform;
}
.jr-card.fading { box-shadow: none; }
.jr-cards.timed .jr-card { translate: none; scale: none; }
.jr-bg { display: none; }
@supports (clip-path: shape(from 0 0, line to 1px 1px)) {
  .jr-card { border-color: transparent; background: none; }
  .jr-bg { --cr: var(--r); display: block; position: absolute; inset: -1px; z-index: -1; pointer-events: none; background: var(--fill); }
  .jr-bg, .jr-bg::after { clip-path: shape(from var(--cr) 0, hline to calc(100% - var(--cr)), arc to 100% var(--cr) of var(--cr) cw, vline to calc(100% - var(--cr)), arc to calc(100% - var(--cr)) 100% of var(--cr) cw, hline to var(--cr), arc to 0 calc(100% - var(--cr)) of var(--cr) cw, vline to var(--cr), arc to var(--cr) 0 of var(--cr) cw, close); }
  .jr-bg::before, .jr-bg::after { content: ""; position: absolute; inset: 0; }
  .jr-bg::before { background: var(--edge); }
  .jr-bg::after { --cr: calc(var(--r) - 1px); inset: 1px; background: var(--fill); }
}
.jr-card:nth-child(2) { --c1: #101c63; --c2: #3b4fd8; }
.jr-card:nth-child(3) { --c1: #062a63; --c2: #2563eb; }
.jr-card:nth-child(4) { --c1: #073a4f; --c2: #0e7490; }
.jr-card:nth-child(5) { --c1: #1e1b6b; --c2: #4f46e5; }
.jr-card:nth-child(6) { --c1: #0b2a5c; --c2: #1e6fd8; }
.jr-card:nth-child(7) { --c1: #2a1b6b; --c2: #6d28d9; }
.jr-card:nth-child(8) { --c1: #0a3442; --c2: #0f766e; }
.jr-card:nth-child(9) { --c1: #0b1f5c; --c2: #1e40af; }
.jr-card:nth-child(10) { --c1: #0d1640; --c2: #1e3a8a; }
.jr-tab {
  position: absolute; top: 0; left: 0; right: 0; height: var(--tab);
  display: flex; align-items: center; gap: 0.75rem; padding: 0 clamp(1.5rem, 3.5vw, 3rem);
  border: 0; background: none; color: rgba(255, 255, 255, 0.85); font: inherit; font-size: 0.95rem; font-weight: 600; letter-spacing: inherit; text-align: left;
  cursor: pointer; opacity: 0; pointer-events: none; transition: opacity 0.25s var(--ease-out);
}
.jr-card.tucked .jr-tab { opacity: 1; pointer-events: auto; }
.jr-num { color: #8fc3ff; font-variant-numeric: tabular-nums; }
.jr-tab-mark { margin-left: auto; display: flex; color: #7cc4ff; }
@media (hover: hover) and (pointer: fine) {
  .jr-card.tucked .jr-tab:hover { color: #ffffff; }
}
.jr-head { flex: none; display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; margin-bottom: clamp(1rem, 3vh, 2rem); }
.jr-head h3 { margin: 0; font-size: clamp(1.5rem, 2.6vw, 2.35rem); font-weight: 700; line-height: 1.15; letter-spacing: 0.01em; text-wrap: balance; }
.jr-head h3:lang(ka) { line-height: 1.3; }
.jr-head h3 em { display: block; font-style: normal; color: #7cc4ff; }
.jr-mark { flex: none; margin: 0; display: flex; flex-direction: row-reverse; align-items: center; gap: 0.85rem; text-align: right; }
.jr-badge { width: 3.5rem; height: 3.5rem; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.25); background: rgba(255, 255, 255, 0.1); box-shadow: 0 0 28px rgba(0, 179, 255, 0.35); color: #7cc4ff; }
.jr-badge .jr-ico { width: 1.6rem; height: 1.6rem; }
.jr-mark-text { display: grid; gap: 0.1rem; }
.jr-mark-text b { font-size: 1.05rem; font-weight: 700; }
.jr-mark-text small { font-size: 0.85rem; color: rgba(255, 255, 255, 0.75); }
.jr-body { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(1.25rem, 3vw, 2.5rem); }
.jr-text { min-height: 0; display: flex; flex-direction: column; align-items: flex-start; }
.jr-points { margin: 0 0 1.5rem; padding: 0; list-style: none; display: grid; gap: 0.5rem; font-size: 0.9375rem; line-height: 1.45; }
.jr-points li { position: relative; padding-left: 1.5rem; color: rgba(255, 255, 255, 0.9); }
.jr-points li::before { content: ""; position: absolute; left: 0.1rem; top: 0.42em; width: 0.6rem; height: 0.32rem; border: solid #8ef5d4; border-width: 0 0 2px 2px; rotate: -45deg; }
.jr-points li.titled b { display: block; color: #ffffff; font-weight: 700; }
.jr-shot { margin: 0; min-height: 0; padding: clamp(0.75rem, 3%, 1.25rem); border-radius: 1.25rem; overflow: hidden; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.3); }
@media (max-height: 820px) and (min-width: 820px) {
  .jr-head { margin-bottom: 1rem; }
  .jr-head h3 { font-size: clamp(1.35rem, 2.2vw, 1.9rem); }
  .jr-head h3 em { display: inline; }
  .jr-body { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  .jr-points { margin-bottom: 1rem; gap: 0.35rem; font-size: 0.875rem; line-height: 1.4; }
  .jr-points li.titled b { display: inline; }
  .jr-points li.titled b::after { content: " · "; color: rgba(255, 255, 255, 0.6); }
  .jr-card .cta { padding: 0.7rem 1.25rem; }
  .jr-badge { width: 3rem; height: 3rem; }
}
.cta.down::after { content: none; }
.cta.down svg { width: 1.05em; height: 1.05em; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: translate 0.2s var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
  .cta.down:hover svg { translate: 0 2px; }
}
@media (max-width: 1099px) {
  .jr-nav { display: none; }
}
@media (max-width: 819px) and (min-height: 600px) {
  .jr-cards { --stick: 4.5rem; --tab: 2.6rem; --keep: 2; }
  .jr-card { height: min(40rem, calc(100svh - var(--stick) - var(--keep) * var(--tab) - 1rem)); min-height: 0; margin-bottom: 2.5rem; padding: calc(var(--tab) + 0.6rem) 1.25rem 1.25rem; --r: 1.5rem; }
  .jr-tab { padding: 0 1.25rem; gap: 0.6rem; font-size: 0.875rem; }
  .jr-mark { display: none; }
  .jr-head { margin-bottom: 0.85rem; }
  .jr-head h3 { font-size: clamp(1.3rem, 6vw, 1.75rem); }
  .jr-body { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); gap: 1rem; }
  .jr-points { margin-bottom: 1rem; gap: 0.3rem; font-size: 0.875rem; line-height: 1.4; }
  .jr-points li.titled b { display: inline; }
  .jr-points li.titled b::after { content: " · "; color: rgba(255, 255, 255, 0.6); }
  .jr-card .cta { padding: 0.65rem 1.15rem; }
  .jr-shot { padding: 0.6rem; border-radius: 1rem; }
  .jr-card.no-shot .jr-shot { display: none; }
}
@media (max-width: 819px) and (min-height: 600px) and (max-height: 759px) {
  .jr-cards { --stick: 4.25rem; --tab: 2.4rem; }
  .jr-card { padding: calc(var(--tab) + 0.45rem) 1.1rem 1rem; }
  .jr-tab { padding: 0 1.1rem; font-size: 0.8125rem; }
  .jr-head { margin-bottom: 0.6rem; }
  .jr-head h3 { font-size: clamp(1.2rem, 5.4vw, 1.5rem); }
  .jr-body { gap: 0.75rem; }
  .jr-points { margin-bottom: 0.75rem; gap: 0.2rem; font-size: 0.8125rem; line-height: 1.38; }
  .jr-card .cta { padding: 0.55rem 1rem; font-size: 0.9375rem; }
}
@media (min-width: 820px) and (max-height: 699px), (max-width: 819px) and (max-height: 599px) {
  .jr-nav { display: none; }
  .jr-card { position: relative; top: auto; height: auto; min-height: 0; margin-bottom: 1.25rem; padding: 0 1.25rem 1.5rem; translate: none; scale: none; opacity: 1; will-change: auto; }
  .jr-tab { position: static; opacity: 1; pointer-events: none; height: 3rem; margin: 0 -1.25rem 1.25rem; padding: 0 1.25rem; border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
  .jr-mark { display: none; }
  .jr-body { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .jr-shot { aspect-ratio: 16 / 10; }
  .jr-card.pre { transition: opacity 0.6s var(--ease-out), translate 0.8s var(--ease-out), scale 0.8s var(--ease-out); }
  .jr-card.pre:not(.seen) { opacity: 0; translate: 0 3rem; scale: 0.94; }
  .jr-card.pre :is(.jr-head, .jr-points li, .jr-text > .cta, .jr-shot) { transition: opacity 0.5s var(--ease-out) var(--w, 0s), translate 0.6s var(--ease-out) var(--w, 0s); }
  .jr-card.pre:not(.seen) :is(.jr-head, .jr-points li, .jr-text > .cta, .jr-shot) { opacity: 0; translate: 0 0.9rem; }
  .jr-card.pre .jr-head { --w: 0.12s; }
  .jr-card.pre .jr-points li { --w: calc(0.2s + var(--n, 0) * 0.06s); }
  .jr-card.pre .jr-text > .cta { --w: 0.45s; }
  .jr-card.pre .jr-shot { --w: 0.3s; }
}
@media (min-width: 820px) and (max-height: 699px) and (prefers-reduced-motion: reduce), (max-width: 819px) and (max-height: 599px) and (prefers-reduced-motion: reduce) {
  .jr-card.pre, .jr-card.pre :is(.jr-head, .jr-points li, .jr-text > .cta, .jr-shot) { translate: none !important; scale: none !important; transition: opacity 0.3s ease; }
}
@media (max-width: 819px) {
  .grow { --inset: 1rem; }
}
@media (max-width: 819px) and (min-width: 560px) {
  .jr-body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
  .jr-shot { aspect-ratio: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .jr-nav, .jr-tab { transition: none; }
}

.grow {
  --inset: max(0.75rem, calc(50vw - 33rem));
  position: relative; isolation: isolate;
  margin-top: clamp(1.5rem, 4vh, 2.5rem);
  padding: clamp(3.5rem, 9vh, 6rem) 1.25rem;
  color: #ffffff;
}
.grow::before {
  content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: calc(50% - 50vw); width: 100vw;
  background: linear-gradient(180deg, var(--top, #1e3a8a), var(--bot, #1e3a8a));
  clip-path: inset(0 calc((1 - var(--g, 1)) * var(--inset)) round calc((1 - var(--g, 1)) * 2.25rem + 0.01px));
}
.grow + .grow { margin-top: -1px; }
.grow + .grow::before, .grow + .grow > * { transform: translateY(var(--lift, 0px)); }
.grow + .grow::before {
  clip-path: inset(calc((1 - var(--g, 1)) * 2rem) calc((1 - var(--g, 1)) * var(--inset)) 0 round calc((1 - var(--g, 1)) * 2rem + 0.01px));
}
.grow[data-tone="about"] { z-index: 3; --top: #1d4ed8; --bot: #1e3a8a; }
.grow[data-tone="demo"] { z-index: 2; --top: #1e3a8a; --bot: #1d4ed8; }
.grow[data-tone="contact"] { z-index: 1; --top: #1d4ed8; --bot: #4338ca; }
.grow:last-of-type { margin-bottom: 0; }
.grow .cta { margin-top: 0.25rem; }
@media (prefers-reduced-motion: reduce) {
  .lower { transition: none; }
  .jr-card { scale: none; }
}

.art {
  --art-bg: #eef3ff; --art-card: #ffffff; --art-line: #d6dff5; --art-shadow: rgba(30, 64, 175, 0.1);
  --art-a: #1e40af; --art-a2: #9db8ff; --art-a3: #3f66dc; --art-g: #22b88a; --art-y: #f2a93b;
  background: var(--art-bg);
}
.art svg { display: block; width: 100%; height: 100%; overflow: visible; }
.top .panel-shot svg { position: absolute; top: 0.6rem; left: 0.6rem; width: calc(100% - 1.2rem); height: calc(100% - 1.2rem); }
.art .c { fill: var(--art-card); }
.art .s { fill: var(--art-shadow); }
.art .l { fill: var(--art-line); }
.art .a { fill: var(--art-a); }
.art .a2 { fill: var(--art-a2); }
.art .a3 { fill: var(--art-a3); }
.art .g { fill: var(--art-g); }
.art .y { fill: var(--art-y); }
.art .w { fill: #ffffff; }
.art .f { fill: var(--art-bg); stroke: var(--art-line); stroke-width: 1.5; }
.art :is(.o, .o2, .ow, .ow5, .owb, .og, .d, .ring-l, .arc) { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.art .o { stroke: var(--art-a); stroke-width: 2.5; }
.art .o2 { stroke: var(--art-a2); stroke-width: 2; }
.art .ow { stroke: #ffffff; stroke-width: 2.5; }
.art .owb { stroke: #ffffff; stroke-width: 7; }
.art .ow5 { stroke: #ffffff; stroke-width: 5; }
.art .og { stroke: var(--art-g); stroke-width: 3; }
.art .d { stroke: var(--art-a2); stroke-width: 2; stroke-dasharray: 4 5; }
.art .ring-l { stroke: var(--art-line); stroke-width: 8; }
.art .arc { stroke: var(--art-a); stroke-width: 8; stroke-dasharray: 68 100; stroke-linecap: butt; }
.art .ring { opacity: 0.35; }
.art :is(.pop, .rise, .risex, .ring, .spin) { transform-box: fill-box; transform-origin: 50% 50%; }
.art .rise { transform-origin: 50% 100%; }
.art .risex { transform-origin: 0 50%; }
.art.live :is(.pop, .bob, .rise, .risex, .fly, .nudge, .ring, .flow, .spin) { animation-delay: var(--d, 0s); animation-iteration-count: infinite; }
.art.live .pop { animation-name: art-pop; animation-duration: 3.6s; animation-timing-function: var(--ease-out); animation-fill-mode: both; }
.art.live .bob { animation-name: art-bob; animation-duration: 3.2s; animation-timing-function: ease-in-out; }
.art.live .rise { animation-name: art-grow; animation-duration: 3.6s; animation-timing-function: ease-in-out; }
.art.live .risex { animation-name: art-growx; animation-duration: 3.6s; animation-timing-function: ease-in-out; }
.art.live .fly { animation-name: art-fly; animation-duration: 2.8s; animation-timing-function: var(--ease-out); }
.art.live .nudge { animation-name: art-nudge; animation-duration: 1.6s; animation-timing-function: ease-in-out; }
.art.live .ring { animation-name: art-ring; animation-duration: 2.6s; animation-timing-function: ease-out; }
.art.live .spin { animation-name: art-spin; animation-duration: 6s; animation-timing-function: linear; }
.art.live .flow { animation-name: art-flow; animation-duration: 1.2s; animation-timing-function: linear; }
@keyframes art-in { from { opacity: 0; scale: 0.97; } }
@keyframes art-pop { 0% { opacity: 0; scale: 0.6; } 14%, 86% { opacity: 1; scale: 1; } 100% { opacity: 0; scale: 1; } }
@keyframes art-bob { 50% { translate: 0 -5px; } }
@keyframes art-grow { 0%, 100% { scale: 1 0.35; } 40%, 75% { scale: 1 1; } }
@keyframes art-growx { 0%, 100% { scale: 0.15 1; } 40%, 75% { scale: 1 1; } }
@keyframes art-fly { 0% { translate: -22px 12px; opacity: 0; } 20% { opacity: 1; } 75% { translate: 6px -4px; opacity: 1; } 100% { translate: 18px -10px; opacity: 0; } }
@keyframes art-nudge { 50% { translate: 6px 0; } }
@keyframes art-ring { 0% { scale: 0.85; opacity: 0.55; } 100% { scale: 1.45; opacity: 0; } }
@keyframes art-spin { to { rotate: 360deg; } }
@keyframes art-flow { to { stroke-dashoffset: -18; } }
@media (prefers-reduced-motion: reduce) {
  .art.live * { animation: none; }
}
