/* ============ OutOf.TheBlü v2 · signal in the noise ============ */
:root{
  --night:#071233; --night2:#0B1A45; --navy:#0A1B4D; --royal:#1B2E9A; --sky:#4A87D2;
  --orange:#E8560A; --sun:#F9B428; --mist:#F3F6FC; --soft:#F3F6FC; --line:#DCE3F0;
  --glass:rgba(255,255,255,.06); --glass-b:rgba(255,255,255,.14); --ease:cubic-bezier(.2,.7,.2,1);
}
body.v2{background:#fff;color:#26304A;font-size:16.5px}
.v2 ::selection{background:var(--orange);color:#fff}
.v2 :focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}
.v2 h1{font-size:clamp(40px,6vw,84px);font-weight:700;line-height:1.02;letter-spacing:-.035em}
.v2 h2{font-size:clamp(30px,4vw,54px);font-weight:700;line-height:1.06;letter-spacing:-.03em}
.v2 h3{font-weight:650;letter-spacing:-.015em}
.v2 .k{font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--orange);display:flex;align-items:center;gap:10px}
.v2 .k::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor;flex:0 0 auto}
.v2 section{padding:120px 0}
.v2 .head{max-width:760px}
.v2 .head p{font-size:18.5px}
.v2 .ar{width:18px;height:18px;flex:0 0 auto;transition:transform .35s var(--ease)}
.v2 a:hover>.ar,.v2 a:focus-visible>.ar{transform:translateX(4px)}
.v2 .lnk{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--royal);text-decoration:none}

