@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+Georgian:wght@400;500;600;700&display=swap'); :root {
    --bg: #dfe4e7;
    --bg-soft: #eceff3;
    --surface: rgba(255,255,255,.62);
    --surface-strong: rgba(255,255,255,.82);
    --ink: #101216;
    --muted: #676c74;
    --line: rgba(16,18,22,.11);
    --line-soft: rgba(16,18,22,.065);
    --dark: #0b0d12;
    --dark-2: #11151d;
    --dark-surface: rgba(255,255,255,.07);
    --dark-line: rgba(255,255,255,.12);
    --white: #fff;
    --blue: #315cff;
    --cyan: #69d7e8;
    --violet: #7d68ff;
    --pink: #de9ad1;
    --radius-xl: 34px;
    --radius-lg: 26px;
    --radius-md: 18px;
    --shadow: 0 30px 90px rgba(20,25,34,.10);
    --shadow-soft: 0 16px 45px rgba(20,25,34,.07);
    --ease: cubic-bezier(.2,.78,.2,1);
    --header-h: 82px;
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    background: var(--bg);
    color: var(--ink)
}

body {
    margin: 0;
    min-height: 100vh;
    font-family: 'Noto Sans Georgian',Inter,system-ui,sans-serif;
    background: var(--bg);
    color: var(--ink);
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
    transition: background-color .72s var(--ease),color .45s var(--ease)
}

html[lang="en"] body {
    font-family: Inter,'Noto Sans Georgian',system-ui,sans-serif
}

a {
    color: inherit;
    text-decoration: none
}

img {
    display: block;
    max-width: 100%
}

button,input,select,textarea {
    font: inherit
}

button {
    color: inherit
}

::selection {
    background: #16191f;
    color: #fff
}

.site-shell {
    width: min(1460px,calc(100% - 56px));
    margin-inline:auto}

main {
    position: relative;
    z-index: 1
}

.section {
    padding: clamp(76px,8vw,132px) 0
}

.section-sm {
    padding: clamp(52px,5vw,84px) 0
}

.section.flush-top {
    padding-top: 0
}

.section-title {
    font-size: clamp(30px,3.5vw,50px);
    line-height: 1.14;
    letter-spacing: -.032em;
    font-weight: 500;
    margin: 0;
    max-width: 860px;
    text-wrap: balance
}

.page-title {
    font-size: clamp(42px,5vw,72px);
    line-height: 1.08;
    letter-spacing: -.045em;
    font-weight: 500;
    margin: 0;
    max-width: 920px;
    text-wrap: balance
}

.hero-title {
    font-size: clamp(46px,5.5vw,80px);
    line-height: 1.05;
    letter-spacing: -.05em;
    font-weight: 500;
    margin: 0;
    max-width: 760px;
    text-wrap: balance
}

html[lang="ka"] .hero-title {
    font-size: clamp(42px,5vw,70px);
    line-height: 1.13;
    letter-spacing: -.025em
}

html[lang="ka"] .page-title {
    font-size: clamp(38px,4.5vw,62px);
    line-height: 1.17;
    letter-spacing: -.022em
}

html[lang="ka"] .section-title {
    font-size: clamp(28px,3vw,44px);
    line-height: 1.22;
    letter-spacing: -.018em
}

h1,h2,h3,p {
    margin-top: 0
}

h3 {
    font-size: clamp(20px,1.7vw,27px);
    line-height: 1.22;
    letter-spacing: -.02em;
    font-weight: 500;
    margin: 0;
    text-wrap: balance
}

html[lang="ka"] h3 {
    letter-spacing: -.01em;
    line-height: 1.28
}

p {
    font-size: 14px;
    line-height: 1.72;
    color: var(--muted);
    margin-bottom: 0
}

.lede {
    font-size: clamp(15px,1.1vw,18px);
    line-height: 1.66;
    max-width: 640px
}

.eyebrow {
    font-size: 10px;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 700;
    color: #767b83
}

.muted {
    color: var(--muted)
}

/* app chrome */
.scroll-progress {
    position: fixed;
    z-index: 120;
    left: 0;
    top: 0;
    width: 100%;
    height: 2px;
    background: transparent;
    pointer-events: none
}

.scroll-progress span {
    display: block;
    height: 100%;
    width: 0;
    background: linear-gradient(90deg,var(--blue),var(--violet),var(--pink));
    transform-origin: left center
}

.site-header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--header-h);
    display: flex;
    align-items: center;
    color: var(--ink);
    transition: background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),height .35s var(--ease);
    border-bottom: 1px solid transparent
}

.site-header.is-scrolled {
    height: 70px;
    background: rgb(241 239 244 / 82%);
    backdrop-filter: blur(20px) saturate(125%);
    border-color: var(--line-soft)
}

