/* Optical indigo: a focused refinement of the opening composition. */
.hero .eyebrow{color:#536071}
.hero h1 em{display:inline-block;padding:0 .075em .035em 0;margin:0 -.075em -.035em 0;color:#6153ad;background:linear-gradient(112deg,#343d85 5%,#7860be 49%,#497d99 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
header .brand-period{color:#6856ab}
header .nav span,.hero .text-link span{color:#6c5baa}
.hero .text-link{border-color:#cec9e0}
.hero-art .art-note{color:#68718b}
.hero{min-height:760px;min-height:100svh;padding-top:125px;padding-bottom:65px}
.hero h1{font-size:clamp(66px,7.2vw,112px)}
.hero-copy,.hero-art{transform:translateY(-2.5svh)}
.hero-sub{margin-top:36px;margin-bottom:0;white-space:nowrap}
.hero-art{margin:0 -3% 0 -4%;animation:none}
#connection{width:min(106%,69svh,755px);aspect-ratio:1;height:auto;position:relative;margin:auto;mix-blend-mode:multiply}
#connection canvas{display:block;width:100%;height:100%;outline:none}
.hero-art #connection .connection-fallback{display:block;width:100%;height:100%;margin:0;transform:none;animation:none;object-fit:contain;mask-image:radial-gradient(ellipse at center,black 55%,transparent 74%)}
.hero-art #connection.ready .connection-fallback{display:none}
.hero-art .art-note{margin-top:5px;font-size:10px}

/* A compact transition: the economy is moving; banking follows. */
.banking-transition{min-height:clamp(540px,64svh,700px);padding:82px 8% 76px;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.65fr);gap:5vw;align-items:end;position:relative;overflow:hidden;background:linear-gradient(118deg,#fff 0%,#f8f9fd 45%,#eef2fa 100%);border-top:1px solid rgba(105,119,145,.16);border-bottom:1px solid rgba(105,119,145,.16)}
.banking-transition:after{content:"";position:absolute;right:-10%;bottom:-70%;width:48vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(103,80,181,.09),rgba(107,188,225,.035) 38%,transparent 68%);pointer-events:none}
.banking-signal{position:absolute;top:0;left:31.8%;width:1px;height:44%;background:linear-gradient(to bottom,rgba(91,77,168,0),rgba(91,77,168,.23) 72%,rgba(91,77,168,0));overflow:hidden}
.banking-signal span{position:absolute;left:0;top:-32%;width:1px;height:34%;background:linear-gradient(to bottom,transparent,#7b6dc3 55%,#a8e6ff 82%,transparent);filter:drop-shadow(0 0 5px rgba(119,205,240,.7));animation:signalFlow 5.8s cubic-bezier(.45,0,.2,1) infinite}
.transition-context{position:relative;z-index:1;margin:0 0 .7em;max-width:370px;display:flex;flex-direction:column;gap:19px;font-size:clamp(18px,1.35vw,22px);line-height:1.42;letter-spacing:-.025em;color:#52617a}
.transition-context span,.transition-context strong{display:block}
.transition-context b{font-weight:500;color:#6553ad}
.transition-context strong{margin-top:4px;padding-top:20px;border-top:1px solid rgba(92,80,166,.24);font-weight:500;color:#182740}
.banking-transition h2{position:relative;z-index:1;margin:0;font-size:clamp(72px,9.35vw,152px);font-weight:500;line-height:.78;letter-spacing:-.075em}
.banking-word{display:block;color:transparent;-webkit-text-fill-color:transparent;background-image:linear-gradient(104deg,transparent 30%,rgba(231,251,255,.95) 45%,#fff 49%,rgba(148,215,246,.9) 53%,transparent 68%),linear-gradient(100deg,#172644 0%,#514996 27%,#745bbe 47%,#4f88b5 70%,#172a46 100%);background-size:240% 100%,100% 100%;background-position:170% 0,0 0;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;animation:bankingLight 6.8s cubic-bezier(.45,0,.2,1) infinite}
.is-next{display:block;margin-top:.34em;font-size:.37em;line-height:1;letter-spacing:-.045em;text-align:right;color:#14233b}
@keyframes bankingLight{0%,12%{background-position:170% 0,0 0}72%,100%{background-position:-105% 0,0 0}}
@keyframes signalFlow{0%,10%{transform:translateY(0);opacity:0}22%{opacity:1}72%{opacity:.8}100%{transform:translateY(390%);opacity:0}}

/* Genoa's identity: a structured product proposition on a tactile dark field. */
.identity-section{min-height:clamp(720px,94svh,920px);padding:0;display:grid;grid-template-columns:47% 53%;position:relative;color:#f5f7fb;background:radial-gradient(circle at 78% 2%,rgba(105,86,182,.17),transparent 28%),radial-gradient(circle at 18% 88%,rgba(66,137,177,.12),transparent 30%),linear-gradient(135deg,#0b111c 0%,#0a0f18 56%,#101724 100%);overflow:hidden}
.identity-section:before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);background-size:46px 46px;pointer-events:none}
.identity-left{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;padding:82px 8% 78px 14%;border-right:1px solid rgba(205,219,243,.11);overflow:hidden}
.identity-left:after{content:"";position:absolute;left:-42%;bottom:-38%;width:112%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(197,218,249,.10);box-shadow:0 0 0 82px rgba(180,204,242,.026),0 0 0 164px rgba(180,204,242,.018);pointer-events:none}
.identity-brand{position:relative;z-index:1;margin:0;font-size:clamp(36px,3.2vw,52px);font-weight:600;line-height:1;letter-spacing:-.065em;color:#eef3fb}.identity-brand span{color:#9179d1}
.identity-statement{position:relative;z-index:1;margin:auto 0 0;font-weight:500;letter-spacing:-.065em;line-height:.91}
.identity-headline{display:block;font-size:clamp(56px,5.65vw,91px);color:#f3f6fc}
.identity-headline em{color:transparent;-webkit-text-fill-color:transparent;background-image:linear-gradient(104deg,transparent 30%,#fff 48%,#b9e9ff 52%,transparent 69%),linear-gradient(105deg,#a9cfff,#8d73cf 58%,#75b9d6);background-size:250% 100%,100% 100%;background-position:180% 0,0 0;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;animation:identitySheen 7.5s cubic-bezier(.45,0,.2,1) infinite}
.identity-pillars{position:relative;z-index:1;padding:82px 8% 74px 9%;display:flex;flex-direction:column;justify-content:center}
.identity-definition{max-width:760px;margin:34px 0 0;font-size:clamp(16px,1.25vw,20px);line-height:1.52;letter-spacing:-.018em;color:#929dac}
.identity-grid{border-top:1px solid rgba(205,219,243,.17)}
.identity-grid article{display:grid;grid-template-columns:34px minmax(170px,.95fr) minmax(210px,1.25fr);gap:24px;align-items:center;min-height:92px;border-bottom:1px solid rgba(205,219,243,.17);position:relative}
.identity-number{font-size:10px;font-weight:600;letter-spacing:.14em;color:#69788f}
.identity-grid h3{margin:0;font-size:clamp(16px,1.22vw,20px);line-height:1.25;letter-spacing:-.025em;font-weight:500;color:#eef2f8}
.identity-grid p{margin:0;font-size:clamp(15px,1.08vw,18px);line-height:1.35;color:#858f9f;text-align:right}
.identity-grid article:nth-child(3) h3{color:#a99be1}
.identity-flow{position:absolute;z-index:2;left:9%;right:8%;top:calc(50% + 3px);height:1px;overflow:hidden;background:linear-gradient(to right,transparent,rgba(185,199,224,.18) 8%,rgba(185,199,224,.18) 92%,transparent);pointer-events:none}
.identity-flow span{position:absolute;left:-20%;top:-1px;width:20%;height:3px;background:linear-gradient(to right,transparent,#806bc6 42%,#bceeff 72%,transparent);filter:drop-shadow(0 0 7px rgba(120,205,241,.85));animation:identityFlow 7s ease-in-out infinite}
@keyframes identitySheen{0%,16%{background-position:180% 0,0 0}72%,100%{background-position:-105% 0,0 0}}
@keyframes identityFlow{0%,12%{transform:translateX(0);opacity:0}23%{opacity:1}78%{opacity:.85}100%{transform:translateX(600%);opacity:0}}

/* Audience: an airy, connected field between product and operating principle. */
.audience-v2{min-height:clamp(760px,92svh,920px);padding:104px 8% 96px;position:relative;background:radial-gradient(circle at 82% 14%,rgba(116,91,190,.09),transparent 25%),linear-gradient(125deg,#fff 0%,#f5f7fb 56%,#edf2fa 100%);overflow:hidden}
.audience-v2-head{display:grid;grid-template-columns:31% 69%;gap:5vw;align-items:start}
.audience-v2-head .eyebrow{color:#68758b;margin-top:10px}
.audience-v2-head h2{margin:0;font-size:clamp(52px,5.35vw,86px);line-height:1.06;font-weight:450;letter-spacing:-.055em}
.audience-v2-head h2 em{color:transparent;-webkit-text-fill-color:transparent;background:linear-gradient(105deg,#3b478c,#765bbb 55%,#4d8aa9);background-clip:text;-webkit-background-clip:text}
.audience-panels{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:78px;border-top:1px solid #cbd5e5;border-bottom:1px solid #cbd5e5}
.audience-panels:after{content:"";position:absolute;left:-18%;top:-1px;width:18%;height:2px;background:linear-gradient(to right,transparent,#7560bd 45%,#aeeaff 76%,transparent);filter:drop-shadow(0 0 6px rgba(110,194,231,.65));animation:audienceCurrent 7.5s ease-in-out infinite}
.audience-panels>article{padding:34px 0 38px;display:flex;flex-direction:column}
.audience-panels>article+article{padding-left:0;padding-right:0}
.audience-panel-head{display:block}
.audience-panel-head h3{margin:0;font-size:clamp(35px,3.25vw,52px);line-height:1.08;letter-spacing:-.05em;font-weight:475;color:#14233b}
.audience-description{margin:28px 0 0;max-width:510px;font-size:17px;line-height:1.58;color:#66738a}
.audience-markers{list-style:none;margin:22px 0 0;padding:0;display:flex;align-items:center;flex-wrap:wrap;gap:13px 22px}
.audience-markers li{padding:0;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px;line-height:1.35;color:#253650}
.audience-markers li:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#7961bc;box-shadow:0 0 0 3px rgba(121,97,188,.08),0 0 8px rgba(111,176,215,.2)}
@keyframes audienceCurrent{0%,12%{transform:translateX(0);opacity:0}24%{opacity:1}76%{opacity:.9}100%{transform:translateX(755%);opacity:0}}

/* The transition to agentic banking: intelligence governed before it reaches the rails. */
.agentic-stack{min-height:clamp(780px,94svh,940px);display:grid;grid-template-columns:minmax(340px,.82fr) minmax(600px,1.18fr);gap:7vw;align-items:center;position:relative;color:#f4f7fc;background:radial-gradient(circle at 72% 42%,rgba(111,83,191,.22),transparent 29%),radial-gradient(circle at 14% 88%,rgba(75,156,194,.11),transparent 27%),linear-gradient(135deg,#0a101a,#10172a 62%,#11162a);overflow:hidden}
.agentic-stack:before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:52px 52px;pointer-events:none}
.agentic-copy,.stack-diagram{position:relative;z-index:1}.agentic-copy .eyebrow{color:#aeb9ca}.agentic-copy h2{margin:0;font-size:clamp(48px,5.2vw,82px);font-weight:450;line-height:1.06;letter-spacing:-.055em}.agentic-copy h2 em{color:transparent;-webkit-text-fill-color:transparent;background:linear-gradient(105deg,#a8d9f0,#9d83dd 58%,#d5c9ff);background-clip:text;-webkit-background-clip:text}.agentic-copy>p:last-child{max-width:500px;margin:36px 0 0;font-size:clamp(17px,1.25vw,20px);line-height:1.58;color:#9da9bb}
.stack-diagram{display:flex;flex-direction:column;align-items:stretch;filter:drop-shadow(0 28px 55px rgba(0,0,0,.22))}.stack-label{display:block;font-size:10px;font-weight:600;letter-spacing:.17em;color:#8390a5}.stack-agents,.stack-banking{border:1px solid rgba(204,220,245,.14);background:rgba(245,249,255,.045);backdrop-filter:blur(12px)}.stack-agents{padding:27px 31px 25px;border-radius:24px 24px 9px 9px}.stack-agents strong{display:block;margin-top:10px;font-size:clamp(20px,1.6vw,27px);font-weight:500;letter-spacing:-.025em}.stack-signals{display:flex;gap:8px;margin-top:20px}.stack-signals span,.stack-banking div span{padding:7px 11px;border:1px solid rgba(199,215,241,.13);border-radius:999px;font-size:12px;color:#aab5c5;background:rgba(255,255,255,.025)}
.stack-genoa{position:relative;padding:28px 31px 30px;border:1px solid rgba(181,164,239,.45);border-radius:10px;background:linear-gradient(112deg,rgba(66,63,128,.88),rgba(91,66,151,.9) 52%,rgba(47,97,131,.86));box-shadow:0 0 0 1px rgba(255,255,255,.04) inset,0 0 44px rgba(109,83,191,.16);overflow:hidden}.stack-genoa:after{content:"";position:absolute;top:0;bottom:0;left:-25%;width:20%;transform:skewX(-16deg);background:linear-gradient(90deg,transparent,rgba(225,249,255,.24),transparent);animation:stackLight 7s ease-in-out infinite}.stack-genoa .stack-label{color:#d9d1f3}.stack-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:21px 28px;margin-top:23px}.stack-controls article{min-width:0}.stack-controls strong,.stack-controls span{display:block}.stack-controls strong{font-size:16px;font-weight:550;color:#fff}.stack-controls span{margin-top:5px;font-size:13px;color:#c9c8df}
.stack-banking{padding:25px 31px 27px;border:1px solid rgba(120,161,201,.34);border-radius:9px 9px 24px 24px;background:linear-gradient(112deg,rgba(28,40,76,.76),rgba(38,51,91,.72) 54%,rgba(31,72,95,.7));box-shadow:0 16px 42px rgba(0,0,0,.18),0 0 32px rgba(73,130,170,.08) inset}.stack-banking .stack-label{color:#aebde0}.stack-banking div{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.stack-banking div span{border-color:rgba(164,196,226,.2);color:#c0cad9;background:rgba(155,196,224,.055)}.stack-connector{height:42px;position:relative}.stack-connector:before,.stack-connector:after{content:"";position:absolute;left:50%;width:1px;background:rgba(169,184,213,.2)}.stack-connector:before{top:0;height:100%}.stack-connector:after{bottom:3px;width:7px;height:7px;margin-left:-3px;border-right:1px solid rgba(186,205,234,.55);border-bottom:1px solid rgba(186,205,234,.55);background:transparent;transform:rotate(45deg)}.stack-connector-bottom:before{background:linear-gradient(#937ed2,#6ca8c5)}.stack-connector i{position:absolute;left:50%;top:0;width:2px;height:13px;margin-left:-1px;background:linear-gradient(#a997e9,#a9e9ff);box-shadow:0 0 9px rgba(139,216,248,.75);animation:stackPulse 3.6s ease-in-out infinite}.stack-connector-bottom i{animation-delay:1.8s}
@keyframes stackPulse{0%{transform:translateY(0);opacity:0}20%{opacity:1}80%{opacity:.8}100%{transform:translateY(29px);opacity:0}}@keyframes stackLight{0%,15%{left:-25%;opacity:0}28%{opacity:1}72%,100%{left:118%;opacity:0}}

/* One decisive ending. */
.finale{min-height:100svh;padding:92px 6% 34px;display:flex;flex-direction:column;justify-content:space-between;position:relative;color:#f5f7fc;background:radial-gradient(circle at 74% 20%,rgba(107,83,187,.19),transparent 28%),radial-gradient(circle at 18% 82%,rgba(66,138,178,.1),transparent 26%),linear-gradient(138deg,#080d16,#10172a 63%,#0b101c);overflow:hidden}.finale:before{content:"";position:absolute;inset:-20%;background:linear-gradient(108deg,transparent 33%,rgba(186,230,249,.035) 47%,rgba(151,122,220,.05) 53%,transparent 67%);animation:finaleField 11s ease-in-out infinite;pointer-events:none}.finale-copy,.finale-brand{position:relative;z-index:1}.finale-copy h2{max-width:1320px;margin:0;font-size:clamp(58px,7.7vw,126px);font-weight:450;line-height:1.01;letter-spacing:-.063em}.finale-copy h2 em{color:transparent;-webkit-text-fill-color:transparent;background:linear-gradient(104deg,#edf5ff 0%,#a8cce8 30%,#9d7bd6 69%,#c8b8f1 100%);background-clip:text;-webkit-background-clip:text}.finale-brand{align-self:flex-start;margin:auto 0 0 -.025em;padding:0 .05em .035em 0;font-size:clamp(150px,24vw,395px);font-weight:550;line-height:.88;letter-spacing:-.092em;color:transparent;-webkit-text-fill-color:transparent;background-image:linear-gradient(105deg,transparent 31%,rgba(255,255,255,.92) 47%,rgba(185,236,255,.8) 51%,transparent 67%),linear-gradient(100deg,#dce6f7,#9da9c7 33%,#9a7bd1 68%,#6ca3be);background-size:240% 100%,100% 100%;background-position:175% 0,0 0;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;animation:finaleSheen 8.5s cubic-bezier(.45,0,.2,1) infinite}.finale-brand span{color:inherit}@keyframes finaleSheen{0%,18%{background-position:175% 0,0 0}73%,100%{background-position:-105% 0,0 0}}@keyframes finaleField{0%,100%{transform:translateX(-5%)}50%{transform:translateX(5%)}}
@media(max-width:760px){.hero{padding-top:115px;min-height:0}.hero-copy,.hero-art{transform:none}.hero h1{font-size:clamp(62px,14vw,95px)}.hero-sub{white-space:normal}.hero-art{width:100%;margin:0}#connection{width:min(100%,455px);height:auto}.hero-art .art-note{margin:0 0 20px;font-size:9px}}
@media(min-width:761px) and (max-height:800px){.hero{min-height:700px}.hero h1{font-size:clamp(65px,6.7vw,96px)}.hero .eyebrow{margin-bottom:22px}.hero-sub{margin-top:22px}#connection{width:min(100%,490px);height:auto}}
@media(max-width:760px){.banking-transition{min-height:0;padding:70px 7% 66px 12%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:48px}.banking-transition:after{width:95vw;right:-38%;bottom:-24%}.banking-signal{left:7%;top:70px;height:calc(100% - 136px)}.transition-context{font-size:18px;margin:0;gap:15px;max-width:310px}.transition-context strong{padding-top:16px}.banking-transition h2{font-size:16.5vw;line-height:.8;align-self:stretch}.is-next{font-size:.45em;margin-top:.48em;text-align:left}}
@media(max-width:760px){.identity-section{display:block;min-height:0}.identity-left{min-height:0;padding:58px 7% 54px;border-right:0;border-bottom:1px solid rgba(205,219,243,.11)}.identity-left:after{width:130%;left:-62%;bottom:-24%}.identity-brand{font-size:38px}.identity-statement{margin:118px 0 0}.identity-headline{font-size:14vw}.identity-pillars{padding:58px 7% 62px}.identity-definition{font-size:16px;margin:28px 0 0}.identity-grid article{grid-template-columns:28px 1fr;gap:8px 14px;min-height:0;padding:22px 0}.identity-grid h3{grid-column:2;font-size:17px}.identity-grid p{grid-column:2;font-size:15px;text-align:left}.identity-number{grid-row:1/3;align-self:start;margin-top:3px}.identity-flow{display:none}}
@media(max-width:760px){.audience-v2{min-height:0;padding:76px 7% 70px}.audience-v2-head{display:block}.audience-v2-head .eyebrow{margin-top:0}.audience-v2-head h2{font-size:11.2vw}.audience-panels{display:block;margin-top:52px}.audience-panels>article{min-height:0;padding:30px 0 28px}.audience-panels>article+article{padding:28px 0 36px;border:0}.audience-panel-head h3{font-size:34px}.audience-description{margin:20px 0 0;font-size:16px}.audience-markers{margin:20px 0 0;gap:12px 18px}.audience-markers li{font-size:13px}}
@media(max-width:760px){.agentic-stack{min-height:0;display:block;padding:78px 7% 76px}.agentic-copy h2{font-size:12vw}.agentic-copy>p:last-child{margin-top:26px;font-size:17px}.stack-diagram{margin-top:54px}.stack-agents,.stack-genoa,.stack-banking{padding-left:20px;padding-right:20px}.stack-signals{flex-wrap:wrap}.stack-controls{grid-template-columns:1fr 1fr;gap:18px 15px}.stack-controls strong{font-size:14px}.stack-controls span{font-size:11px}.stack-banking div span,.stack-signals span{font-size:11px;padding:6px 9px}.stack-connector{height:34px}}
@media(max-width:760px){.finale{min-height:0;padding:72px 7% 32px}.finale-copy h2{font-size:13.2vw}.finale-brand{font-size:26.5vw;line-height:.9;margin:128px 0 0 -.015em;padding-right:.06em;padding-bottom:.055em}}