/* buttons */
.v2 .btn{min-height:52px;padding:0 26px;font-weight:600;gap:10px;transition:transform .25s var(--ease),background .25s,box-shadow .25s}
.v2 .btn.pri{background:linear-gradient(135deg,#E8560A,#F37A2E);color:#fff;box-shadow:0 12px 30px -10px rgba(232,86,10,.6)}
.v2 .btn.pri:hover{background:linear-gradient(135deg,#d24c06,#E8560A)}
.v2 .btn.pri.wa-in{background:#1FAF55;box-shadow:0 12px 30px -12px rgba(31,175,85,.7)}
.v2 .btn.pri.wa-in:hover{background:#178f45}
.v2 .btn.ghost-d{border:1.5px solid rgba(255,255,255,.35);color:#fff;background:transparent}
.v2 .btn.ghost-d:hover{border-color:#fff;background:rgba(255,255,255,.06)}

/* header: dark glass */
.v2 header{background:rgba(7,18,51,.97);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid rgba(255,255,255,.08);transition:background .3s,box-shadow .3s}
.v2 header.scrolled{background:rgba(7,18,51,.97);box-shadow:0 10px 40px -20px rgba(0,0,0,.6)}
.v2 .progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;pointer-events:none}
.v2 .progress i{display:block;height:100%;background:linear-gradient(90deg,var(--sky),var(--orange),var(--sun));transform:scaleX(0);transform-origin:0 50%}
.v2 header nav.main a:not(.btn),.v2 header .ddb{color:rgba(255,255,255,.8)}
.v2 header nav.main a:not(.btn):hover,.v2 header nav.main a[aria-current]:not(.btn),.v2 header .ddb:hover,.v2 header .dd.is-cur .ddb{color:#fff}
.v2 header nav.main .btn{min-height:44px;padding:0 20px;color:#fff}
.v2 .lang a{color:rgba(255,255,255,.6)}.v2 .lang a:hover{color:#fff}.v2 .lang span{color:#fff}
.v2 .ddm{background:rgba(11,26,69,.97);border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 60px -20px rgba(0,0,0,.6);padding:10px;border-radius:18px}
.v2 .ddm.wide{min-width:560px;display:none;grid-template-columns:1fr 1fr;gap:4px}
.v2 .dd:hover .ddm.wide,.v2 .dd.open .ddm.wide,.v2 .dd:focus-within .ddm.wide{display:grid}
.v2 nav.main .ddm a:hover,.v2 nav.main .ddm a[aria-current]{background:rgba(255,255,255,.07)}
.v2 .ddm a b{color:#fff}.v2 .ddm a span{color:rgba(255,255,255,.6)}
.v2 .burger{background:transparent;border-color:rgba(255,255,255,.2)}.v2 .burger span{background:#fff}
.v2 .mnav{background:var(--night);border-top-color:rgba(255,255,255,.08)}
.v2 .mnav a:not(.btn){border-bottom-color:rgba(255,255,255,.08)}
.v2 .mnav a b{color:#fff}.v2 .mnav a span{color:rgba(255,255,255,.6)}

/* dark surfaces shared */
.v2 .phero,.v2 .ahead,.v2 .hero-x,.v2 .jhero,.v2 .numbers-x,.v2 .mosaic-x,.v2 .memo-x,.v2 .jcta,.v2 .contact,.v2 .quote-x{background:var(--night);color:rgba(255,255,255,.75);position:relative;overflow:hidden}
.v2 .phero,.v2 .ahead{background:radial-gradient(900px 420px at 85% -10%,rgba(27,46,154,.65),transparent 70%),radial-gradient(700px 380px at -10% 110%,rgba(232,86,10,.18),transparent 70%),var(--night);padding:110px 0 100px}
.v2 .phero::before,.v2 .ahead::before,.v2 .hero-x::before,.v2 .jhero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse at 70% 30%,#000 10%,transparent 75%);mask-image:radial-gradient(ellipse at 70% 30%,#000 10%,transparent 75%)}
.v2 .phero>.wrap,.v2 .ahead>.wrap{position:relative;z-index:2}
.v2 .phero h1,.v2 .phero h2,.v2 .ahead h1,.v2 .hero-x h1,.v2 .jhero h1,.v2 .numbers-x h2,.v2 .mosaic-x h2,.v2 .memo-x h2,.v2 .jcta h2,.v2 .contact h2{color:#fff}
.v2 .phero h1{font-size:clamp(38px,5vw,68px)}
.v2 .phero .lead,.v2 .hero-x .lead,.v2 .jhero .lead{color:rgba(255,255,255,.74)}
.v2 .phero .k,.v2 .ahead .k,.v2 .hero-x .k,.v2 .jhero .k,.v2 .mosaic-x .k,.v2 .memo-x .k,.v2 .contact .k{color:#FF8A4C}
.v2 .ahead .meta,.v2 .crumbs{color:rgba(255,255,255,.6)}.v2 .crumbs a{color:#9CC0F0}
.v2 .phero .why div{background:var(--glass);border:1px solid var(--glass-b);border-radius:18px;padding:20px;color:rgba(255,255,255,.75)}
.v2 .phero .why b{color:#fff}
.v2 .afacts div{background:var(--glass);border-color:var(--glass-b)}
.v2 .afacts b{color:#fff}.v2 .afacts span{color:rgba(255,255,255,.65)}
.v2 .spot::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(420px circle at var(--mx,-500px) var(--my,-500px),rgba(74,135,210,.16),transparent 60%)}
.v2 canvas.signal{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;background:none;border:0;border-radius:0;padding:0;box-shadow:none}
.v2 .memo-x canvas.signal,.v2 .jcta canvas.signal{opacity:.55}

/* ---------- home hero ---------- */
.v2 .hero-x{min-height:calc(100svh - 74px);display:flex;flex-direction:column;justify-content:center;padding:96px 0 130px}
.v2 .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.32;filter:saturate(.7)}
.v2 .hero-x .hero-bg::after,.v2 .jhero .hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--night) 25%,rgba(7,18,51,.55) 65%,rgba(7,18,51,.85))}
.v2 .hero-in{position:relative;z-index:3;width:100%;box-sizing:border-box}
.v2 .hero-x h1{max-width:15ch;margin-top:18px}
.v2 .hero-x .lead{max-width:620px;font-size:clamp(18px,1.7vw,22px)}
.v2 .chips-q{margin-top:44px;color:#fff;font-weight:600;font-size:16px}
.v2 .chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;max-width:920px}
.v2 .chip{display:flex;align-items:center;gap:14px;padding:10px 18px 10px 10px;border-radius:18px;background:var(--glass);border:1px solid var(--glass-b);
  color:#fff;text-decoration:none;font-weight:600;font-size:15.5px;transition:background .3s,border-color .3s,transform .3s var(--ease);backdrop-filter:blur(6px)}
.v2 .chip img{width:44px;height:44px;border-radius:12px;object-fit:cover;flex:0 0 auto}
.v2 .chip span{flex:1}
.v2 .chip:hover{background:rgba(255,255,255,.11);border-color:rgba(232,86,10,.7);transform:translateY(-2px)}
.v2 .marquee{position:absolute;left:0;right:0;bottom:0;z-index:3;border-top:1px solid rgba(255,255,255,.08);overflow:hidden;padding:16px 0;background:rgba(7,18,51,.4)}
.v2 .marquee>div{display:flex;gap:44px;width:max-content;animation:mq 46s linear infinite}
.v2 .marquee span{white-space:nowrap;color:rgba(255,255,255,.55);font-size:15px;font-weight:500;display:flex;align-items:center;gap:44px}
.v2 .marquee span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange)}
@keyframes mq{to{transform:translateX(-50%)}}
/* the one orchestrated load moment */
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.v2 .hero-in>*{animation:rise .9s var(--ease) both}
.v2 .hero-in>*:nth-child(1){animation-delay:.15s}.v2 .hero-in>*:nth-child(2){animation-delay:.3s}.v2 .hero-in>*:nth-child(3){animation-delay:.5s}
.v2 .hero-in>*:nth-child(4){animation-delay:1.6s}.v2 .hero-in>*:nth-child(5){animation-delay:1.75s}

/* ---------- paths ---------- */
.v2 .paths{display:flex;gap:12px;height:540px;margin-top:52px}
.v2 .path{position:relative;flex:1;min-width:0;border-radius:26px;overflow:hidden;color:#fff;text-decoration:none;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;
  background-position:center;background-size:cover;transition:flex .7s var(--ease)}
.v2 .path::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,18,51,.05) 20%,rgba(7,18,51,.92) 92%);transition:background .5s}
.v2 .path>*{position:relative}
.v2 .path .pk{font-size:13.5px;font-weight:600;color:#FFB27F}
.v2 .path h3{color:#fff;font-size:clamp(22px,2vw,30px);margin-top:6px;line-height:1.1}
.v2 .path p{max-width:34ch;color:rgba(255,255,255,.82);margin-top:10px;opacity:0;transform:translateY(10px);transition:opacity .45s .1s,transform .45s .1s var(--ease);max-height:0}
.v2 .path .go{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:600;color:#fff;opacity:0;transition:opacity .45s .15s}
.v2 .paths:hover .path,.v2 .paths:focus-within .path{flex:.8}
.v2 .paths .path:hover,.v2 .paths .path:focus-visible{flex:2.3}
.v2 .path:hover p,.v2 .path:focus-visible p{opacity:1;transform:none;max-height:200px}
.v2 .path:hover .go,.v2 .path:focus-visible .go{opacity:1}
.v2 .path:hover::before{background:linear-gradient(180deg,rgba(7,18,51,0) 10%,rgba(7,18,51,.95) 95%)}

/* ---------- numbers ---------- */
.v2 .numbers-x{background:linear-gradient(120deg,var(--royal),var(--night) 70%);padding:90px 0}
.v2 .numbers{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.v2 .numbers div{border-left:1px solid rgba(255,255,255,.18);padding-left:22px}
.v2 .numbers b{display:flex;align-items:baseline;gap:8px;color:#fff;font-size:clamp(52px,6vw,84px);font-weight:700;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.v2 .numbers small{font-size:20px;color:var(--sun);font-weight:600;letter-spacing:0}
.v2 .numbers p{margin-top:12px;color:rgba(255,255,255,.7);max-width:24ch}

/* ---------- method flow with scroll progress ---------- */
.v2 .flow-x{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;margin-top:64px;position:relative;padding-top:6px}
.v2 .flow-x::before,.v2 .flow-x::after{content:"";position:absolute;left:22px;right:22px;top:28px;height:2px;border-radius:2px;background:var(--line)}
.v2 .flow-x::after{background:linear-gradient(90deg,var(--sky),var(--orange),var(--sun));transform:scaleX(var(--p,0));transform-origin:0 50%}
.v2 .flow-x li{position:relative;z-index:1}
.v2 .flow-x .n{width:46px;height:46px;border-radius:50%;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--navy)}
.v2 .flow-x li:last-child .n{background:var(--orange);border-color:var(--orange);color:#fff}
.v2 .flow-x h3{margin-top:22px;font-size:21px}
.v2 .flow-x p{margin-top:8px;color:var(--muted);font-size:15.5px}

/* ---------- people mosaic ---------- */
.v2 .mosaic-x{background:var(--night)}
.v2 .mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:230px;gap:14px;margin-top:52px}
.v2 .mosaic figure{position:relative;margin:0;border-radius:22px;overflow:hidden}
.v2 .mosaic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.v2 .mosaic figure:hover img{transform:scale(1.05)}
.v2 .mosaic figcaption{position:absolute;left:14px;bottom:14px;padding:9px 14px;border-radius:12px;background:rgba(7,18,51,.62);backdrop-filter:blur(8px);color:#fff;font-weight:600;font-size:14.5px}
.v2 .mosaic .m1{grid-column:span 5;grid-row:span 2}.v2 .mosaic .m2{grid-column:span 7}
.v2 .mosaic .m3{grid-column:span 3}.v2 .mosaic .m4{grid-column:span 4}.v2 .mosaic .m5{grid-column:span 12;grid-row:span 1}
.v2 .mosaic .m5 img{object-position:center 35%}

/* ---------- offer list with cursor preview ---------- */
.v2 .offer-list{position:relative;margin-top:44px;border-top:1px solid var(--line)}
.v2 .offer-row{display:grid;grid-template-columns:1.1fr 1.5fr .9fr auto;gap:24px;align-items:center;padding:30px 6px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--navy);transition:padding .4s var(--ease),color .3s,background .3s}
.v2 .offer-row .on{font-size:clamp(26px,3vw,40px);font-weight:700;letter-spacing:-.03em}
.v2 .offer-row .od{color:var(--muted);font-size:17px}
.v2 .offer-row .of{font-size:14px;color:var(--muted)}
.v2 .offer-row .ar{width:26px;height:26px;color:var(--orange)}
.v2 .offer-row:hover{padding-left:22px;background:linear-gradient(90deg,var(--mist),transparent)}
.v2 .offer-row:hover .on{color:var(--royal)}
.v2 .float-img{position:absolute;left:0;top:0;width:300px;height:210px;border-radius:18px;background-size:cover;background-position:center;pointer-events:none;z-index:3;
  opacity:0;scale:.85;transition:opacity .3s,scale .4s var(--ease);box-shadow:0 30px 60px -20px rgba(10,27,77,.5)}
.v2 .offer-list.hov .float-img{opacity:1;scale:1}

/* ---------- quote ---------- */
.v2 .quote-x{padding:130px 0;text-align:left}
.v2 .quote-x p{color:#fff;font-size:clamp(36px,5.6vw,80px);font-weight:700;letter-spacing:-.035em;line-height:1.05;max-width:16ch}
.v2 .quote-x p em{font-style:normal;color:#fff;display:block}
.v2 .quote-x p{color:rgba(255,255,255,.45)}

/* ---------- light sections polish ---------- */
.v2 section.soft{background:var(--mist)}
.v2 .card{border:1px solid transparent;box-shadow:0 1px 0 var(--line),0 20px 40px -30px rgba(10,27,77,.35);transition:transform .4s var(--ease),box-shadow .4s}
.v2 a.card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(10,27,77,.45)}
.v2 .card .go{display:inline-flex;align-items:center;gap:8px}
.v2 .member{transition:transform .4s var(--ease)}.v2 .member:hover{transform:translateY(-4px)}
.v2 .faq summary{font-size:19px}

/* ---------- memo ---------- */
.v2 .memo-x{padding:130px 0}
.v2 .memo-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}
.v2 .memo-left .mp{color:rgba(255,255,255,.72);font-size:18px;margin-top:14px;max-width:46ch}
.v2 .memo-left .report{margin-top:40px;max-width:560px}
.v2 .memo-x .memo-card{background:#fff;border:0;box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}
.v2 .memo-x .memo-card h3{font-size:26px;color:var(--navy);margin-bottom:6px}
.v2 .contact{background:var(--night2)}

/* ---------- footer ---------- */
.v2 footer.fx{background:var(--night);color:rgba(255,255,255,.65);padding:72px 0 30px;border-top:1px solid rgba(255,255,255,.06)}
.v2 footer.fx .wrap{display:block}
.v2 .ftop{display:grid;grid-template-columns:1.1fr 2fr;gap:48px}
.v2 .fbrand img{width:210px;height:auto}
.v2 .fbrand p{margin-top:16px;max-width:32ch;font-size:15px}
.v2 .fcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.v2 .fcols div{display:flex;flex-direction:column;gap:10px}
.v2 .fcols b{color:#fff;font-size:15px;margin-bottom:4px}
.v2 .fcols a,.v2 .fcols span{color:rgba(255,255,255,.65);text-decoration:none;font-size:14.5px}
.v2 .fcols a:hover{color:#fff}
.v2 .fbot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);font-size:13.5px}
.v2 .fbot a{color:#fff}

/* ---------- journey pages ---------- */
.v2 .jhero{min-height:78svh;display:flex;align-items:center;padding:100px 0}
.v2 .jhero .hero-bg{left:35%;opacity:.55;filter:saturate(.85)}
.v2 .jhero .hero-bg::after{background:linear-gradient(90deg,var(--night) 0%,rgba(7,18,51,.75) 35%,rgba(7,18,51,.15) 100%)}
.v2 .jhero h1{max-width:16ch;margin-top:18px;font-size:clamp(38px,5.2vw,72px)}
.v2 .jhero .lead{max-width:560px}
.v2 .jgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:start}
.v2 .pains{display:flex;flex-direction:column;gap:12px}
.v2 .pains button{display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:20px 22px;border-radius:18px;border:1.5px solid var(--line);background:#fff;
  font:inherit;font-size:18px;font-weight:600;color:var(--navy);cursor:pointer;transition:border-color .25s,background .25s,transform .25s var(--ease)}
.v2 .pains button:hover{border-color:var(--sky);transform:translateX(4px)}
.v2 .pains i{width:26px;height:26px;border-radius:8px;border:2px solid var(--line);flex:0 0 auto;position:relative;transition:.25s}
.v2 .pains button[aria-pressed="true"]{border-color:var(--orange);background:#FFF5EE}
.v2 .pains button[aria-pressed="true"] i{background:var(--orange);border-color:var(--orange)}
.v2 .pains button[aria-pressed="true"] i::after{content:"";position:absolute;left:7px;top:3px;width:7px;height:12px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.v2 .jres{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:16px;padding:0 24px;max-height:0;opacity:0;overflow:hidden;border-radius:18px;background:var(--night);color:#fff;
  transition:max-height .5s var(--ease),opacity .4s,padding .4s}
.v2 .jres.on{max-height:220px;opacity:1;padding:22px 24px}
.v2 .jres b{color:var(--sun);font-size:22px}
.v2 .jphoto{margin:0;border-radius:26px;overflow:hidden;aspect-ratio:4/5}
.v2 .jphoto img{width:100%;height:100%;object-fit:cover}
.v2 .outs{list-style:none;margin-top:24px}
.v2 .outs li{display:flex;flex-direction:column;gap:4px;padding:22px 0 22px 26px;border-top:1px solid var(--line);position:relative}
.v2 .outs li::before{content:"";position:absolute;left:0;top:31px;width:12px;height:12px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px rgba(232,86,10,.15)}
.v2 .outs b{font-size:22px;color:var(--navy)}
.v2 .outs span{color:var(--muted);font-size:17px}
.v2 .jpath{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:48px;position:relative}
.v2 .jpath a{display:flex;flex-direction:column;gap:8px;height:100%;padding:26px;border-radius:22px;background:var(--night);color:rgba(255,255,255,.72);text-decoration:none;position:relative;overflow:hidden;
  transition:transform .4s var(--ease)}
.v2 .jpath a::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--sky),var(--orange));transform:scaleX(var(--p,0));transform-origin:0 50%}
.v2 .jpath a:hover{transform:translateY(-5px)}
.v2 .jpath .n{font-size:44px;font-weight:700;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.45);line-height:1}
.v2 .jpath b{color:#fff;font-size:22px;margin-top:10px}
.v2 .jpath .ar{color:var(--orange);margin-top:auto}
.v2 .jcta{text-align:left;padding:120px 0}
.v2 .jcta .wrap{position:relative;z-index:2}
.v2 .jcta p{font-size:19px;margin-top:10px}
.v2 .jcta .ctas{margin-top:28px}
.v2 .chips.others{margin-top:56px}

/* ---------- scroll reveal (added by JS only) ---------- */
.v2 [data-rv]{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease) var(--d,0ms),transform .8s var(--ease) var(--d,0ms)}
.v2 [data-rv].in{opacity:1;transform:none}
.v2 .mosaic figure[data-rv]{opacity:1;transform:none;background:rgba(255,255,255,.04)}
.v2 .mosaic figure[data-rv] img{clip-path:inset(100% 0 0 0);transition:clip-path 1.1s var(--ease) var(--d,0ms),transform 1.2s var(--ease)}
.v2 .mosaic figure[data-rv].in img{clip-path:inset(0 0 0 0)}
.v2 .mosaic figure[data-rv] figcaption{opacity:0;transform:translateY(8px);transition:opacity .6s calc(var(--d,0ms) + .7s),transform .6s calc(var(--d,0ms) + .7s)}
.v2 .mosaic figure[data-rv].in figcaption{opacity:1;transform:none}
.v2 .path[data-rv]{transition:opacity .8s var(--ease) var(--d,0ms),transform .8s var(--ease) var(--d,0ms),flex .7s var(--ease)}

@media (prefers-reduced-motion:reduce){
  .v2 *,.v2 *::before,.v2 *::after{animation:none!important;transition:none!important}
  .v2 [data-rv]{opacity:1;transform:none;clip-path:none}
}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .v2 .chips{grid-template-columns:minmax(0,1fr)}
  .v2 .flow-x{grid-template-columns:minmax(0,1fr);gap:28px;padding-left:64px}
  .v2 .flow-x::before,.v2 .flow-x::after{left:22px;right:auto;top:10px;bottom:10px;width:2px;height:auto}
  .v2 .flow-x::after{transform:scaleY(var(--p,0));transform-origin:50% 0}
  .v2 .flow-x .n{position:absolute;left:-64px;top:-4px}
  .v2 .flow-x h3{margin-top:4px}
  .v2 .numbers{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .v2 .memo-grid,.v2 .jgrid,.v2 .ftop{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:860px){
  .v2 section{padding:84px 0}
  .v2 .hero-x{padding:64px 0 120px;min-height:auto}
  .v2 .paths{flex-direction:column;height:auto}
  .v2 .path{min-height:300px;flex:none!important}
  .v2 .path p,.v2 .path .go{opacity:1;transform:none;max-height:none}
  .v2 .member .pic{aspect-ratio:auto;min-height:150px}
  .v2 .mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px}
  .v2 .mosaic figure{grid-column:span 1!important;grid-row:span 1!important}
  .v2 .mosaic .m1,.v2 .mosaic .m4,.v2 .mosaic .m5{grid-column:span 2!important}
  .v2 .hero-x canvas.signal{opacity:.55}
  .v2 .mosaic .m1{grid-row:span 2!important}
  .v2 .offer-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;padding:24px 0}
  .v2 .offer-row .on{grid-column:1}.v2 .offer-row .ar{grid-column:2;grid-row:1}
  .v2 .offer-row .od,.v2 .offer-row .of{grid-column:1/-1}
  .v2 .float-img{display:none}
  .v2 .fcols{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}
  .v2 .jhero{min-height:auto;padding:80px 0}
  .v2 .jhero .hero-bg{left:0;opacity:.35}
  .v2 .pains button{font-size:16.5px;padding:16px 18px}
  .v2 .quote-x{padding:90px 0}
}
@media (max-width:520px){
  .v2 .numbers{grid-template-columns:minmax(0,1fr)}
  .v2 .numbers b{font-size:56px}
}
.v2 .mnav .mg{text-transform:none;letter-spacing:0;font-size:13.5px;font-weight:600}