.header-inner {
    width: min(1460px,calc(100% - 56px));
    margin-inline:auto;display: grid;
    grid-template-columns: 220px 1fr auto;
    align-items: center;
    gap: 24px
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 650;
    font-size: 20px;
    letter-spacing: -.03em;
    white-space: nowrap
}

.brand-mark {
    width: 18px;
    height: 18px;
    display: inline-block;
    position: relative
}

.brand-mark:before,.brand-mark:after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background: currentColor
}

.brand-mark:before {
    width: 10px;
    height: 10px;
    left: 0;
    top: 4px
}

.brand-mark:after {
    width: 7px;
    height: 7px;
    right: 0;
    top: 0
}

.main-nav {
    display: flex;
    justify-content: center;
    gap: clamp(16px,2vw,34px);
    font-size: 11px;
    color: #3e434a
}

.main-nav a {
    position: relative;
    padding: 10px 0;
    white-space: nowrap
}

.main-nav a:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 4px;
    height: 1px;
    width: 100%;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .35s var(--ease)
}

.main-nav a:hover:after,.main-nav a.active:after {
    transform: scaleX(1);
    transform-origin: left
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 10px
}

.lang {
    display: flex;
    align-items: center;
    gap: 2px;
    padding: 3px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255,255,255,.38);
    backdrop-filter: blur(12px)
}

.lang-btn {
    border: 0;
    background: transparent;
    padding: 7px 9px;
    border-radius: 999px;
    font-size: 9px;
    cursor: pointer;
    color: #777
}

.lang-btn.active {
    background: #111;
    color: #fff
}

.menu-btn {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: #101216;
    color: #fff;
    display: grid;
    place-items: center;
    cursor: pointer;
    position: relative
}

.menu-btn:before,.menu-btn:after {
    content: "";
    position: absolute;
    width: 15px;
    height: 1px;
    background: currentColor;
    transition: transform .3s var(--ease)
}

.menu-btn:before {
    transform: translateY(-3px)
}

.menu-btn:after {
    transform: translateY(3px)
}

.menu-btn.open:before {
    transform: rotate(45deg)
}

.menu-btn.open:after {
    transform: rotate(-45deg)
}

.mobile-menu {
    position: fixed;
    z-index: 90;
    inset: 0;
    background: rgba(10,12,17,.97);
    color: #fff;
    padding: 120px 28px 38px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s var(--ease),visibility .35s;
    display: grid;
    grid-template-rows: 1fr auto
}

.mobile-menu.open {
    opacity: 1;
    visibility: visible
}

.mobile-menu nav {
    display: grid;
    align-content: center;
    gap: 12px
}

.mobile-menu nav a {
    font-size: clamp(28px,8vw,48px);
    line-height: 1.15;
    letter-spacing: -.04em
}

.mobile-menu-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: rgba(255,255,255,.65);
    font-size: 11px
}

.mobile-menu .lang {
    display: flex;
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.06)
}

body.theme-dark .site-header {
    color: #fff
}

.theme-dark .site-header.is-scrolled {
    background: rgba(9,11,15,.82);
    border-color: rgba(255,255,255,.08)
}

body.theme-dark .main-nav {
    color: rgba(255,255,255,.72)
}

body.theme-dark .lang {
    border-color: rgba(255,255,255,.14);
    background: rgba(255,255,255,.05)
}

body.theme-dark .lang-btn.active {
    background: #fff;
    color: #111
}

body.theme-dark .menu-btn {
    background: #fff;
    color: #111
}

/* transitions + loader */
.loader {
    position: fixed;
    z-index: 1000;
    inset: 0;
    background: #0a0c10;
    color: #fff;
    display: grid;
    place-items: center;
    transition: opacity .62s var(--ease),visibility .62s
}

.loader.done {
    opacity: 0;
    visibility: hidden
}

.loader-core {
    width: min(600px,82vw);
    display: grid;
    gap: 26px
}

.loader-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,.16);
    padding-bottom: 16px
}

.loader-logo {
    font-weight: 650;
    letter-spacing: -.03em
}

.loader-count {
    font-size: clamp(46px,7vw,88px);
    font-weight: 500;
    letter-spacing: -.06em
}

.loader-object {
    position: absolute;
    width: 180px;
    height: 180px;
    right: 8vw;
    bottom: 9vh;
    object-fit: contain;
    filter: drop-shadow(0 30px 45px rgba(0,0,0,.45));
    animation: floatSoft 5s ease-in-out infinite
}

.page-wipe {
    position: fixed;
    z-index: 900;
    inset: 0;
    pointer-events: none;
    background: #0a0c10;
    transform: translateY(100%);
    transition: transform .5s var(--ease)
}

body.page-leaving .page-wipe {
    transform: translateY(0)
}

@keyframes floatSoft {
    0%,100% {
        transform: translateY(0) rotate(-2deg)
    }

    50% {
        transform: translateY(-12px) rotate(2deg)
    }
}

/* buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 999px;
    border: 1px solid var(--line);
    font-size: 11px;
    font-weight: 600;
    background: rgba(255,255,255,.6);
    color: #111;
    backdrop-filter: blur(14px);
    transition: transform .25s var(--ease),background-color .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease)
}

.btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(24,28,34,.08)
}

.btn.dark {
    background: #0f1115;
    color: #fff;
    border-color: #0f1115
}

.btn.dark:hover {
    background: #242831;
    border-color: #242831
}

.btn.light {
    background: #fff;
    color: #0f1115;
    border-color: #fff
}

.btn.light:hover {
    background: #f1f2f4
}

.btn.ghost-dark {
    background: transparent;
    color: #fff;
    border-color: rgba(255,255,255,.22)
}

.btn.ghost-dark:hover {
    background: rgba(255,255,255,.09)
}

.btn .arrow {
    font-size: 14px;
    line-height: 1
}

.btn-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px
}

.icon-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.62);
    backdrop-filter: blur(12px)
}

/* glass + media */
.glass {
    background: linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.44));
    border: 1px solid rgba(255,255,255,.76);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.92),var(--shadow-soft);
    backdrop-filter: blur(22px) saturate(120%)
}

.dark-glass {
    background: linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));
    border: 1px solid var(--dark-line);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08),0 24px 60px rgba(0,0,0,.22);
    backdrop-filter: blur(22px) saturate(125%)
}

.photo {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: #dfe1e4;
    min-width: 0
}

.photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.72) contrast(.96) brightness(.96);
    transition: transform 1s var(--ease),filter .5s var(--ease)
}

.photo:hover img {
    transform: scale(1.025);
    filter: saturate(.82) contrast(.98) brightness(.98)
}

.photo-label {
    position: absolute;
    left: 18px;
    bottom: 18px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(255,255,255,.85);
    backdrop-filter: blur(14px);
    font-size: 10px;
    color: #17191d
}

.icon-art {
    object-fit: contain;
    filter: drop-shadow(0 22px 32px rgba(20,24,31,.14));
    user-select: none;
    pointer-events: none
}

/* hero */
.home-hero {
    min-height: 760px;
    padding: calc(var(--header-h) + 58px) 0 58px;
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    align-items: center;
    gap: 40px
}

.hero-copy {
    min-width: 0;
    display: grid;
    align-content: center
}

.hero-copy .eyebrow {
    margin-bottom: 20px
}

.hero-copy .lede {
    margin: 24px 0 28px;
    max-width: 560px
}

.hero-art {
    min-width: 0;
    height: 590px;
    position: relative;
    isolation: isolate
}

.hero-art:before {
    content: "";
    position: absolute;
    inset: 8% 6%;
    background: radial-gradient(circle at 50% 48%,rgba(124,104,255,.16),rgba(105,215,232,.08) 35%,transparent 69%);
    filter: blur(18px);
    z-index: -1
}

.hero-art .main-object {
    position: absolute;
    width: 58%;
    left: 18%;
    top: 8%;
    animation: floatSoft 6.5s ease-in-out infinite
}

.hero-art .object-a {
    position: absolute;
    width: 24%;
    left: 2%;
    bottom: 10%;
    animation: floatSoft 7.2s ease-in-out infinite reverse
}

.hero-art .object-b {
    position: absolute;
    width: 23%;
    right: 3%;
    top: 15%;
    animation: floatSoft 7.8s ease-in-out infinite
}

.hero-art .object-c {
    position: absolute;
    width: 18%;
    right: 15%;
    bottom: 2%;
    animation: floatSoft 8.4s ease-in-out infinite reverse
}

.hero-note {
    position: absolute;
    right: 3%;
    bottom: 13%;
    padding: 14px 18px;
    border-radius: 16px;
    background: rgba(255,255,255,.58);
    border: 1px solid rgba(255,255,255,.8);
    backdrop-filter: blur(18px);
    font-size: 10px;
    color: #343840;
    box-shadow: var(--shadow-soft)
}

.hero-note b {
    display: block;
    color: #111;
    font-size: 13px;
    margin-bottom: 2px
}

.scroll-cue {
    margin-top: 36px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 9px;
    color: #747981
}

.scroll-cue i {
    width: 1px;
    height: 38px;
    background: #1b1d21;
    display: block;
    position: relative
}

.scroll-cue i:after {
    content: "";
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #1b1d21;
    left: -2px;
    top: 0;
    animation: scrollDot 1.9s ease-in-out infinite
}

@keyframes scrollDot {
    0%,100% {
        top: 0
    }

    50% {
        top: 33px
    }
}

.partner-strip {
    border-block:1px solid var(--line-soft);background: rgba(255,255,255,.22)
}

.partner-row {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    align-items: center;
    min-height: 82px
}

.partner-row span {
    text-align: center;
    font-weight: 600;
    letter-spacing: -.02em;
    font-size: 15px;
    color: #333840
}

