/* The new fronts keep the same scene scale, textured light and curved transitions. */
/* Nine equal steps on a shared circular plane; SVG routes use these same coordinates. */
.ecosystem{min-height:calc(970 * var(--u))}
.ecosystem-copy{width:calc(400 * var(--u));top:calc(115 * var(--u))}
.ecosystem-copy .desktop-break{display:none}
@media(min-width:961px){.ecosystem-copy h2 .pink{white-space:nowrap}}
.ecosystem-map{--u:calc(100cqw / 1760);left:calc(520 * 100cqw / 1440);top:calc(24 * 100cqw / 1440);width:calc(1100 * var(--u));height:calc(1100 * var(--u))}
.ecosystem-map .ecosystem-center{left:50%;top:50%;width:calc(280 * var(--u));height:calc(200 * var(--u));transform:translate(-50%,-50%)}
.ecosystem-map .node-brand-plate{left:50%;top:calc(-18 * var(--u));width:calc(148 * var(--u));transform:translateX(-50%) translateZ(12px)}
.ecosystem-map .solution-node{--tilt:0deg}
.ecosystem-atmosphere{top:0;height:calc(940 * var(--u))}
.flow-ecosystem-pay{top:calc(840 * var(--u))}
.ecosystem-map .node-pay{left:calc(550.000 * var(--u));top:calc(130.000 * var(--u))}
.ecosystem-map .node-experience{left:calc(819.971 * var(--u));top:calc(228.261 * var(--u))}
.ecosystem-map .node-premium{left:calc(963.619 * var(--u));top:calc(477.068 * var(--u))}
.ecosystem-map .node-crypto{left:calc(913.731 * var(--u));top:calc(760.000 * var(--u))}
.ecosystem-map .node-vip{left:calc(693.648 * var(--u));top:calc(944.671 * var(--u))}
.ecosystem-map .node-ticket{left:calc(406.352 * var(--u));top:calc(944.671 * var(--u))}
.ecosystem-map .node-premios{left:calc(186.269 * var(--u));top:calc(760.000 * var(--u))}
.ecosystem-map .node-shopping{left:calc(136.381 * var(--u));top:calc(477.068 * var(--u))}
.ecosystem-map .node-bank{left:calc(280.029 * var(--u));top:calc(228.261 * var(--u))}
.node-premios .node-photo img{object-position:73% center}
.node-shopping .node-photo img{object-position:27% center}
.node-bank .node-photo img{object-position:72% center}
.node-premios .node-photo img,.node-shopping .node-photo img,.node-bank .node-photo img{animation:photo-breathe 8s ease-in-out infinite}
.eco-history-link{display:block;width:calc(325 * var(--u));margin-top:calc(75 * var(--u));padding:calc(24 * var(--u)) 0;border-top:1px solid #b057c653;color:#d1bddb}
.eco-history-link>span{font-size:calc(11 * var(--u));letter-spacing:calc(2 * var(--u));color:#cf70de}
.eco-history-link strong{display:flex;align-items:center;gap:calc(15 * var(--u));font-size:calc(21 * var(--u));margin-block:calc(13 * var(--u));font-weight:500;color:#f4e6fa}
.eco-history-link strong .icon{width:calc(23 * var(--u));height:calc(23 * var(--u));color:#e779ee;transition:translate .3s}
.eco-history-link small{font-size:calc(15 * var(--u))}
.eco-history-link:hover strong .icon{translate:5px 0}
.new-branch{min-height:calc(480 * var(--u));z-index:3}
.new-branch .branch-copy{width:calc(570 * var(--u));margin-left:calc(94 * var(--u));padding-top:calc(86 * var(--u));padding-bottom:calc(75 * var(--u))}
.new-branch .branch-copy h2{font-size:calc(43 * var(--u));line-height:1.12;margin-top:calc(21 * var(--u))}
.new-branch .description{max-width:calc(465 * var(--u));line-height:1.45;margin-top:calc(20 * var(--u))}
.new-branch .button{margin-top:calc(26 * var(--u))}
.branch-stage{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:clip;mask-image:linear-gradient(transparent,#000 17%,#000 82%,transparent)}
.branch-art-motion{position:absolute;inset:0;transform-origin:70% 55%}
.branch-art{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% center}
.branch-aura{position:absolute;width:calc(490 * var(--u));height:calc(260 * var(--u));right:calc(50 * var(--u));top:calc(130 * var(--u));background:radial-gradient(ellipse,#b91dca28,transparent 67%);mix-blend-mode:screen;animation:branch-light 6s ease-in-out infinite;pointer-events:none}
.branch-reversed .branch-art-motion{transform-origin:30% 55%}
.new-branch.branch-reversed .branch-copy{margin-left:calc(875 * var(--u));width:calc(485 * var(--u))}
.new-branch.branch-reversed .branch-copy h2{font-size:calc(41 * var(--u))}
.branch-reversed .branch-aura{left:calc(120 * var(--u));right:auto;animation-delay:-2s}
.branch-slogan{right:calc(40 * var(--u));top:calc(38 * var(--u));font-size:calc(37 * var(--u));width:calc(210 * var(--u));line-height:.95}
.branch-reversed .branch-slogan{right:auto;left:calc(55 * var(--u));top:calc(27 * var(--u));font-size:calc(34 * var(--u))}
.branch-emblem{position:absolute;right:calc(84 * var(--u));bottom:calc(68 * var(--u));width:calc(135 * var(--u));z-index:3;filter:drop-shadow(0 0 8px #d462f1b0);opacity:.88}
.branch-reversed .branch-emblem{right:auto;left:calc(80 * var(--u));bottom:calc(70 * var(--u))}
.branch-status{display:inline-flex;align-items:center;gap:calc(8 * var(--u));margin-top:calc(13 * var(--u));padding:calc(5 * var(--u)) calc(10 * var(--u));border:1px solid #c67bdd4a;border-radius:100px;color:#cfa8dd;background:#2d0d3a77;font-size:calc(11 * var(--u));line-height:1.3}
.branch-status:before{content:'';width:calc(4 * var(--u));height:calc(4 * var(--u));border-radius:50%;background:#df89ef;box-shadow:0 0 8px #e48fff}
.new-branch.bank .branch-copy{padding-top:calc(64 * var(--u))}
.new-branch.bank h2{margin-top:calc(15 * var(--u))}
.branch-flow{top:auto;bottom:calc(-85 * var(--u));height:calc(200 * var(--u));opacity:.65;transform:rotate(-3deg) scaleX(-1)}
.shopping .branch-flow{transform:rotate(2deg) scaleY(.83);opacity:.55}
.bank .branch-flow{transform:rotate(-1deg) scaleX(-1);opacity:.7}
.scene:not(.is-visible) .branch-aura{animation-play-state:paused}
@keyframes branch-light{0%,100%{opacity:.5;scale:.93;translate:-10px 0}50%{opacity:1;scale:1.15;translate:10px -8px}}

.history-teaser{min-height:calc(490 * var(--u));z-index:3}
.teaser-copy{width:calc(570 * var(--u));padding:calc(92 * var(--u)) 0 calc(85 * var(--u));margin-left:calc(94 * var(--u))}
.teaser-copy h2{margin-top:calc(21 * var(--u));font-size:calc(44 * var(--u))}
.teaser-copy .description{margin-top:calc(23 * var(--u));max-width:calc(495 * var(--u));font-size:calc(19 * var(--u));line-height:1.45}
.teaser-copy .button{margin-top:calc(27 * var(--u))}
.teaser-art{position:absolute;right:0;top:calc(-35 * var(--u));width:calc(800 * var(--u));height:calc(520 * var(--u));isolation:isolate;mask-image:linear-gradient(90deg,transparent,#000 28%,#000 92%,transparent),linear-gradient(transparent,#000 10%,#000 83%,transparent);mask-composite:intersect}
.teaser-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#08011066,transparent 50%),linear-gradient(transparent 40%,#1f012e6b);pointer-events:none}
.teaser-stage-photo{position:absolute;left:20%;top:0;width:51%;height:100%;object-fit:cover;object-position:50% 30%}
.teaser-crowd-photo{position:absolute;right:0;top:12%;width:34%;height:85%;object-fit:cover;object-position:center;transform:rotate(5deg);border:1px solid #e07bf766;border-radius:calc(24 * var(--u));filter:brightness(.78)}
.teaser-photo-frame{position:absolute;left:19%;top:6%;width:53%;height:82%;border:1px solid #e283ff6b;border-radius:calc(30 * var(--u));transform:rotate(-5deg);box-shadow:0 0 35px #a423cc45}
.teaser-date{position:absolute;right:calc(130 * var(--u));bottom:calc(73 * var(--u));z-index:5;display:flex;align-items:center;gap:calc(18 * var(--u));padding:calc(19 * var(--u)) calc(24 * var(--u));background:linear-gradient(130deg,#391248d1,#100419c9),url('assets/shared/surface-grain.svg');border:1px solid #d380e660;border-radius:calc(14 * var(--u));backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 #ebb8fc44,0 10px 30px #05010880}
.teaser-date strong{font-size:calc(34 * var(--u));font-weight:500;color:#f2c2ff;letter-spacing:-1px}.teaser-date>span{font-size:calc(10 * var(--u));line-height:1.65;letter-spacing:calc(1.7 * var(--u));color:#e4cbe9}
.teaser-flow{bottom:calc(-96 * var(--u));height:calc(210 * var(--u));transform:rotate(-3deg) scaleX(-1);opacity:.7}
.footer nav{gap:calc(23 * var(--u));left:calc(455 * var(--u))}
.institutional-story{margin-block:50px}
.institutional-story section{position:relative;padding:32px 0 32px 30px;border-left:1px solid #9e52b343}
.institutional-story section:before{content:'';position:absolute;top:38px;left:-4px;width:7px;height:7px;background:#e6a0f6;border-radius:50%;box-shadow:0 0 13px #df43ff}
.institutional-story .eyebrow{font-size:10px}
.institutional-story h2{max-width:700px;margin:15px 0 21px;font-size:32px}
.institutional-story p:not(.eyebrow){font-size:17px;line-height:1.8;color:#cdbbd5;max-width:810px}
.institutional-story p+p{margin-top:16px}
.institutional-story .institutional-signature{color:#edb6f5!important;font-weight:500}
.institutional-modal{margin-block:30px}
.institutional-modal h3{font-size:24px}
.institutional-modal p+p{margin-top:14px}
.institutional-modal>a{display:inline-flex;align-items:center;gap:10px;margin-top:17px;font-size:14px}
.institutional-modal .icon{width:18px;height:18px}

@media(min-width:961px) and (max-width:1180px){
 .new-branch .description{font-size:14px}.new-branch{min-height:calc(520 * var(--u))}.new-branch .branch-copy{width:calc(565 * var(--u))}.new-branch.branch-reversed .branch-copy{margin-left:calc(850 * var(--u));width:calc(510 * var(--u))}
 .eco-history-link>span{font-size:9px}.eco-history-link strong{font-size:15px}.eco-history-link small{font-size:12px}.new-branch .button{font-size:10px}
 .teaser-copy .description{font-size:14px}.history-teaser{min-height:calc(525 * var(--u))}.footer nav{gap:calc(17 * var(--u));left:calc(435 * var(--u))}
}
@media(max-width:960px){
 .ecosystem{min-height:0}.ecosystem-copy{width:auto;top:auto}.ecosystem-map{--u:min(calc((100vw - 24px) / 1100),.8px);left:50%;top:auto;transform:translateX(-50%);width:calc(1100 * var(--u));height:calc(1100 * var(--u));margin:48px 0 20px}.ecosystem-atmosphere{top:auto;bottom:0;height:600px}
 .eco-history-link{width:auto;max-width:400px;margin-top:30px;padding:19px 0 0;border-color:#b057c641}.eco-history-link>span{font-size:9px;letter-spacing:1.6px}.eco-history-link strong{font-size:17px;margin-block:10px;gap:14px}.eco-history-link strong .icon{width:21px;height:21px}.eco-history-link small{font-size:12px}
 .new-branch,.new-branch.bank{min-height:0;padding:330px 25px 64px}
 .new-branch .branch-copy,.new-branch.bank .branch-copy,.new-branch.branch-reversed .branch-copy{margin:0;padding:0;width:auto}
 .new-branch .branch-copy h2,.new-branch.branch-reversed .branch-copy h2{font-size:32px;line-height:1.12;margin-top:17px}
 .new-branch .description{font-size:15px;line-height:1.55;max-width:580px;margin-top:18px}
 .new-branch .button{margin-top:24px;font-size:11px}
 .branch-stage{top:0;bottom:auto;height:360px;left:0;width:100%;mask-image:linear-gradient(transparent,#000 12%,#000 76%,transparent)}
 .branch-art{object-fit:cover;object-position:75% center}.branch-reversed .branch-art{object-position:25% center}.bank .branch-art{object-position:72% center}
 .branch-aura{width:300px;height:200px;top:85px;right:20px}.branch-reversed .branch-aura{left:20px;right:auto}
 .branch-slogan,.branch-reversed .branch-slogan{left:auto;right:18px;top:24px;width:145px;font-size:26px}
 .branch-reversed .branch-slogan{left:18px;right:auto;font-size:25px}
 .branch-emblem{width:94px;right:26px;top:248px;bottom:auto}.branch-reversed .branch-emblem{left:26px;top:248px;bottom:auto}
 .branch-status{font-size:10px;gap:7px;margin-top:12px;padding:5px 10px}.branch-status:before{width:4px;height:4px}
 .branch-flow{height:150px;width:160%;left:-30%;bottom:-63px}
 .history-teaser{min-height:0;padding:350px 25px 65px}
 .teaser-copy{width:auto;padding:0;margin:0}.teaser-copy h2{font-size:32px;margin-top:18px}.teaser-copy .description{font-size:15px;line-height:1.55;max-width:600px;margin-top:18px}.teaser-copy .button{margin-top:26px}
 .teaser-art{width:500px;height:370px;top:-3px;right:calc(50% - 240px)}
 .teaser-date{top:262px;bottom:auto;right:24px;padding:12px 16px;gap:15px;border-radius:12px}.teaser-date strong{font-size:27px}.teaser-date>span{font-size:8px;letter-spacing:1px}
 .teaser-flow{width:155%;left:-27%;height:180px;bottom:-77px}
 .footer nav{gap:14px 19px;left:auto}
 .institutional-story{margin-block:30px}.institutional-story section{padding:25px 0 25px 20px}.institutional-story section:before{top:31px}.institutional-story h2{font-size:26px}.institutional-story p:not(.eyebrow){font-size:15px;line-height:1.7}
}
@media(min-width:601px) and (max-width:960px){
 .ecosystem-atmosphere{height:900px}.ecosystem-map{margin-top:65px}
 .new-branch,.new-branch.bank{padding:405px 48px 75px}.branch-stage{height:440px}.new-branch .branch-copy h2,.new-branch.branch-reversed .branch-copy h2{font-size:39px}.new-branch .description{font-size:17px}.new-branch .button{font-size:13px}.branch-emblem,.branch-reversed .branch-emblem{top:300px;width:125px}.branch-slogan,.branch-reversed .branch-slogan{font-size:34px;width:200px;top:35px}
 .history-teaser{padding:420px 48px 75px}.teaser-art{width:650px;height:440px;right:calc(50% - 300px)}.teaser-date{top:330px;right:55px}.teaser-copy h2{font-size:39px}.teaser-copy .description{font-size:17px}
}
@media(max-width:360px){.new-branch,.new-branch.bank,.history-teaser{padding-inline:20px}.new-branch .branch-copy h2,.new-branch.branch-reversed .branch-copy h2,.teaser-copy h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.branch-aura{animation:none}.node-premios .node-photo img,.node-shopping .node-photo img,.node-bank .node-photo img{animation:none}}

@media(max-width:600px){
 .ecosystem-map .solution-node:after{content:attr(data-service);position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);font-size:10px;line-height:1.2;white-space:nowrap;font-weight:500;color:#ead8f1;text-shadow:0 1px 5px #08020e}
}
