/* imbeon Product Lab. Flat, quiet, type-led. Tokens first. */
/* Inter, self-hosted (variable weight 400 to 700): no request leaves the site for fonts */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/inter-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/inter-latin.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;}
:root{
  /* colour */
  --green:#1A2E26;
  --green-deep:#132019;
  --paper:#FFFFFF;
  --milk:#F1EFEC;
  --ink:#1D1D1F;
  --ink-2:#424245;
  --muted:#636366;
  --lilac:#A176C0;          /* brand mark and graphics */
  --accent:#8B5CA9;         /* the one interactive colour (white text 5.0:1) */
  --accent-hover:#74499A;
  --accent-text:#7E4F9E;    /* accent as text on light grounds (6.0:1) */
  --accent-on-dark:#C9A8E0; /* accent as text on green (7:1) */
  --terra:#B4592E;
  --tile:#22392F;
  --tile-hover:#2B473B;
  --blue:#7493B2;
  /* shape */
  --r:18px;
  --r-sm:8px;
  /* type scale: 13 / 15 / 17 / 21 / 28 / 52 / 76 */
  --fs-s:13px;
  --fs-m:15px;
  --fs-body:17px;
  --fs-lead:clamp(18px,1.7vw,21px);
  --fs-h3:clamp(21px,2.1vw,28px);
  --fs-num:clamp(32px,3.4vw,40px);
  --fs-h2:clamp(26px,3.6vw,46px);
  --fs-hero:clamp(40px,6.2vw,76px);
  --header-h:56px;
  --gutter:clamp(20px,4vw,48px);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);-webkit-hyphens:none;hyphens:none;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,'SF Pro Text','Segoe UI',Roboto,sans-serif;
  font-size:var(--fs-body);line-height:1.5;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;
  font-feature-settings:'cv11','ss03';
}
img{max-width:100%;display:block;}
a{color:inherit;}
button{font:inherit;color:inherit;}
h1,h2,h3{text-wrap:balance;margin:0;}
p{text-wrap:pretty;margin:0;}
::selection{background:var(--accent);color:#fff;}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}
.header :focus-visible,.contacts :focus-visible,.journey :focus-visible,.footer :focus-visible,.hero :focus-visible{outline-color:var(--accent-on-dark);}
.nw{white-space:nowrap;}
.container{max-width:1200px;margin:0 auto;padding:0 var(--gutter);}
.section{padding:clamp(56px,7vw,96px) 0;}
.section--milk{background:var(--milk);}
.section-title{font-size:var(--fs-h2);font-weight:600;letter-spacing:-.03em;line-height:1.08;text-align:center;margin-bottom:12px;}
.section-lead{font-size:var(--fs-lead);line-height:1.45;color:var(--ink-2);text-align:center;max-width:62ch;margin:0 auto clamp(28px,3.6vw,44px);}

/* ---------- header ---------- */
.header{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--header-h);background:var(--green);display:flex;align-items:center;}
/* in-app browsers (Telegram) can offset fixed bars: extend the header colour upwards so no content shows above it */
.header::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:320px;background:var(--green);pointer-events:none;}
.header .container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;width:100%;}
.brand{display:flex;align-items:center;justify-self:start;padding:11px 0;}
.brand img{height:22px;width:auto;}
.nav{display:flex;align-items:center;gap:32px;justify-self:center;}
.nav a{color:rgba(255,255,255,.84);text-decoration:none;font-size:var(--fs-m);transition:color .2s ease;}
.nav a:hover{color:#fff;}
.header-right{display:flex;align-items:center;gap:20px;justify-self:end;}
.lang{display:flex;align-items:center;gap:2px;font-size:var(--fs-s);color:rgba(255,255,255,.6);}
.lang a{text-decoration:none;display:inline-block;padding:12px 4px;}
.lang a.active{color:#fff;font-weight:600;}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:11px;}
.burger span{display:block;height:2px;width:100%;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .2s ease;}
body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.menu-open .burger span:nth-child(2){opacity:0;}
body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{
  display:none;position:fixed;top:var(--header-h);left:0;right:0;z-index:49;background:var(--green);
  padding:8px var(--gutter) 24px;flex-direction:column;
  transform:translateY(-8px);opacity:0;visibility:hidden;pointer-events:none;
  transition:transform .25s ease,opacity .2s ease,visibility 0s linear .25s;
}
body.menu-open .mobile-menu{transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:transform .25s ease,opacity .2s ease;}
.mobile-menu a{color:#fff;text-decoration:none;font-size:21px;font-weight:600;letter-spacing:-.02em;padding:14px 0;}
.mobile-menu .mm-lang{display:flex;gap:20px;padding-top:12px;}
.mobile-menu .mm-lang a{padding:0;font-size:var(--fs-body);font-weight:400;color:rgba(255,255,255,.6);}
.mobile-menu .mm-lang a.active{color:#fff;font-weight:600;}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;border:0;cursor:pointer;text-decoration:none;font-size:var(--fs-m);font-weight:600;letter-spacing:-.011em;
  padding:12px 24px;border-radius:var(--r-sm);transition:background .2s ease,transform .15s ease;
}
.btn:active{transform:scale(.97);}
.btn--cta{background:var(--accent);color:#fff;}
.btn--cta:hover{background:var(--accent-hover);}
.btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55);}
.btn--ghost:hover{background:rgba(255,255,255,.1);}
.btn--lg{padding:15px 30px;font-size:var(--fs-body);}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:stretch;justify-content:center;text-align:center;color:#fff;padding:0 24px;background:var(--green) center/cover no-repeat;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;background:var(--green);}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(19,32,25,.62) 0%,rgba(19,32,25,.2) 30%,rgba(19,32,25,.36) 56%,rgba(19,32,25,.84) 100%);}
.hero-inner{position:relative;z-index:2;flex:1;max-width:940px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:calc(var(--header-h) + 40px) 0 44px;}
.hero-brand{text-align:center;}
.hero-brand .hero-logo{display:block;margin:0 auto;}
.hero-logo{width:min(360px,70vw);height:auto;}
.hero-welcome{margin-top:18px;font-size:var(--fs-body);color:rgba(255,255,255,.86);}
.hero-text{max-width:660px;}
.hero h1{font-size:var(--fs-hero);font-weight:700;letter-spacing:-.035em;line-height:1.02;margin-bottom:18px;}
.hero .sub{font-size:var(--fs-lead);line-height:1.4;color:rgba(255,255,255,.92);max-width:36ch;margin:0 auto 26px;}
.hero .trust{margin-top:20px;font-size:var(--fs-m);color:rgba(255,255,255,.78);}

/* ---------- intro ---------- */
.intro{padding:clamp(56px,7vw,96px) 0;}
.intro .section-title{max-width:26ch;margin:0 auto clamp(32px,4vw,52px);}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.pillar{background:var(--milk);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;}
.pillar-img{aspect-ratio:16/9;overflow:hidden;background:var(--milk);}
.pillar-img video{display:block;width:100%;height:100%;object-fit:cover;}
.pillar-img img,.pillar-img video{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,.7,.2,1);}
.pillar:hover .pillar-img img,.pillar:hover .pillar-img video{transform:scale(1.04);}
.pillar-copy{padding:24px 24px 28px;}
.pillar h3{font-size:21px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-bottom:10px;}
.pillar p{color:var(--ink-2);font-size:var(--fs-m);line-height:1.55;}

/* ---------- how we work: route map (desktop) + accordion (mobile) ---------- */
.journey{position:relative;overflow:hidden;background:var(--green);color:#fff;--jr-h:clamp(520px,calc(100svh - 330px),640px);}
.journey,.levels{padding:clamp(40px,4.4vw,56px) 0;}
.journey .container{position:relative;z-index:1;}
.journey .section-title{color:#fff;}
.journey .section-lead{color:rgba(255,255,255,.8);}
.jm-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.jm-bg i{position:absolute;display:block;border-radius:50%;filter:blur(90px);}
.jm-bg .b1{width:52vw;height:52vw;left:-12vw;top:-18vw;background:radial-gradient(circle,rgba(161,118,192,.55),transparent 68%);animation:jmdrift1 28s ease-in-out infinite alternate;}
.jm-bg .b2{width:48vw;height:48vw;right:-14vw;bottom:-22vw;background:radial-gradient(circle,rgba(116,147,178,.5),transparent 68%);animation:jmdrift2 34s ease-in-out infinite alternate;}
.jm-bg .b3{width:30vw;height:30vw;left:38vw;top:30%;background:radial-gradient(circle,rgba(180,89,46,.28),transparent 70%);animation:jmdrift3 40s ease-in-out infinite alternate;}
.jm-bg .dots{inset:0;width:auto;height:auto;border-radius:0;filter:none;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.6px);background-size:34px 34px;background-position:calc(var(--cam,0px) * .22) 0;opacity:.55;-webkit-mask-image:radial-gradient(ellipse at 50% 55%,#000 20%,transparent 78%);mask-image:radial-gradient(ellipse at 50% 55%,#000 20%,transparent 78%);}
@keyframes jmdrift1{from{transform:translate(0,0) scale(1);}to{transform:translate(9vw,6vw) scale(1.15);}}
@keyframes jmdrift2{from{transform:translate(0,0) scale(1.1);}to{transform:translate(-8vw,-5vw) scale(.95);}}
@keyframes jmdrift3{from{transform:translate(-6vw,0) scale(.9);}to{transform:translate(8vw,-4vw) scale(1.2);}}

.jm{position:relative;z-index:1;margin-top:4px;}
.jm-stage{position:relative;height:var(--jr-h);outline:none;overflow:hidden;}
.jm-stage:focus-visible{outline:2px solid var(--accent-on-dark);outline-offset:-4px;}
.jm-view{position:absolute;inset:0;perspective:1500px;perspective-origin:62% 8%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);}
.jm-cam{position:absolute;inset:0;transform-style:preserve-3d;transform:translateY(11%) rotateX(54deg);transform-origin:50% 60%;}
.jm-plane{position:absolute;left:0;top:50%;transform-style:preserve-3d;will-change:transform;}
.jm-plane::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 38%,#000 100%);mask-image:linear-gradient(180deg,transparent 0,#000 38%,#000 100%);}
.jm-svg{position:absolute;inset:0;overflow:visible;}
.jm-track{fill:none;stroke:rgba(255,255,255,.1);stroke-width:14;stroke-linecap:round;}
.jm-core{fill:none;stroke:rgba(255,255,255,.14);stroke-width:3;stroke-linecap:round;stroke-dasharray:2 12;}
.jm-lit{fill:none;stroke:var(--accent-on-dark);stroke-width:8;stroke-linecap:round;filter:drop-shadow(0 0 10px rgba(201,168,224,.65));}
.jm-shadow{fill:rgba(0,0,0,.28);filter:blur(6px);}
.jm-ring{fill:var(--green);stroke:rgba(255,255,255,.35);stroke-width:3;transition:fill .4s ease,stroke .4s ease;}
.jm-num{fill:#fff;font:600 22px Inter,system-ui,sans-serif;opacity:.8;transition:opacity .3s ease;}
.jm-pad.on .jm-ring{fill:var(--accent);stroke:var(--accent-on-dark);}
.jm-pad.on .jm-num{opacity:1;}
.jm-pad.done .jm-ring{fill:var(--accent);stroke:transparent;}
.jm-halo{fill:rgba(201,168,224,.35);transform-box:fill-box;transform-origin:center;}
.jm-dot,.jm-halo{opacity:0;transition:opacity .3s ease;}
.jm.moving .jm-dot{opacity:1;}
.jm.moving .jm-halo{animation:jmpulse 1.4s ease-out infinite;}
.jm-dot{fill:#fff;}
@keyframes jmpulse{0%{transform:scale(.8);opacity:.9;}100%{transform:scale(3.2);opacity:0;}}
.jm-node{position:absolute;width:var(--jm-size,300px);height:var(--jm-size,300px);margin:calc(var(--jm-size,300px) * -1.04) 0 0 calc(var(--jm-size,300px) * -.5);padding:0;border:0;background:none;cursor:pointer;transform-origin:50% 100%;transform:translateZ(2px) rotateX(-54deg) scale(var(--s,.5));opacity:var(--o,.4);}
.jm-pin{display:block;width:100%;height:100%;position:relative;}
.jm-pin::before{content:"";position:absolute;inset:6% 4% 0;border-radius:50%;background:radial-gradient(closest-side,rgba(180,140,215,.5),rgba(116,147,178,.18) 55%,transparent 75%);filter:blur(14px);opacity:.9;}
.jm-pin .rot{filter:drop-shadow(0 0 14px rgba(201,168,224,.42)) drop-shadow(0 16px 20px rgba(0,0,0,.4));}
.jm-node.on .jm-pin{animation:jmfly .9s cubic-bezier(.22,.7,.2,1) both,lvfloat 6s ease-in-out .9s infinite;}
@keyframes jmfly{from{opacity:0;transform:translateY(46px) scale(.88);}to{opacity:1;transform:none;}}

.jm-panel{position:absolute;left:clamp(16px,3vw,48px);top:50%;transform:translateY(-52%);width:min(430px,34%);padding:26px 28px 28px;border-radius:var(--r);background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(255,255,255,.16);z-index:3;}
.jm-texts{position:relative;transition:height .5s cubic-bezier(.22,.7,.2,1);}
.jm-slide{position:absolute;left:0;right:0;top:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .35s ease,transform .5s cubic-bezier(.22,.7,.2,1),visibility 0s linear .35s;}
.jm-slide.on{opacity:1;visibility:visible;transform:none;transition:opacity .45s ease .1s,transform .55s cubic-bezier(.22,.7,.2,1) .1s;}
.jm-slide h3{font-size:clamp(21px,1.9vw,26px);font-weight:600;letter-spacing:-.025em;line-height:1.15;margin-bottom:12px;color:#fff;}
.jm-slide p{font-size:var(--fs-m);line-height:1.6;color:rgba(255,255,255,.92);}
.jm-ctrl{position:absolute;right:clamp(16px,3vw,48px);bottom:16px;display:flex;align-items:center;gap:4px;padding:6px;border-radius:999px;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.16);z-index:3;}
.jm-dots{display:flex;gap:2px;}
.jm-n,.jm-btn{width:40px;height:40px;border-radius:50%;border:0;background:transparent;color:#fff;font-size:var(--fs-m);font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s ease,color .25s ease,transform .15s ease;}
.jm-n:hover,.jm-btn:hover{background:rgba(255,255,255,.14);}
.jm-n:active,.jm-btn:active{transform:scale(.94);}
.jm-more{display:none;}
.jm-prog{display:none;}
.jm-count{display:none;min-width:64px;text-align:center;font-size:var(--fs-body);font-weight:600;letter-spacing:-.01em;color:#fff;}
.jm-n.on{background:var(--accent);}
.jm-n.done{color:var(--accent-on-dark);}

.j-list{display:none;margin:0;padding:0;list-style:none;}
.j-item{background:#fff;color:var(--ink);border-radius:var(--r);margin-bottom:8px;}
.j-head{width:100%;display:flex;align-items:center;gap:14px;padding:16px;background:none;border:0;cursor:pointer;text-align:left;}
.j-num{flex:none;width:36px;height:36px;border-radius:50%;background:var(--milk);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:var(--fs-m);font-weight:600;transition:background .2s ease,color .2s ease;}
.j-item.done .j-num{background:var(--green);color:#fff;}
.j-item.active .j-num{background:var(--accent);color:#fff;}
.j-title{flex:1;font-size:var(--fs-body);font-weight:600;line-height:1.3;letter-spacing:-.015em;}
.j-chev{flex:none;width:16px;height:16px;color:var(--muted);transition:transform .2s ease;}
.j-item.active .j-chev{transform:rotate(180deg);}
.j-body{overflow:hidden;max-height:0;visibility:hidden;transition:max-height .35s ease,visibility 0s linear .35s;}
.j-item.active .j-body{max-height:1100px;visibility:visible;transition:max-height .35s ease;}
.j-body-in{padding:0 16px 20px;}
.j-body p{color:var(--ink);font-size:var(--fs-body);line-height:1.55;}
.j-img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:12px;margin:0 0 16px;background:#d9dcdc;}

/* ---------- values ---------- */
.values{background:var(--milk);color:var(--ink);}
.values-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,88px);align-items:center;}
.values h2{font-size:var(--fs-h2);font-weight:600;letter-spacing:-.03em;line-height:1.08;margin-bottom:28px;}
.statement{font-size:clamp(21px,2.3vw,28px);font-weight:600;letter-spacing:-.02em;line-height:1.28;color:var(--ink);max-width:34ch;margin-bottom:20px;}
.values p:not(.statement){color:var(--ink-2);font-size:var(--fs-lead);line-height:1.5;max-width:46ch;}
.v-tags{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:560px;}
.v-tags li{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:#fff;font-size:var(--fs-m);font-weight:600;line-height:1.3;}
.v-tags li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent);}
.values-img{border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;background:#0b1410;}
.values-img img,.values-img video{display:block;width:100%;height:100%;object-fit:cover;}

/* ---------- scope: bento on black ---------- */
.scope{position:relative;overflow:hidden;background:var(--green-deep);color:#fff;padding:clamp(32px,3.6vw,48px) 0;}
.scope .container{position:relative;z-index:1;}
.scope .section-title{color:#fff;}
.scope .section-lead{color:rgba(255,255,255,.72);max-width:64ch;font-size:var(--fs-m);line-height:1.5;margin-bottom:clamp(20px,2.6vw,32px);}
.scope :focus-visible{outline-color:var(--accent-on-dark);}
.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.bn{position:relative;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;color:#fff;background:color-mix(in srgb,var(--accent-c) 12%,#101a15);}
.bn-copy{padding:6px clamp(20px,2vw,28px) clamp(20px,2.2vw,28px);}
.bn h3{font-size:clamp(19px,1.7vw,21px);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-bottom:10px;}
.bn-img{position:relative;aspect-ratio:16/8.4;background:radial-gradient(closest-side at 50% 52%,color-mix(in srgb,var(--accent-c) 55%,transparent),transparent 78%);}
.bn-img .rot{position:absolute;inset:4% 0;filter:drop-shadow(0 14px 18px rgba(0,0,0,.4));}
.sc-list{list-style:none;margin:0;padding:0;}
.sc-list li{position:relative;padding:2px 0 2px 18px;font-size:var(--fs-m);line-height:1.32;color:rgba(255,255,255,.92);}
.sc-list li::before{content:"";position:absolute;left:1px;top:10px;width:6px;height:6px;border-radius:50%;background:var(--accent-on-dark);}

/* ---------- products by complexity ---------- */
.lv-tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:0 0 clamp(20px,3vw,32px);}
.lv-tab{display:flex;align-items:center;gap:10px;padding:11px 18px;min-height:44px;border-radius:999px;border:0;background:#EDEBE7;color:var(--ink);font-size:var(--fs-m);font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease;}
.lv-tab:hover{background:#E2E0DB;}
.lv-dots{display:flex;gap:3px;}
.lv-dots i{width:6px;height:6px;border-radius:50%;background:rgba(29,29,31,.2);}
.lv-dots i.on{background:var(--ink);}
.lv-tab[aria-selected="true"]{background:var(--green);color:#fff;}
.lv-tab[aria-selected="true"] .lv-dots i{background:rgba(255,255,255,.3);}
.lv-tab[aria-selected="true"] .lv-dots i.on{background:var(--accent-on-dark);}
.lv-panel{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:16px;align-items:stretch;}
.lv-panel[hidden]{display:none;}
.lv-panel.enter .lv-tiles .tile{animation:lvin .5s cubic-bezier(.22,.7,.2,1) both;}
.lv-panel.enter .tile:nth-child(2){animation-delay:.05s;}
.lv-panel.enter .tile:nth-child(3){animation-delay:.1s;}
.lv-panel.enter .tile:nth-child(4){animation-delay:.15s;}
.lv-panel.enter .lv-obj .rot{animation:lvpop .6s cubic-bezier(.22,.7,.2,1) both;}
.lv-stage{position:relative;border-radius:var(--r);overflow:hidden;min-height:400px;display:flex;flex-direction:column;background:radial-gradient(closest-side at 50% 42%,color-mix(in srgb,var(--accent-c) 55%,transparent),transparent 82%),color-mix(in srgb,var(--accent-c) 14%,#0f1a15);color:#fff;}
.lv-obj{flex:1;min-height:0;position:relative;}
.lv-obj .rot{position:absolute;inset:4% 5% 9%;filter:drop-shadow(0 16px 20px rgba(0,0,0,.4));}
@keyframes lvfloat{0%,100%{translate:0 0;}50%{translate:0 -12px;}}
@keyframes lvpop{from{opacity:0;scale:.94;}to{opacity:1;scale:1;}}
@keyframes lvin{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.lv-cap{padding:6px 22px 22px;}
.lv-name{overflow-wrap:anywhere;font-size:var(--fs-h3);font-weight:600;letter-spacing:-.025em;line-height:1.15;margin-bottom:10px;color:#fff;}
.lv-tiles{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:12px;}
.tile{background:#EBE9E5;border-radius:var(--r);padding:14px 18px;display:flex;flex-direction:column;gap:8px;min-width:0;}
.lv-k{font-size:var(--fs-s);font-weight:600;color:var(--muted);}
.lv-v{font-size:var(--fs-m);line-height:1.5;color:var(--ink);}
.meter{display:flex;align-items:center;gap:6px;}
.meter i{width:40px;height:8px;border-radius:4px;background:rgba(29,29,31,.14);}
.meter i.on{background:var(--accent);}
.meter span{margin-left:10px;font-size:var(--fs-m);font-weight:600;}
.chip{display:flex;width:fit-content;align-items:center;gap:7px;padding:4px 12px 4px 10px;border-radius:999px;font-size:var(--fs-s);font-weight:600;color:var(--ink);background:rgba(29,29,31,.07);}
.chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue);}
.chip--red::before{background:var(--terra);}
.chip--growth::before{background:var(--accent);}
.chip--barrier::before{background:var(--green);}
.scen{display:inline-flex;align-self:flex-start;background:rgba(29,29,31,.07);border-radius:var(--r-sm);padding:3px;}
.scen button{padding:8px 14px;min-height:44px;font-size:var(--fs-m);font-weight:600;background:none;border:0;border-radius:6px;cursor:pointer;color:var(--ink-2);transition:background .15s ease,color .15s ease;}
.scen button[aria-pressed="true"]{background:#fff;color:var(--ink);}
.scen-text[hidden]{display:none;}
.life{position:relative;height:8px;border-radius:4px;background:rgba(29,29,31,.12);margin:8px 0 2px;}
.life i{position:absolute;top:0;bottom:0;left:var(--from);width:var(--w);border-radius:4px;background:var(--accent);transform-origin:left center;}
.lv-panel.enter .life i{animation:lvgrow .8s cubic-bezier(.22,.7,.2,1) .25s both;}
@keyframes lvgrow{from{transform:scaleX(0);opacity:.2;}to{transform:none;opacity:1;}}
.life-ticks{display:flex;justify-content:space-between;font-size:var(--fs-s);color:var(--muted);}
.lv-note{text-align:center;color:var(--ink-2);font-size:var(--fs-m);margin:clamp(24px,3vw,36px) auto 0;max-width:62ch;}

/* ---------- about ---------- */
.ab-wrap{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(28px,4vw,56px);align-items:start;}
.ab-photo{position:sticky;top:calc(var(--header-h) + 28px);border-radius:var(--r);overflow:hidden;aspect-ratio:15/16;}
.ab-photo img{width:100%;height:100%;object-fit:cover;}
.ab-copy h2{font-size:var(--fs-h2);font-weight:600;letter-spacing:-.03em;line-height:1.06;}
.ab-role{font-size:var(--fs-lead);color:var(--ink-2);margin:8px 0 clamp(24px,3vw,36px);}
.ab-bento{display:grid;gap:16px;}
.ab-card{background:var(--milk);border-radius:var(--r);padding:clamp(22px,2.6vw,34px);}
.ab-h{font-size:21px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-bottom:18px;}
.ab-facts,.ab-list,.ab-inds{list-style:none;margin:0;padding:0;}
.ab-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px;}
.ab-facts li{display:flex;flex-direction:column;gap:6px;}
.ab-facts b{font-size:var(--fs-num);font-weight:700;letter-spacing:-.03em;line-height:1;}
.ab-facts span{font-size:var(--fs-m);line-height:1.4;color:var(--ink-2);}
.ab-inds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.ab-inds li{background:#fff;border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:2px;}
.ab-inds span{font-size:var(--fs-s);font-weight:600;color:var(--muted);}
.ab-inds b{font-size:var(--fs-m);font-weight:600;}
.ab-list li{position:relative;padding:6px 0 6px 20px;font-size:var(--fs-m);line-height:1.5;}
.ab-list li::before{content:"";position:absolute;left:1px;top:15px;width:6px;height:6px;border-radius:50%;background:var(--accent);}
.ab-link{display:inline-block;margin:-10px 0 -10px 6px;padding:10px 4px;font-size:var(--fs-m);font-weight:600;color:var(--accent-text);text-decoration:none;}
.ab-link:hover{text-decoration:underline;text-underline-offset:3px;}
.ab-rec{background:var(--green);color:#fff;}
.ab-rec p{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.02em;line-height:1.25;}

/* ---------- contacts ---------- */
.contacts{background:var(--green);color:#fff;}
.contacts-top{text-align:center;max-width:680px;margin:0 auto;}
.contacts .section-title{margin-bottom:16px;}
.contacts .promise{color:rgba(255,255,255,.84);font-size:var(--fs-lead);line-height:1.45;max-width:36ch;margin:0 auto 28px;}
.contacts .cta-row{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.c-tiles{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.c-tile{position:relative;display:flex;flex-direction:column;gap:28px;min-height:140px;padding:24px;border-radius:var(--r);background:var(--tile);color:#fff;text-decoration:none;transition:background .2s ease,transform .15s ease;}
.c-tile:hover{background:var(--tile-hover);}
.c-tile:active{transform:scale(.98);}
.c-k{font-size:var(--fs-m);color:rgba(255,255,255,.72);}
.c-v{font-size:21px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-top:auto;overflow-wrap:anywhere;}
.c-arr{position:absolute;top:22px;right:22px;color:var(--accent-on-dark);transition:transform .2s ease;}
.c-tile:hover .c-arr{transform:translate(2px,-2px);}
.disclaimer{margin:44px auto 0;text-align:center;font-size:var(--fs-s);line-height:1.55;color:rgba(255,255,255,.7);max-width:68ch;}

/* ---------- footer ---------- */
.footer{background:var(--green-deep);color:rgba(255,255,255,.72);font-size:var(--fs-m);padding:40px 0;}
.footer .container{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between;}
.footer img{height:20px;width:auto;}
.footer a{color:rgba(255,255,255,.72);text-decoration:none;display:inline-block;padding:10px 0;}
.footer .lang a{padding:12px 4px;}
.footer a:hover{color:#fff;}
.footer .f-contacts{display:flex;gap:24px;flex-wrap:wrap;}

/* ---------- scroll reveal (content is visible without JS) ---------- */
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,.7,.2,1),transform .7s cubic-bezier(.22,.7,.2,1);transition-delay:var(--d,0ms);}
.js .rv.in{opacity:1;transform:none;}

/* ---------- responsive ---------- */
@media (max-width:1000px){
  .bento{grid-template-columns:1fr;}
  .ab-wrap{grid-template-columns:1fr;}
  .ab-photo{position:relative;top:auto;max-width:440px;}
}
@media (max-width:900px){
  .journey{--jr-h:auto;padding:clamp(28px,6vw,40px) 0 clamp(28px,6vw,36px);}
  .journey .section-title{margin-bottom:8px;}
  .journey .section-lead{margin-bottom:6px;font-size:var(--fs-m);}
  .jm-stage{height:auto;display:flex;flex-direction:column;overflow:visible;}
  .jm-view{position:relative;inset:auto;height:206px;flex:none;perspective:800px;perspective-origin:50% 4%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);overflow:hidden;}
  .jm-cam{transform:translateY(31%) rotateX(52deg);}
  .jm-node{--jm-size:148px;}
  .jm-panel{position:relative;left:auto;top:auto;transform:none;width:auto;margin:2px var(--gutter) 0;padding:16px 14px 4px 18px;}
  .jm-slide p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;}
  .jm-panel.open .jm-slide p{-webkit-line-clamp:unset;display:block;}
  .jm-more{display:flex;position:absolute;top:12px;right:12px;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:var(--accent-on-dark);cursor:pointer;z-index:2;}
  .jm-more[hidden]{display:none;}
  .jm-more svg{width:18px;height:18px;transition:transform .25s ease;}
  .jm-panel.open .jm-more svg{transform:rotate(180deg);}
  .jm-slide h3{padding-right:40px;}
  .jm-ctrl{display:none;}
  .jm-prog{display:flex;align-items:center;gap:4px;margin-top:10px;}
  .jm-pb{flex:none;width:36px;height:40px;border:0;background:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:10px;}
  .jm-pb:active{background:rgba(255,255,255,.12);}
  .jm-segs{flex:1;display:flex;gap:3px;}
  .jm-seg{flex:1;height:40px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center;transition:flex .35s ease;}
  .jm-seg.on{flex:2.2;}
  .jm-seg i{display:block;width:100%;height:3px;border-radius:2px;background:rgba(255,255,255,.22);transition:background .3s ease,height .3s ease,box-shadow .3s ease;}
  .jm-seg.done i{background:rgba(201,168,224,.7);}
  .jm-seg.on i{height:6px;background:var(--accent-on-dark);box-shadow:0 0 10px rgba(161,118,192,.9);}
  .jm-slide:not(.on){max-height:0;overflow:hidden;}
  .jm-slide h3{font-size:19px;margin-bottom:8px;}
  .jm-ctrl{position:relative;right:auto;bottom:auto;margin:10px auto 0;flex-wrap:nowrap;justify-content:center;border-radius:999px;gap:2px;}
  .jm-dots{display:none;}
  .jm-count{display:block;}
  .jm-btn{width:46px;height:46px;}
  .pillars{grid-template-columns:1fr;}
  .pillar{flex-direction:row;}
  .pillar-img{flex:0 0 42%;aspect-ratio:auto;}
  .values-wrap{grid-template-columns:1fr;}
  .values-img{order:-1;aspect-ratio:4/3;}
  .lv-panel{grid-template-columns:1fr;}
  .lv-stage{min-height:400px;}
}
@media (max-width:820px){
  .header .container{display:flex;justify-content:space-between;}
  .nav{display:none;}
  .header-right{gap:0;}
  .header-right .lang,.header-right .btn--cta{display:none;}
  .burger{display:flex;margin-right:-11px;}
  .mobile-menu{display:flex;}
  body.menu-open{overflow:hidden;}
  .c-tiles{grid-template-columns:1fr;}
  .c-tile{min-height:112px;gap:16px;}
}
@media (max-width:640px){
  .pillar{flex-direction:column;}
  .pillar-img{flex:none;aspect-ratio:16/9;}
  .lv-tiles{grid-template-columns:1fr;grid-auto-rows:auto;}
  .v-tags{grid-template-columns:1fr;}
  .ab-facts{grid-template-columns:1fr;gap:14px;}
  .ab-facts li{flex-direction:row;align-items:baseline;gap:12px;}
  .ab-facts b{flex:none;min-width:64px;}
  .ab-inds{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .lv-tab{padding:10px 14px;}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .hero-video{display:none;}
  .lv-obj,.lv-panel.enter .lv-obj,.lv-panel.enter .life i,.lv-panel.enter .tile,.rot img,.jm-node.on .jm-pin{animation:none;}
  .js .rv{opacity:1;transform:none;transition:none;}
  .jm-slide,.jm-texts{transition:none;}
  .jm-bg i,.jm.moving .jm-halo,.jm-node.on .jm-pin{animation:none;}
}

/* ---------- rotors (turntable sprites) ---------- */
.rot{position:relative;display:block;width:100%;height:100%;perspective:900px;}
.rot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;animation:pfloat 7.5s ease-in-out var(--f,0s) infinite,pturn 13s ease-in-out var(--f,0s) infinite;will-change:transform;}
@keyframes pfloat{0%,100%{translate:0 0;}50%{translate:0 -9px;}}
@keyframes pturn{0%,100%{transform:rotateY(-6deg) rotateZ(-.6deg);}50%{transform:rotateY(6deg) rotateZ(.6deg);}}
.lv-obj .rot img{--f:-2s;}
.jm-pin .rot img{--f:-1s;}

/* ---------- intro loader: pulsing mark, then the line flies through the screen ---------- */
.loader{display:none;}
html.loading .loader{display:flex;}
html.loading,html.loading body{overflow:hidden;}
.loader{position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;background:var(--green-deep);overflow:hidden;}
.loader .jm-bg{opacity:.95;}
.ld-logo{position:relative;width:min(320px,64vw);height:auto;filter:drop-shadow(0 0 24px rgba(161,118,192,.5));animation:ldheart 1.3s ease-in-out infinite;transition:opacity .4s ease,transform .5s ease;}
@keyframes ldheart{0%{transform:scale(1);}14%{transform:scale(1.1);}28%{transform:scale(1);}42%{transform:scale(1.06);}70%,100%{transform:scale(1);}}
.ld-tag{position:absolute;left:50%;top:50%;width:90vw;margin:0;text-align:center;font-size:clamp(34px,7.4vw,96px);font-weight:700;letter-spacing:-.035em;line-height:1.05;color:#fff;opacity:0;transform:translate(-50%,-50%);text-shadow:0 0 40px rgba(161,118,192,.55);}
.loader.out .ld-logo{animation:none;opacity:0;transition:opacity .32s ease;}
.loader.tag .ld-tag{opacity:1;transition:opacity .45s ease;}
.loader.tag.leave .ld-tag{opacity:0;transform:translate(-50%,-50%) scale(5);filter:blur(10px);transition:transform .9s cubic-bezier(.55,0,.85,.35),opacity .6s ease .15s,filter .8s ease;}
.loader.fly{opacity:0;transition:opacity .7s ease .15s;}
@media (prefers-reduced-motion:reduce){.ld-logo{animation:none;}.loader.tag.leave .ld-tag{transform:translate(-50%,-50%);filter:none;}}

@media (max-width:900px){.js .rv{opacity:1;transform:none;transition:none;}}

/* ---------- footer legal + privacy document ---------- */
.f-legal{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center;}
.f-legal a{display:inline-block;padding:10px 0;color:rgba(255,255,255,.72);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.3);}
.f-legal a:hover{color:#fff;}
.doc-page{background:#fff;}
.doc{max-width:780px;margin:0 auto;padding:calc(var(--header-h) + 48px) var(--gutter) 72px;}
.doc-date{color:var(--muted);font-size:var(--fs-m);margin-bottom:14px;}
.doc h1{font-size:clamp(26px,3.4vw,38px);font-weight:700;letter-spacing:-.03em;line-height:1.12;margin-bottom:28px;text-align:left;}
.doc h2{font-size:clamp(20px,2.2vw,24px);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:40px 0 14px;text-align:left;}
.doc p{font-size:var(--fs-body);line-height:1.65;margin:0 0 12px;color:var(--ink);}
.doc .n{font-weight:600;margin-right:6px;font-variant-numeric:tabular-nums;}
.doc ul{margin:0 0 14px;padding-left:22px;}
.doc li{font-size:var(--fs-body);line-height:1.6;margin:0 0 6px;}
.doc-table{overflow-x:auto;margin:6px 0 18px;border-radius:12px;background:var(--milk);}
.doc-table table{width:100%;border-collapse:collapse;min-width:520px;}
.doc-table th,.doc-table td{padding:14px 18px;vertical-align:top;text-align:left;font-size:var(--fs-m);line-height:1.5;}
.doc-table thead th{font-size:var(--fs-s);font-weight:600;color:var(--muted);}
.doc-table tbody th{font-weight:600;width:38%;}
.doc-table td ul{margin:0;padding-left:18px;}
.doc-table td li{font-size:var(--fs-m);margin:0 0 4px;}
.doc-table tbody tr+tr th,.doc-table tbody tr+tr td{padding-top:16px;}
.req{display:grid;grid-template-columns:minmax(150px,34%) 1fr;gap:10px 20px;margin:0;padding:20px 22px;background:var(--milk);border-radius:12px;}
.req dt{color:var(--muted);font-size:var(--fs-m);}
.req dd{margin:0;font-size:var(--fs-m);line-height:1.5;overflow-wrap:anywhere;}
@media (max-width:640px){.req{grid-template-columns:1fr;gap:2px;}.req dd{margin-bottom:10px;}}
@media print{.header,.footer,.loader{display:none!important;}.doc{padding:0;max-width:none;}.doc h2{break-after:avoid;}.doc p,.doc li{font-size:11.5pt;line-height:1.5;}}

@media (max-width:640px){
  .doc-table{background:none;overflow:visible;}
  .doc-table table,.doc-table tbody,.doc-table tr,.doc-table th,.doc-table td{display:block;min-width:0;width:auto;}
  .doc-table thead{display:none;}
  .doc-table tbody tr{background:var(--milk);border-radius:12px;padding:14px 16px;margin-bottom:10px;}
  .doc-table tbody th,.doc-table tbody td{padding:0;}
  .doc-table tbody th{margin-bottom:8px;}
}

.doc h1,.doc h2{text-wrap:pretty;}

.doc .doc-note{padding:12px 16px;border-radius:12px;background:var(--milk);color:var(--ink-2);font-size:var(--fs-m);line-height:1.5;margin:0 0 20px;}