.partner-row span+span {
    border-left: 1px solid var(--line-soft)
}

/* common section structures */
.section-head {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 44px;
    align-items: start;
    margin-bottom: clamp(34px,4vw,58px)
}

.section-head .side {
    max-width: 240px
}

.section-head .side p {
    margin-top: 14px;
    font-size: 12px
}

.section-head .section-title {
    max-width: 860px
}

.section-head.compact {
    grid-template-columns: 1fr auto;
    align-items: end
}

.section-head.compact .section-title {
    max-width: 720px
}

.dark-chapter {
    position: relative;
    color: #fff;
    isolation: isolate
}

.dark-chapter:before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: radial-gradient(70% 70% at 85% 0%,rgba(72,93,255,.16),transparent 60%),radial-gradient(50% 80% at 10% 90%,rgba(123,104,255,.10),transparent 65%),linear-gradient(180deg,#0d1017,#090b10)
}

.dark-chapter p,.dark-chapter .eyebrow {
    color: rgba(255,255,255,.6)
}

.mist-chapter {
    position: relative;
    isolation: isolate
}

.mist-chapter:before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: linear-gradient(180deg,#eef1f5 0%,#f4f3ef 100%)
}

/* home */
.culture-feature {
    display: grid;
    grid-template-columns: 1.02fr .98fr;
    gap: 20px;
    align-items: stretch
}

.culture-feature>.photo {
    min-height: 570px
}

.culture-panel {
    border-radius: var(--radius-xl);
    padding: clamp(32px,4vw,58px);
    display: grid;
    align-content: space-between;
    min-height: 570px;
    position: relative;
    overflow: hidden
}

.culture-panel .icon-art {
    position: absolute;
    width: 185px;
    right: -20px;
    top: 18px;
    opacity: .86
}

.culture-panel .copy {
    max-width: 500px;
    position: relative;
    z-index: 1
}

.culture-panel .copy p {
    margin: 18px 0 26px
}

.culture-grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr;
    gap: 18px;
    margin-top: 18px
}

.culture-grid .photo {
    min-height: 320px
}

.value-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 14px
}

.value-card {
    min-height: 330px;
    border-radius: 24px;
    padding: 24px;
    position: relative;
    overflow: hidden;
    display: grid;
    align-content: space-between
}

.value-card .num {
    font-size: 10px;
    color: rgba(255,255,255,.45)
}

.value-card .icon-art {
    position: absolute;
    width: 110px;
    right: 10px;
    top: 8px;
    opacity: .92
}

.value-card h3 {
    color: #fff;
    max-width: 210px
}

.value-card p {
    color: rgba(255,255,255,.55);
    font-size: 12px;
    margin-top: 10px
}

.stats {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    border: 1px solid var(--dark-line);
    border-radius: 24px;
    overflow: hidden
}

.stat {
    padding: 30px 26px
}

.stat+.stat {
    border-left: 1px solid var(--dark-line)
}

.stat strong {
    display: block;
    font-size: clamp(34px,4vw,56px);
    font-weight: 500;
    letter-spacing: -.05em
}

.stat span {
    font-size: 10px;
    color: rgba(255,255,255,.55)
}

.jobs-preview {
    border-radius: var(--radius-xl);
    overflow: hidden;
    display: grid;
    grid-template-columns: .85fr 1.15fr
}

.jobs-intro {
    padding: clamp(32px,4vw,56px);
    display: grid;
    align-content: space-between;
    min-height: 500px;
    position: relative
}

.jobs-intro .icon-art {
    position: absolute;
    right: -12px;
    top: -12px;
    width: 180px;
    opacity: .85
}

.job-stack {
    background: rgba(255,255,255,.72);
    border-left: 1px solid rgba(255,255,255,.7);
    padding: 18px
}

.job-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 18px;
    padding: 21px 18px;
    border-bottom: 1px solid var(--line);
    align-items: center
}

.job-row:last-child {
    border-bottom: 0
}

.job-row h3 {
    font-size: 18px
}

.job-row small {
    display: block;
    margin-top: 5px;
    color: #81858c;
    font-size: 10px
}

.job-row .circle-arrow {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    transition: transform .25s
}

.job-row:hover .circle-arrow {
    transform: rotate(45deg)
}

.story-grid {
    display: grid;
    grid-template-columns: repeat(12,1fr);
    gap: 18px
}

.story-card {
    grid-column: span 4;
    display: block;
    min-width: 0
}

.story-card.featured {
    grid-column: span 6
}

.story-card .photo {
    aspect-ratio: 1.18
}

.story-card.featured .photo {
    aspect-ratio: 1.45
}

.story-meta {
    padding: 18px 3px
}

.story-meta .eyebrow {
    margin-bottom: 9px
}

.story-meta h3 {
    font-size: clamp(18px,1.5vw,25px)
}

.big-cta {
    border-radius: var(--radius-xl);
    background: #0b0d12;
    color: #fff;
    min-height: 320px;
    padding: clamp(34px,5vw,66px);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 30px;
    align-items: center;
    overflow: hidden;
    position: relative
}

.big-cta:before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(50% 140% at 90% 50%,rgba(80,105,255,.2),transparent 68%)
}

.big-cta .copy {
    position: relative;
    z-index: 1;
    max-width: 820px
}

.big-cta .copy p {
    color: rgba(255,255,255,.58);
    max-width: 620px;
    margin: 16px 0 0
}

.big-cta .icon-art {
    width: 220px;
    position: absolute;
    right: 4%;
    bottom: -26px;
    opacity: .92
}

.big-cta .btn-row {
    position: relative;
    z-index: 2
}

/* page hero */
.page-hero {
    padding: calc(var(--header-h) + 64px) 0 72px
}

.page-hero-grid {
    display: grid;
    grid-template-columns: 1fr .72fr;
    align-items: center;
    gap: 48px
}

.page-hero-copy .eyebrow {
    margin-bottom: 18px
}

.page-hero-copy .lede {
    margin: 22px 0 0
}

.page-hero-art {
    height: 420px;
    position: relative;
    display: grid;
    place-items: center
}

.page-hero-art:before {
    content: "";
    position: absolute;
    width: 78%;
    height: 78%;
    border-radius: 50%;
    background: radial-gradient(circle,rgba(101,130,255,.13),transparent 68%);
    filter: blur(10px)
}

.page-hero-art .icon-art {
    width: min(76%,370px);
    max-height: 360px;
    position: relative;
    animation: floatSoft 6.7s ease-in-out infinite
}

/* gallery */
.media-grid {
    display: grid;
    grid-template-columns: repeat(12,1fr);
    grid-auto-rows: 140px;
    gap: 16px
}

.media-grid .photo:nth-child(1) {
    grid-column: span 7;
    grid-row: span 3
}

.media-grid .photo:nth-child(2) {
    grid-column: span 5;
    grid-row: span 2
}

.media-grid .photo:nth-child(3) {
    grid-column: span 5;
    grid-row: span 2
}

.media-grid .photo:nth-child(4) {
    grid-column: span 4;
    grid-row: span 2
}

.media-grid .photo:nth-child(5) {
    grid-column: span 8;
    grid-row: span 2
}

.quote-card {
    padding: 34px;
    border-radius: var(--radius-lg);
    min-height: 260px;
    display: grid;
    align-content: space-between
}

.quote-card blockquote {
    font-size: clamp(20px,2vw,30px);
    line-height: 1.35;
    letter-spacing: -.025em;
    margin: 0
}

.quote-card footer {
    font-size: 10px;
    color: var(--muted)
}

/* about */
.about-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px
}

.about-split .photo {
    min-height: 560px
}

.about-copy {
    border-radius: var(--radius-xl);
    padding: clamp(34px,4vw,58px);
    display: grid;
    align-content: center
}

.about-copy p {
    max-width: 560px;
    margin-top: 18px
}

.mission-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 16px
}

.mission-card {
    border-radius: 24px;
    padding: 28px;
    min-height: 270px;
    position: relative;
    overflow: hidden
}

.mission-card .icon-art {
    position: absolute;
    width: 104px;
    right: -6px;
    top: 0
}

.mission-card p {
    font-size: 12px;
    margin-top: 12px;
    max-width: 240px
}

.timeline {
    border-top: 1px solid var(--line)
}

.timeline-row {
    display: grid;
    grid-template-columns: 120px 1fr 1fr;
    gap: 28px;
    padding: 28px 0;
    border-bottom: 1px solid var(--line);
    align-items: start
}

.timeline-year {
    font-size: 12px;
    color: #7a7f87
}

.timeline-row h3 {
    font-size: clamp(22px,2vw,32px)
}

/* benefits */
.benefit-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 16px
}

.benefit-card {
    min-height: 260px;
    border-radius: 24px;
    padding: 28px;
    position: relative;
    overflow: hidden;
    display: grid;
    align-content: end
}

.benefit-card .icon-art {
    position: absolute;
    width: 105px;
    right: 12px;
    top: 10px
}

.benefit-card p {
    font-size: 12px;
    margin-top: 10px
}

.growth-panel {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    border-radius: var(--radius-xl);
    overflow: hidden
}

.growth-copy {
    padding: clamp(34px,4vw,58px);
    background: #0b0d12;
    color: #fff
}

.growth-copy p {
    color: rgba(255,255,255,.58);
    margin: 18px 0 28px
}

.growth-list {
    padding: 24px;
    background: rgba(255,255,255,.72)
}

.growth-list article {
    padding: 22px 6px;
    border-bottom: 1px solid var(--line)
}

.growth-list article:last-child {
    border-bottom: 0
}

.growth-list h3 {
    font-size: 18px
}

.growth-list p {
    font-size: 11px;
    margin-top: 7px
}

/* careers */
.careers-shell {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 22px
}

.filters {
    position: sticky;
    top: 94px;
    align-self: start;
    padding: 24px;
    border-radius: 24px
}

.filters h3 {
    font-size: 20px;
    margin-bottom: 20px
}

.field {
    display: grid;
    gap: 8px;
    margin-bottom: 14px
}

.field label {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .09em;
    color: #777d85
}

.field input,.field select,.field textarea {
    width: 100%;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.66);
    border-radius: 14px;
    padding: 13px 14px;
    color: #111;
    outline: none;
    transition: border-color .2s,box-shadow .2s
}

.field textarea {
    min-height: 140px;
    resize: vertical
}

.field input:focus,.field select:focus,.field textarea:focus {
    border-color: rgba(49,92,255,.48);
    box-shadow: 0 0 0 4px rgba(49,92,255,.08)
}

.jobs-list {
    display: grid;
    gap: 10px
}

.job-card {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 20px;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: rgba(255,255,255,.56);
    transition: transform .25s var(--ease),background .25s,border-color .25s
}

.job-card:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.82);
    border-color: rgba(49,92,255,.2)
}

.job-card h3 {
    font-size: 19px
}

.job-card .meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 9px
}

.pill {
    display: inline-flex;
    padding: 6px 9px;
    border-radius: 999px;
    background: #e9eaed;
    font-size: 9px;
    color: #666b73
}

.job-card .circle-arrow {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--line);
    display: grid;
    place-items: center
}

.empty-state {
    display: none;
    padding: 28px;
    border: 1px dashed var(--line);
    border-radius: 20px;
    color: var(--muted)
}

.talent-banner {
    margin-top: 18px;
    padding: 34px;
    border-radius: 26px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 24px;
    position: relative;
    overflow: hidden
}

.talent-banner .icon-art {
    width: 130px;
    position: absolute;
    right: 18px;
    bottom: -24px;
    opacity: .8
}

.talent-banner .btn {
    margin-right: 120px
}

/* stories */
.story-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 26px
}

.filter-chip {
    border: 1px solid var(--line);
    background: rgba(255,255,255,.58);
    border-radius: 999px;
    padding: 9px 13px;
    font-size: 10px;
    cursor: pointer
}

.filter-chip.active {
    background: #111;
    color: #fff;
    border-color: #111
}

.stories-grid {
    display: grid;
    grid-template-columns: repeat(12,1fr);
    gap: 18px
}

.stories-grid .story-card {
    grid-column: span 4
}

.stories-grid .story-card.wide {
    grid-column: span 8
}

.stories-grid .story-card.wide .photo {
    aspect-ratio: 1.85
}

/* faq */
.faq-layout {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 28px
}

.faq-side {
    position: sticky;
    top: 100px;
    align-self: start;
    border-radius: 24px;
    padding: 24px
}

.faq-side .icon-art {
    width: 120px;
    margin: 8px auto 18px
}

.faq-side p {
    font-size: 12px;
    margin: 12px 0 22px
}

.faq-list {
    border-top: 1px solid var(--line)
}

.faq-item {
    border-bottom: 1px solid var(--line)
}

.faq-q {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 24px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600
}

.faq-q span:last-child {
    font-size: 20px;
    font-weight: 400;
    transition: transform .25s
}

.faq-item.open .faq-q span:last-child {
    transform: rotate(45deg)
}

.faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .42s var(--ease)
}

.faq-a>div {
    padding: 0 0 24px
}

.faq-a p {
    max-width: 760px
}

/* job detail */
.job-detail-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 34px
}

.job-content {
    min-width: 0
}

.job-content section {
    padding: 28px 0;
    border-bottom: 1px solid var(--line)
}

.job-content h2 {
    font-size: 25px;
    margin-bottom: 14px
}

.job-content ul {
    padding-left: 20px;
    color: #626871;
    font-size: 14px;
    line-height: 1.8
}

.job-sidebar {
    position: sticky;
    top: 96px;
    align-self: start;
    padding: 26px;
    border-radius: 24px
}

.job-sidebar .meta-row {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 0;
    border-bottom: 1px solid var(--line);
    font-size: 11px
}

.job-sidebar .meta-row span:first-child {
    color: #7b8088
}

.job-sidebar .btn {
    width: 100%;
    margin-top: 18px
}

/* forms */
.form-card {
    border-radius: var(--radius-xl);
    padding: clamp(28px,4vw,48px)
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.form-grid .full {
    grid-column: 1/-1
}

.form-card .field {
    margin: 0
}

.form-card input[type=file] {
    padding: 11px
}

.form-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 24px
}

.form-note {
    font-size: 10px;
    color: #7a8087;
    max-width: 540px
}

.success-msg {
    display: none;
    padding: 14px 16px;
    border-radius: 14px;
    background: #e8f5ed;
    color: #1d633b;
    font-size: 12px;
    margin-top: 18px
}

.success-msg.show {
    display: block
}

/* footer */
.site-footer {
    margin-top: 70px;
    background: #0a0c10;
    color: #fff;
    padding: 64px 0 22px
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.45fr .8fr .8fr .8fr;
    gap: 40px
}

.footer-col h4 {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: rgba(255,255,255,.45);
    margin: 0 0 18px
}

.footer-col a,.footer-col p {
    display: block;
    font-size: 11px;
    color: rgba(255,255,255,.66);
    margin: 0 0 10px
}

.footer-col a:hover {
    color: #fff
}

.footer-col .brand {
    color: #fff;
    font-size: 19px
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding-top: 34px;
    margin-top: 34px;
    border-top: 1px solid rgba(255,255,255,.09);
    font-size: 9px;
    color: rgba(255,255,255,.42)
}

/* motion */
.reveal {
    opacity: 0;
    transform: translateY(22px);
    filter: blur(7px);
    transition: opacity .72s var(--ease),transform .72s var(--ease),filter .72s var(--ease);
    will-change: transform,opacity,filter
}

.reveal.in {
    opacity: 1;
    transform: none;
    filter: none
}

.reveal.out {
    opacity: .18;
    transform: translateY(-10px);
    filter: blur(3px)
}

[data-stagger]>* {
    opacity: 0;
    transform: translateY(18px);
    filter: blur(5px);
    transition: opacity .65s var(--ease),transform .65s var(--ease),filter .65s var(--ease)
}

[data-stagger].in>* {
    opacity: 1;
    transform: none;
    filter: none
}

[data-stagger].in>*:nth-child(2) {
    transition-delay: .07s
}

[data-stagger].in>*:nth-child(3) {
    transition-delay: .14s
}

[data-stagger].in>*:nth-child(4) {
    transition-delay: .21s
}

[data-stagger].in>*:nth-child(5) {
    transition-delay: .28s
}

[data-stagger].in>*:nth-child(6) {
    transition-delay: .35s
}

.parallax-soft {
    transform: translate3d(0,var(--parallax-y,0),0);
    will-change: transform
}

/* responsive */
@media(max-width: 1180px) {
    .main-nav {
        display:none
    }

    .header-inner {
        grid-template-columns: 1fr auto
    }

    .home-hero {
        grid-template-columns: 1fr;
        padding-top: 130px;
        gap: 14px
    }

    .hero-copy {
        max-width: 800px
    }

    .hero-art {
        height: 520px
    }

    .page-hero-grid {
        grid-template-columns: 1fr
    }

    .page-hero-art {
        height: 330px
    }

    .culture-feature,.about-split {
        grid-template-columns: 1fr
    }

    .culture-feature>.photo,.culture-panel,.about-split .photo {
        min-height: 500px
    }

    .value-grid {
        grid-template-columns: 1fr 1fr
    }

    .benefit-grid {
        grid-template-columns: 1fr 1fr
    }

    .jobs-preview {
        grid-template-columns: 1fr
    }

    .jobs-intro {
        min-height: 340px
    }

    .job-stack {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.7)
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr
    }

    .careers-shell {
        grid-template-columns: 1fr
    }

    .filters {
        position: static;
        display: grid;
        grid-template-columns: repeat(2,1fr);
        gap: 12px
    }

    .filters h3 {
        grid-column: 1/-1
    }

    .filters .field {
        margin: 0
    }

    .faq-layout {
        grid-template-columns: 1fr
    }

    .faq-side {
        position: static
    }

    .job-detail-layout {
        grid-template-columns: 1fr
    }

    .job-sidebar {
        position: static
    }

    .mission-grid {
        grid-template-columns: 1fr 1fr
    }

    .media-grid {
        grid-auto-rows: 120px
    }
}

@media(max-width: 760px) {
    :root {
        --header-h:70px;
        --radius-xl: 26px;
        --radius-lg: 22px
    }

    .site-shell,.header-inner {
        width: min(100% - 28px,1460px)
    }

    .site-header {
        height: 70px
    }

    .site-header.is-scrolled {
        height: 64px
    }

    .lang {
        display: none
    }

    .brand {
        font-size: 18px
    }

    .home-hero {
        min-height: auto;
        padding-top: 112px
    }

    .hero-title {
        font-size: clamp(40px,12vw,54px)
    }

    html[lang="ka"] .hero-title {
        font-size: clamp(36px,10.5vw,48px)
    }

    .hero-art {
        height: 400px
    }

    .hero-art .main-object {
        width: 72%;
        left: 10%;
        top: 11%
    }

    .hero-art .object-a {
        width: 29%;
        left: 0;
        bottom: 6%
    }

    .hero-art .object-b {
        width: 28%;
        right: 0;
        top: 17%
    }

    .hero-art .object-c {
        width: 22%;
        right: 14%;
        bottom: 0
    }

    .hero-note {
        display: none
    }

    .scroll-cue {
        display: none
    }

    .partner-row {
        grid-template-columns: 1fr 1fr
    }

    .partner-row span {
        min-height: 62px;
        display: grid;
        place-items: center
    }

    .partner-row span+span {
        border-left: 0
    }

    .partner-row span:nth-child(even) {
        border-left: 1px solid var(--line-soft)
    }

    .partner-row span:nth-child(n+3) {
        border-top: 1px solid var(--line-soft)
    }

    .partner-row span:last-child {
        grid-column: 1/-1;
        border-left: 0
    }

    .section {
        padding: 70px 0
    }

    .section-sm {
        padding: 48px 0
    }

    .section-head,.section-head.compact {
        grid-template-columns: 1fr;
        gap: 18px;
        align-items: start
    }

    .section-head .side {
        max-width: 420px
    }

    .culture-feature>.photo,.culture-panel,.about-split .photo {
        min-height: 390px
    }

    .culture-panel .icon-art {
        width: 130px;
        opacity: .6
    }

    .culture-panel .copy {
        max-width: 85%
    }

    .culture-grid {
        grid-template-columns: 1fr
    }

    .culture-grid .photo {
        min-height: 300px
    }

    .value-grid,.benefit-grid,.mission-grid,.stats,.form-grid {
        grid-template-columns: 1fr
    }

    .value-card {
        min-height: 280px
    }

    .stat+.stat {
        border-left: 0;
        border-top: 1px solid var(--dark-line)
    }

    .jobs-preview {
        border-radius: 24px
    }

    .story-card,.story-card.featured,.stories-grid .story-card,.stories-grid .story-card.wide {
        grid-column: 1/-1
    }

    .story-card .photo,.story-card.featured .photo,.stories-grid .story-card.wide .photo {
        aspect-ratio: 1.25
    }

    .big-cta {
        grid-template-columns: 1fr;
        min-height: 400px
    }

    .big-cta .icon-art {
        opacity: .42;
        width: 170px
    }

    .page-hero {
        padding-top: 112px
    }

    .page-hero-art {
        height: 260px
    }

    .page-hero-art .icon-art {
        max-width: 260px
    }

    .media-grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-auto-rows: auto
    }

    .media-grid .photo:nth-child(n) {
        grid-column: auto;
        grid-row: auto;
        min-height: 300px
    }

    .about-copy {
        padding: 32px
    }

    .timeline-row {
        grid-template-columns: 70px 1fr
    }

    .timeline-row>p {
        grid-column: 2
    }

    .growth-panel {
        grid-template-columns: 1fr
    }

    .filters {
        grid-template-columns: 1fr
    }

    .filters h3 {
        grid-column: auto
    }

    .talent-banner {
        grid-template-columns: 1fr
    }

    .talent-banner .btn {
        margin-right: 0;
        width: max-content
    }

    .talent-banner .icon-art {
        opacity: .3
    }

    .faq-q {
        font-size: 14px
    }

    .form-grid .full {
        grid-column: auto
    }

    .form-actions {
        align-items: flex-start;
        flex-direction: column
    }

    .footer-grid {
        grid-template-columns: 1fr
    }

    .footer-bottom {
        flex-direction: column
    }

    .loader-object {
        width: 120px;
        right: 4vw;
        bottom: 6vh
    }
}

@media(prefers-reduced-motion:reduce) {
    *,*:before,*:after {
        scroll-behavior: auto!important;
        animation: none!important;
        transition-duration: .001ms!important
    }

    .reveal,[data-stagger]>* {
        opacity: 1!important;
        transform: none!important;
        filter: none!important
    }
}

body.theme-dark {
    background: var(--dark)
}

/* collision guardrails for long Georgian copy */
.culture-panel .copy {
    max-width: 72%
}

.jobs-intro>div:first-of-type {
    max-width: 72%;
    position: relative;
    z-index: 1
}

.mission-card h3,.mission-card p {
    max-width: 68%;
    position: relative;
    z-index: 1
}

.value-card>div {
    position: relative;
    z-index: 1;
    max-width: 74%
}

.big-cta .icon-art {
    right: 25%;
    width: 170px;
    opacity: .52;
    z-index: 0
}

.big-cta .copy,.big-cta .btn-row {
    position: relative;
    z-index: 2
}

@media(max-width: 760px) {
    .culture-panel .copy,.jobs-intro>div:first-of-type,.mission-card h3,.mission-card p,.value-card>div {
        max-width:100%
    }

    .culture-panel .icon-art,.jobs-intro .icon-art,.mission-card .icon-art {
        opacity: .26
    }

    .big-cta .icon-art {
        right: 4%;
        bottom: -35px;
        width: 145px;
        opacity: .26
    }
}

@media(max-width: 760px) {
    .culture-panel .icon-art {
        right:0;
        width: 118px
    }
}
