@font-face { font-family:'Switzer'; src:url('assets/fonts/Switzer-Extrabold.otf') format('opentype'); font-style:normal; font-weight:800; font-display:swap; }
@font-face { font-family:'Switzer'; src:url('assets/fonts/Switzer-Italic.otf') format('opentype'); font-style:italic; font-weight:400; font-display:swap; }
@font-face { font-family:'Switzer'; src:url('assets/fonts/Switzer-MediumItalic.otf') format('opentype'); font-style:italic; font-weight:500; font-display:swap; }
@font-face { font-family:'Switzer'; src:url('assets/fonts/Switzer-BoldItalic.otf') format('opentype'); font-style:italic; font-weight:700; font-display:swap; }
@font-face { font-family:'Switzer'; src:url('assets/fonts/Switzer-ExtraboldItalic.otf') format('opentype'); font-style:italic; font-weight:800; font-display:swap; }
@font-face { font-family:'Richmond'; src:url('assets/fonts/Richmond-Text-Italic.otf') format('opentype'); font-style:italic; font-weight:400; font-display:swap; }
@font-face { font-family:'Switzer'; src:url('assets/fonts/Switzer-Regular.otf') format('opentype'); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:'Switzer'; src:url('assets/fonts/Switzer-Medium.otf') format('opentype'); font-style:normal; font-weight:500; font-display:swap; }
@font-face { font-family:'Switzer'; src:url('assets/fonts/Switzer-Semibold.otf') format('opentype'); font-style:normal; font-weight:600; font-display:swap; }
@font-face { font-family:'Switzer'; src:url('assets/fonts/Switzer-Bold.otf') format('opentype'); font-style:normal; font-weight:700; font-display:swap; }
@font-face { font-family:'Richmond'; src:url('assets/fonts/Richmond-Display.otf') format('opentype'); font-style:normal; font-weight:700; font-display:swap; }
/* Presentation palette: black, graphite, warm orange/red and amber light. */
:root { --bg:#000; --surface:#191918; --surface-high:#252524; --muted:#bcbcbc; }
body { background:#000; }
.site-header { background:linear-gradient(#000e,#0008); backdrop-filter:blur(16px); border-bottom:1px solid #fcfcfc12; }
.header-inner { height:var(--header-height); }
.brand-logo { width:116px; height:auto; display:block; object-fit:contain; }
.desktop-nav { gap:29px; }
.desktop-nav a { color:#bcbcbc; font-size:12px; }
.desktop-nav a:hover { color:var(--ink); }

/* Glass controls: translucent body, specular rim and a travelling highlight. */
:is(.button,.filter-button,.intro-skip) {
  --glass-tint:#19191880;
  position:relative; isolation:isolate; overflow:hidden;
  border:1px solid #fcfcfc36; border-radius:100px;
  background:radial-gradient(ellipse at 18% 0%,#fcfcfc26,transparent 62%),linear-gradient(135deg,#fcfcfc09,transparent 50%,#fcfcfc08),var(--glass-tint);
  backdrop-filter:blur(16px) saturate(1.45); -webkit-backdrop-filter:blur(16px) saturate(1.45);
  box-shadow:inset 0 1px 1px #fcfcfc44,inset 0 -1px 1px #fcfcfc15,0 8px 24px #0005;
  color:var(--ink);
  transition:transform .35s var(--ease),box-shadow .35s,border-color .35s,background-color .35s;
}
:is(.button,.filter-button,.intro-skip):before {
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:-1;
  background:linear-gradient(120deg,#fcfcfc1a,transparent 35%,transparent 70%,#fcfcfc0b);
}
:is(.button,.filter-button,.intro-skip):after {
  content:''; position:absolute; top:-60%; left:-70%; width:45%; height:220%; pointer-events:none;
  background:linear-gradient(90deg,transparent,#fcfcfc22,transparent);
  transform:skewX(-24deg); transition:left .75s var(--ease); z-index:-1;
}
@media (hover:hover) {
  :is(.button,.filter-button,.intro-skip):hover { border-color:#fcfcfc70; transform:translateY(-2px); box-shadow:inset 0 1px 2px #fcfcfc66,inset 0 -1px 1px #fcfcfc25,0 12px 32px #0006; }
  :is(.button,.filter-button,.intro-skip):hover:after { left:130%; }
}
:is(.button,.filter-button,.intro-skip):active { transform:translateY(0) scale(.975); }
.button { padding-inline:25px; gap:34px; min-height:53px; font-size:13px; font-weight:550; }
.button--primary,.filter-button.is-active {
  --glass-tint:#ff790032;
  background:radial-gradient(ellipse at 22% 0%,#ed99144a,transparent 65%),linear-gradient(120deg,#ff790034,#d83a0f16),var(--glass-tint);
  border-color:#ff7900b0; color:#fcfcfc;
  box-shadow:inset 0 1px 1px #fcfcfc77,inset 0 -1px 2px #ed991450,0 0 24px #ff790027,0 8px 22px #0005;
}
.button--primary:hover,.filter-button.is-active:hover { background-color:#ff790042; color:#fcfcfc; border-color:#ed9914; box-shadow:inset 0 1px 2px #fcfcfc88,inset 0 -1px 2px #ed991470,0 0 35px #ff790040,0 12px 30px #0005; }
.button--small { min-height:42px; padding-inline:22px; font-size:11px; }
.button>span { color:inherit; }
.filter-button { padding-inline:22px; }

/* The offer owns the first screen; the brand is carried by light and the supplied logo. */
.hero { min-height:max(720px,100svh); height:auto; max-height:none; background:#000; --storm-flash:0; }
.hero:after { display:none; }
.storm-canvas,.hero-vignette { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.storm-canvas { z-index:0; }
.hero-vignette { z-index:1; background:radial-gradient(ellipse at 61% 89%,#ff79002a,transparent 58%),radial-gradient(ellipse at 82% 68%,#d83a0f20,transparent 50%),linear-gradient(0deg,#000 0%,transparent 20%,#0003 80%,#0008),linear-gradient(90deg,#0005,transparent 30%,transparent 70%,#0005); }
.hero-content { position:relative; top:auto; bottom:auto; left:auto; right:auto; z-index:3; padding:160px 0 110px; display:flex; flex-direction:column; align-items:center; gap:0; text-align:center; }
.hero-eyebrow { color:#bcbcbc; font-size:10px; letter-spacing:.17em; display:flex; justify-content:center; gap:12px; }
.hero h1 { margin:28px 0 0; font-size:clamp(54px,6.6vw,101px); font-weight:750; letter-spacing:-.055em; line-height:1.08; text-transform:uppercase; max-width:1120px; }
.hero h1>span { display:block; white-space:nowrap; animation:none; }
.hero h1>span:nth-child(2) { margin-left:0; }
.hero h1 em { color:var(--ink); }
.hero-description { width:100%; max-width:570px; padding:0; margin-top:28px; }
.hero-description p { font-size:17px; color:#bcbcbc; line-height:1.65; max-width:none; }
.hero-description .button { margin-top:32px; min-width:203px; min-height:57px; justify-content:space-between; font-size:14px; }
.logo-strip { background:#080807; border-block:1px solid #fcfcfc12; padding-block:0; }
.payment-methods { display:flex; flex-shrink:0; align-items:center; justify-content:space-around; min-width:100vw; gap:clamp(40px,6vw,100px); padding:0 clamp(20px,3vw,50px); }
.logo-strip .logo-row { padding-block:28px; }
.logo-strip:not(.motion-visible) .logo-track { animation-play-state:paused; }
.logo-strip:focus-within .logo-row { overflow-x:auto; }
.logo-strip:focus-within .logo-track { animation:none; }
.logo-strip .payment-method { flex:0 0 auto; flex-direction:column; justify-content:center; gap:5px; min-width:120px; min-height:52px; color:#bcbcbc; transition:color .2s ease; }
.payment-method:hover,.payment-method:focus-visible { color:#ffd09b; }
.payment-logo { display:block; width:108px; height:36px; background:currentColor; mask:var(--payment-logo) center / contain no-repeat; -webkit-mask:var(--payment-logo) center / contain no-repeat; }
.payment-logo--mastercard { width:70px; height:44px; }
.payment-logo--applepay { width:98px; height:40px; }
.payment-logo--sepa { width:106px; height:30px; }
.payment-instant { font-size:10px; font-weight:500; line-height:1; letter-spacing:.16em; text-transform:uppercase; }

.section { padding-block:102px; }
.section-heading h2,.smart-copy h2,.integration-split h2 { font-weight:500; letter-spacing:-.052em; }
.smart-section { background:#10100f; border-block:1px solid #fcfcfc0e; }
.routing-art { background:radial-gradient(ellipse,#ff790012,transparent 65%); }
.route-core { box-shadow:0 0 70px #ff790020,inset 0 1px 0 #fcfcfc20; }
.route-core .brand-logo { width:95px; }
.advantage-section { background:radial-gradient(ellipse at 85% 20%,#ff79000a,transparent 55%),#191918; color:var(--ink); border-block:1px solid #fcfcfc0e; }
.advantage-top { gap:70px; }
.advantage-top h2 { font-size:clamp(42px,4.7vw,72px); font-weight:500; }
.stat-number { color:var(--ink); font-weight:450; }
.stat-number>span { color:var(--gold); }
.stat-label,.advantage-top p,.benefit p { color:var(--muted); }
.benefit-grid { gap:42px; }
.benefit { position:relative; padding-top:28px; }
.benefit:before { content:''; position:absolute; top:-1px; left:0; width:32px; height:1px; background:var(--orange); }
.benefit-number { color:var(--gold); font-family:var(--mono); }
.benefit h3 { font-size:24px; line-height:1.25; font-weight:500; }
.benefit p { font-size:14px; }

.inner-hero { background:radial-gradient(ellipse at 85% 70%,#ff790017,transparent 65%),#050504; border-bottom:1px solid #fcfcfc12; }
.inner-hero h1 { font-weight:500; letter-spacing:-.055em; }
.soft-section { background:#111110; }
.solution-card,.payment-card { background:linear-gradient(140deg,#191918,#0c0c0b); border-color:#fcfcfc20; }
.solution-visual { background:radial-gradient(ellipse,#ff79000c,transparent 65%); }
.bank-card .brand-logo { width:73px; height:auto; }
.security-item { background:#191918; }
.payout-section { background:radial-gradient(ellipse at 10% 20%,#ff790012,transparent 55%),#191918; }
.payout-section h2 em,.payout-steps article>span { color:var(--orange); }
.contact-form-panel { background:linear-gradient(145deg,#191918,#10100f); border:1px solid #fcfcfc20; box-shadow:0 40px 90px #0003; }
.contact-sculpture { opacity:.65; }
.callout { background:radial-gradient(ellipse at 0 100%,#ff790015,transparent 65%),#191918; }
.values-band { background:#191918; }

/* Compact footer follows the original site's three columns and legal row. */
.site-footer { padding-top:64px; background:radial-gradient(ellipse at 15% 0%,#ff79000a,transparent 58%),#000; border-top:1px solid #fcfcfc17; }
.footer-top { grid-template-columns:1.65fr .65fr 1fr; gap:70px; }
.footer-message .brand-logo { width:215px; }
.footer-message .brand { margin-bottom:25px; }
.footer-message>p { max-width:445px; font-size:14px; line-height:1.75; color:#bcbcbc; }
.footer-column { font-size:14px; gap:13px; }
.footer-column .eyebrow { font-family:var(--font); font-size:11px; letter-spacing:.015em; color:#818180; margin-bottom:13px; }
.footer-contact p { max-width:310px; font-size:13px; color:#bcbcbc; line-height:1.75; margin-top:8px; }
.footer-bottom { margin-top:48px; padding-block:25px; font-size:11px; color:#818180; }
.footer-bottom a:last-child { color:inherit; font-size:inherit; }

/* A physical payment switch: lifted API hub, connected rails, animated routes. */
.payment-scene { position:relative; width:100%; min-width:0; aspect-ratio:1.1; perspective:1100px; isolation:isolate; overflow:clip; }
.payment-scene-glow { position:absolute; inset:0; background:radial-gradient(ellipse at 55% 60%,#ff790023,transparent 63%); }
.payment-board { position:absolute; inset:13% 10%; transform:rotateX(24deg) rotateY(-13deg) rotateZ(-10deg); transform-style:preserve-3d; animation:payment-float 9s ease-in-out infinite alternate; }
.payment-board-base { position:absolute; inset:0; border-radius:24px; background:linear-gradient(130deg,#191918e0,#080807e8); border:1px solid #fcfcfc26; box-shadow:inset 0 1px 0 #fcfcfc1f,4px 7px 0 #29231b,8px 13px 0 #090807,16px 30px 55px #000b; transform:translateZ(-15px); }
.payment-board-base:after { content:''; position:absolute; inset:18px; border:1px solid #ed991416; border-radius:12px; background-image:radial-gradient(#fcfcfc15 .7px,transparent .7px); background-size:14px 14px; }
.payment-traces { position:absolute; inset:0; width:100%; height:100%; overflow:visible; transform:translateZ(0); }
.trace-base { stroke:#ff79004a; stroke-width:1.3; }
.trace-pulse { stroke:#ed9914; stroke-width:2.2; stroke-linecap:round; stroke-dasharray:7 93; animation:payment-flow 3.7s linear infinite; animation-delay:var(--delay); filter:drop-shadow(0 0 4px #ff7900); }
.payment-hub { position:absolute; width:34%; height:26%; left:33%; top:37%; transform:translateZ(34px); transform-style:preserve-3d; }
.hub-underlay { position:absolute; inset:-6px; border-radius:18px; background:#ff79001c; border:1px solid #ff790073; transform:translateZ(-15px); box-shadow:0 0 35px #ff790026; }
.hub-face { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:11px; border-radius:14px; background:linear-gradient(130deg,#fcfcfc13,#191918e8 45%,#ff790019); border:1px solid #ed99149e; box-shadow:inset 0 1px 1px #fcfcfc80,2px 6px 0 #3b2615,5px 12px 20px #000b; }
.hub-face .brand-logo { width:72%; }
.payment-scene--inner .payment-port { font-size:10px; }
.hub-face>span { font-family:var(--mono); font-size:9px; color:var(--gold); letter-spacing:.06em; }
.payment-port { position:absolute; width:29%; min-height:45px; padding:14px 10px; display:flex; align-items:center; justify-content:center; gap:7px; transform:translateZ(15px); border:1px solid #fcfcfc30; border-radius:9px; background:linear-gradient(140deg,#353532e8,#191918f5); box-shadow:inset 0 1px 0 #fcfcfc36,2px 4px 0 #080807,5px 10px 18px #0008; font-size:12px; font-weight:550; white-space:nowrap; }
.payment-port--0,.payment-port--2,.payment-port--4 { left:5.5%; }
.payment-port--1,.payment-port--3,.payment-port--5 { right:5.5%; }
.payment-port--0,.payment-port--1 { top:14%; }
.payment-port--2,.payment-port--3 { top:44%; }
.payment-port--4,.payment-port--5 { bottom:13%; }
.port-light { flex-shrink:0; width:4px; height:4px; border-radius:50%; background:var(--orange); box-shadow:0 0 7px #ff790070; }
@keyframes payment-flow { to { stroke-dashoffset:-100; } }
@keyframes payment-float { from { transform:rotateX(24deg) rotateY(-13deg) rotateZ(-10deg) translateY(0); } to { transform:rotateX(19deg) rotateY(-8deg) rotateZ(-7deg) translateY(-9px); } }
.motion-paused .payment-board,.motion-paused .trace-pulse { animation-play-state:paused; }

/* Black → orange strike → alpha aperture in the supplied bolt → open page. */
.intro-active { overflow:hidden; }
.brand-intro { position:fixed; inset:0; padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) 0 env(safe-area-inset-left,0px); z-index:1000; }

.intro-skip { position:absolute; bottom:calc(30px + env(safe-area-inset-bottom,0px)); right:calc(36px + env(safe-area-inset-right,0px)); padding:10px 17px; font-size:11px; display:flex; gap:20px; }

@media (min-width:1600px) { .hero-content { padding-top:clamp(190px,19vh,265px); padding-bottom:145px; } }
@media (max-width:1000px) {
  .hero-content { padding-top:180px; padding-bottom:135px; }
  .hero h1 { font-size:7.2vw; }
  .hero-description { max-width:520px; }
  .section { padding-block:85px; }
  .footer-top { gap:36px; grid-template-columns:1.3fr .65fr 1fr; }
  .footer-message .brand-logo { width:170px; }
  .footer-message>p { font-size:13px; }
  .payment-scene--inner { max-width:500px; justify-self:center; }
}
@media (max-width:650px) {
  .header-inner { height:var(--header-height); }
  .site-header .brand-logo { width:104px; }
  .button--small { padding-inline:16px; gap:15px; }
  .hero { min-height:780px; height:auto; max-height:none; }
  .hero-content { padding-top:146px; padding-bottom:135px; text-align:center; }
  .hero-eyebrow { font-size:8px; letter-spacing:.09em; gap:9px; }
  .hero h1 { font-size:clamp(35px,10.7vw,62px); line-height:1.08; margin-top:27px; letter-spacing:-.046em; }
  .hero h1>span,.hero h1>span:first-child,.hero h1>span:nth-child(2) { white-space:normal; max-width:460px; margin-left:0; }
  .hero-description { max-width:355px; margin-top:26px; width:100%; padding:0; }
  .hero-description p { font-size:15px; line-height:1.75; max-width:none; }
  .hero-description .button { margin-top:29px; min-height:53px; font-size:13px; }
  .hero-eyebrow .status-dot { width:5px; height:5px; }
  .payment-method { min-width:108px; }
  .section { padding-block:68px; }
  .advantage-top { gap:35px; }
  .benefit-grid { gap:28px; }
  .benefit h3 { font-size:23px; }
  .site-footer { padding-top:45px; }
  .footer-top { grid-template-columns:1fr 1fr; gap:36px 24px; }
  .footer-message { grid-column:1/-1; }
  .footer-message .brand-logo { width:165px; }
  .footer-message>p { max-width:370px; }
  .footer-column { font-size:13px; gap:4px; }
  .footer-column>a { display:flex; align-items:center; min-height:44px; }
  .footer-bottom a { display:inline-flex; align-items:center; min-height:44px; }
  .footer-contact p { font-size:12px; }
  .footer-bottom { margin-top:33px; font-size:10px; gap:16px; }
  .payment-scene { min-height:310px; }
  .payment-board { inset:13% 8%; }
  .payment-port { font-size:9px; padding:11px 5px; min-height:35px; gap:5px; }
  .hub-face { gap:9px; }
  .hub-face>span { font-size:7px; }
  .intro-skip { bottom:calc(25px + env(safe-area-inset-bottom,0px)); right:calc(22px + env(safe-area-inset-right,0px)); }
}
@media (prefers-reduced-motion:reduce) {
  .brand-intro { display:none; }
  .payment-board,.trace-pulse { animation:none; }
  :is(.button,.filter-button,.intro-skip),:is(.button,.filter-button,.intro-skip):after { transition:none; }
}

/* Compact transparent navigation; the scene continues behind it. */
.site-header { background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; border:0; }
.site-header.is-scrolled,.menu-open .site-header { background:#191918ed; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); box-shadow:0 1px 0 #fcfcfc12; }
.header-inner { width:min(1180px,calc(100% - 80px)); height:var(--header-height); gap:32px; }
.desktop-nav { margin-left:0; gap:28px; }
.header-actions { gap:18px; }
.button,.hero-description .button { justify-content:center; gap:0; text-align:center; }
.button { min-width:172px; font-weight:650; }
.button--small { min-width:133px; min-height:42px; }
@property --rim-angle { syntax:'<angle>'; inherits:false; initial-value:0deg; }
.form-submit {
  --rim-angle:0deg; border-color:#ffb24e70; border-radius:14px;
  background:radial-gradient(ellipse at 15% 0%,#ed991442,transparent 70%),linear-gradient(120deg,#301a0edb,#110c08e8);
  box-shadow:inset 0 1px 1px #fff6,0 0 24px #ff79001c,0 9px 30px #0009;
}
.form-submit:before {
  inset:-1px; padding:1.5px; z-index:1; border-radius:inherit;
  background:conic-gradient(from var(--rim-angle),transparent 0deg,#ff790030 65deg,#ff7900 105deg,#ffedc3 125deg,transparent 150deg,transparent 245deg,#ed9914 285deg,#fff1d4 305deg,transparent 330deg);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude;
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor;
  animation:rim-orbit 4s linear infinite;
}
.form-submit:hover { background-color:#ff790030; box-shadow:inset 0 1px 1px #fff9,0 0 34px #ff790040,0 12px 32px #0009; }
.button--small:before { animation-duration:5s; }
.form-submit { background:radial-gradient(ellipse at 15% 0%,#ed991462,transparent 70%),linear-gradient(115deg,#64310fc9,#2e160edb); box-shadow:inset 0 1px 1px #fff7,0 0 32px #ff79002b,0 9px 30px #0009; }
@keyframes rim-orbit { to { --rim-angle:360deg; } }
.hero { min-height:max(680px,100svh); display:flex; align-items:center; }
.hero-content { padding-top:122px; padding-bottom:100px; }
.hero h1 { font-size:clamp(54px,6.6vw,106px); }
.hero-description .button { min-height:58px; min-width:218px; font-size:16px; margin-top:36px; }
.hero-vignette { background:radial-gradient(ellipse at 65% 85%,#ff79001a,transparent 58%),linear-gradient(0deg,#000,transparent 25%,#0002 70%,#0007); }

/* Slow, layered light gives each section depth without competing with the copy. */
@keyframes ambient-drift { to { transform:translate(-22%,20%) scale(1.3); opacity:.65; } }
@keyframes light-scan { to { transform:translateY(-110px) rotate(-17deg); opacity:.25; } }
.industry-section,.advantage-section,.inner-hero,.about-stories,.editorial-section,.career-stage,.contact-stage { position:relative; isolation:isolate; }
.industry-section { padding-bottom:100px; }
.industry-section .section-heading { margin-bottom:0; align-items:center; }
.industry-section h2 em { color:#f3d9bd; }
.advantage-section { background:#080807; }
.advantage-top { align-items:center; gap:48px; }
.advantage-top h2 { font-size:clamp(42px,4.7vw,68px); }
.advantage-top p { max-width:390px; }
.stats { gap:48px; }
.stat-number { font-size:clamp(64px,8.2vw,122px); }
.benefit-grid:has(.benefit--visual) { gap:20px; }
.benefit--visual {
  display:flex; flex-direction:column; gap:0; min-width:0;
  border:1px solid #ffffff1c; border-radius:22px; padding:30px;
  background:linear-gradient(145deg,#242322aa,#111110aa 60%,#19130e80);
  box-shadow:inset 0 1px 0 #ffffff0c,0 24px 50px #0004;
  overflow:hidden; transition:transform .5s,border-color .5s,box-shadow .5s;
}
.benefit--visual:before { width:50%; left:25%; height:1px; background:linear-gradient(90deg,transparent,#ed9914aa,transparent); }
.benefit--visual:hover { transform:translateY(-6px); border-color:#ed99145a; box-shadow:inset 0 1px 0 #ffffff0c,0 25px 60px #0008; }
.benefit--visual .benefit-number { position:absolute; top:26px; left:28px; font-size:10px; }
.benefit--visual h3 { margin:12px 0 20px; min-height:60px; font-size:23px; }
.benefit--visual p { font-size:13px; line-height:1.9; }
.feature-art { width:100%; height:190px; display:grid; place-items:center; position:relative; }
.feature-art:before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse,#ff790016,transparent 65%); }
.story-visual svg { width:min(100%,300px); height:190px; position:relative; stroke:#bc9567; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.story-geography { fill:#b78343; stroke:#d3a566; opacity:.65; }
.story-latitude { stroke:#bc9567; opacity:.22; }
.story-globe { stroke:#c19158; }
.story-chip { fill:#b48242; stroke:#d9b77c; }
.story-tick { stroke:#ffd08a; stroke-width:2.5; }
.story-route { stroke:#ff9b34; stroke-width:2; stroke-dasharray:8 92; animation:payment-flow 5s linear infinite; }
.story-face { stroke:#d4aa73; }
.story-layer { fill:#25241f; stroke:#967347; }
.story-window-dots { stroke:#ff9b34; stroke-width:3; }
.story-code { stroke:#ff9b34; stroke-width:2; }
.story-shop { stroke:#dbbb8c; }
.story-wallet-flap { fill:#65421f; stroke:#edaa59; }
.story-bank { stroke:#c4975f; stroke-width:2; }
.story-transfer { stroke:#ff9b34; stroke-dasharray:12 14; animation:story-transfer 4s linear infinite; }
.story-platform { animation:story-build 6s ease-in-out infinite; }
@keyframes story-build { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }
@keyframes story-transfer { to { stroke-dashoffset:-52; } }
@media(prefers-reduced-motion:reduce) { .story-visual * { animation:none!important; }.story-route { stroke-dasharray:none; opacity:.65; } }
@keyframes object-float { to { transform:translateY(-10px) rotateX(4deg) rotateY(12deg); } }
@keyframes art-spin { to { transform:rotate(360deg); } }

/* Payment-specific scenery, kept clear of the original provider descriptions. */
.payment-card { position:relative; isolation:isolate; overflow:hidden; border-radius:20px; padding:28px; min-height:340px; background:linear-gradient(155deg,#20201ed9,#10100ff5); transition:border-color .4s,transform .4s,box-shadow .4s; }
.payment-card:hover { border-color:#ed991475; transform:translateY(-5px); box-shadow:0 20px 50px #0008; }
.payment-card:after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,#0b0b0af2 2%,#0b0b0acc 35%,transparent 80%); pointer-events:none; }
.method-art { position:absolute; right:-16px; top:0; width:100%; height:220px; stroke:#e8af67; stroke-width:1.5; opacity:.23; z-index:-2; animation:method-drift 10s ease-in-out infinite alternate; }
.method-art rect { fill:#a56f2712; }
.payment-detail[data-method="MasterCard"] .method-art circle { fill:#ff79002c; stroke:#ff7900; }
.payment-detail[data-method="MasterCard"] .method-art circle:first-child { fill:#d83a0f35; stroke:#d83a0f; }
.payment-detail[data-method="Apple Pay"] .method-art { stroke:#dedede; }
.payment-detail[data-method="Google Pay"] .method-art rect:nth-child(1) { stroke:#7191b2; }
.payment-detail[data-method="Google Pay"] .method-art rect:nth-child(2) { stroke:#bf8952; }
.payment-detail[data-method="Google Pay"] .method-art rect:nth-child(3) { stroke:#87a99a; }
.payment-detail[data-method="SEPA"] .method-art { stroke:#c2b89f; }
.payment-detail[data-method="SEPA Instant"] .method-art { opacity:.4; }
.method-pulse { stroke:#ffb754; stroke-width:3; stroke-dasharray:12 88; animation:payment-flow 2.5s linear infinite; }
.provider-word { position:relative; height:137px; color:#fcfcfc; text-shadow:0 3px 25px #000; }
.payment-card-top { font-size:10px; }
.payment-card h2,.payment-card p { position:relative; }
@keyframes method-drift { to { transform:translate(8px,-8px) rotate(3deg); } }

/* About: lifted editorial panels and a continuous moving values ribbon. */
.about-intro-grid { gap:22px; }
.about-story { border:1px solid #fcfcfc19; border-radius:22px; background:linear-gradient(135deg,#25231fa0,#0e0e0de0); padding:30px; position:relative; overflow:hidden; }
.about-story>.mono { position:absolute; top:28px; left:28px; color:var(--gold); font-size:10px; }
.about-story .feature-art { height:180px; }
.about-story h2 { font-size:29px; margin-top:16px; }
.about-story p { font-size:13px; line-height:1.9; margin-top:22px; }
.values-band { background:linear-gradient(90deg,#15120e,#1b1915,#10100f); padding:32px 24px; }
.values-band b { display:inline-block; animation:art-spin 16s linear infinite; }
.values-band>span { font-size:clamp(20px,2.7vw,37px); gap:26px; }
.editorial-row { position:relative; padding:54px 0; transition:background .5s; }
.editorial-row:before { content:''; position:absolute; top:-1px; width:90px; height:1px; background:linear-gradient(90deg,transparent,#ffb451,transparent); animation:editorial-line 12s ease-in-out infinite alternate; }
.editorial-row:nth-child(2n):before { animation-delay:-7s; }
.editorial-row h2 { font-size:36px; }
@keyframes editorial-line { to { transform:translateX(250px); opacity:.3; } }

/* Career: human connection, with the official lightning mark at its centre. */
.career-stage { overflow:clip; background:radial-gradient(ellipse at 70% 60%,#51250b32,transparent 60%),#030303; }
.career-hero { min-height:740px; padding-block:112px 64px; display:grid; grid-template-columns:.95fr 1.1fr; align-items:center; gap:12px; overflow:visible; }
.career-copy { position:relative; z-index:2; }
.career-copy h1 { font-size:clamp(68px,8vw,122px); line-height:1.03; letter-spacing:-.055em; word-spacing:.08em; margin-top:34px; }
.career-copy p { max-width:410px; margin-top:35px; font-size:15px; line-height:1.85; }
@keyframes handshake-float { to { transform:translateY(-15px) rotate(2deg); } }
@keyframes bolt-breathe { to { filter:drop-shadow(0 0 30px #ff7900); transform:scale(1.08); } }

/* Contact: an illuminated connection field and a suspended glass form. */
.contact-stage { overflow:clip; background:radial-gradient(ellipse at 22% 55%,#77300a28,transparent 58%),#040404; }
.contact-section { padding-block:142px 90px; grid-template-columns:1fr 1.1fr; gap:76px; overflow:visible; align-items:start; }
.contact-copy h1 { font-size:clamp(60px,6.5vw,92px); margin-block:29px; }
.contact-copy>p { max-width:410px; font-size:14px; line-height:1.9; }
.contact-copy>.email-link { font-size:19px; margin-top:30px; border-bottom:1px solid #ff79006b; padding-bottom:8px; }
.contact-form-panel { border-radius:24px; padding:38px; background:linear-gradient(135deg,#ffffff0c,#ffffff02),#19191888; backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px); border:1px solid #fcfcfc24; box-shadow:inset 0 1px 0 #ffffff24,0 35px 100px #0007; position:relative; }
.contact-form-panel:before { content:''; position:absolute; top:-1px; left:12%; width:60%; height:1px; background:linear-gradient(90deg,transparent,#ffc688,transparent); }
.contact-form-panel form { gap:23px; }
.contact-form-panel input,.contact-form-panel textarea { border:1px solid #fcfcfc1c; border-radius:9px; padding:13px 14px; background:#0004; font-size:12px; }
.contact-form-panel input:focus,.contact-form-panel textarea:focus { border-color:#ed9914; box-shadow:0 0 0 3px #ff790016; }
.contact-form-panel textarea { min-height:120px; }
.contact-form-panel label { gap:9px; }
.form-preview-note { color:#a2a09c; }
@keyframes contact-orbit { to { transform:rotate(360deg); } }
@keyframes beacon-wave { from { transform:rotateX(50deg) scale(.35); opacity:.8; } to { transform:rotateX(50deg) scale(1.3); opacity:0; } }

/* Decorative loops only run when their surface is near the viewport. */
:is(.ambient-field,.feature-art,.payment-scene,.payment-card,.team-art,.contact-beacon,.contact-orbits,.values-band):not(.motion-visible) *,
.tab-hidden *,.tab-hidden *:before,.tab-hidden *:after { animation-play-state:paused!important; }
@media (min-width:1600px) { .hero-content { padding-top:140px; padding-bottom:120px; } }
@media (max-width:1000px) {
  .header-inner { width:calc(100% - 64px); }
  .hero-content { padding-top:135px; padding-bottom:100px; }
  .benefit--visual { padding:25px; }
  .about-intro-grid { grid-template-columns:1fr; }
  .about-story { display:grid; grid-template-columns:220px 1fr; gap:0 28px; padding:30px; }
  .about-story .feature-art { grid-row:1/3; align-self:center; }
  .about-story h2 { margin-top:8px; }
  .about-story p { margin-top:18px; }
  .career-hero { min-height:750px; gap:0; }
  .career-copy h1 { font-size:clamp(64px,8.6vw,94px); }
  .contact-section { gap:40px; }
  .contact-form-panel { padding:28px; }
}
@media (max-width:650px) {
  .header-inner { width:calc(100% - 40px); height:var(--header-height); gap:16px; }
  .header-actions { gap:8px; }
  .header-actions .button { min-height:44px; }
  .button--small { min-width:105px; padding-inline:14px; min-height:38px; border-radius:11px; font-size:10px; }
  .hero { min-height:max(680px,100svh); }
  .hero-content { padding-top:115px; padding-bottom:85px; }
  .hero h1 { font-size:clamp(35px,10.7vw,62px); }
  .hero-description .button { min-width:206px; min-height:55px; font-size:15px; }
  .industry-section { padding-bottom:68px; }
  .stats { gap:30px; }
  .stat-number { font-size:68px; }
  .benefit-grid:has(.benefit--visual) { gap:18px; }
  .benefit--visual { padding:26px; }
  .benefit--visual h3 { min-height:0; }
  .feature-art { height:175px; }
  .about-story { display:block; padding:26px; }
  .about-story h2 { margin-top:18px; font-size:27px; }
  .values-band { display:grid; grid-template-columns:1fr 1fr; gap:22px; padding:30px 24px; }
  .values-band>span { justify-content:space-between; font-size:23px; gap:16px; }
  .editorial-row h2 { font-size:29px; }
  .payment-card { padding:25px; min-height:325px; }
  .career-hero { padding-block:128px 45px; grid-template-columns:1fr; min-height:0; }
  .career-copy h1 { font-size:clamp(62px,15vw,90px); max-width:none; }
  .career-copy p { margin-top:28px; font-size:14px; }
  .contact-section { padding-block:126px 65px; grid-template-columns:1fr; gap:38px; }
  .contact-copy h1 { font-size:clamp(56px,14vw,78px); }
  .contact-form-panel { padding:24px; border-radius:20px; }
  .contact-form-panel form { gap:23px; }
  .form-row { grid-template-columns:1fr; gap:23px; }
  .contact-form-panel input,.contact-form-panel textarea { padding:13px 12px; font-size:13px; }
  .contact-form-panel label { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*:before,*:after { animation:none!important; transition:none!important; }
}

/* One continuous canvas of colour, without cropped section-sized backgrounds. */
#main { position:relative; isolation:isolate; background:#050504; }
#main:before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse 75% 700px at 100% 700px,#ff790012,transparent),radial-gradient(ellipse 70% 1000px at 0 2400px,#ed991410,transparent),radial-gradient(ellipse 80% 900px at 100% 4200px,#d83a0f12,transparent); }
:is(.smart-section,.advantage-section,.inner-hero,.soft-section,.payout-section,.values-band,.career-stage,.contact-stage,.callout,.logo-strip) { background:transparent; border-block:0; }
.site-footer { border-top:0; background:#000; }
.callout { position:relative; padding:100px 0 120px; }
.callout:before { content:''; position:absolute; inset:-40px 0; background:radial-gradient(ellipse,#ff79000f,transparent 68%); pointer-events:none; z-index:-1; }
.hero { background:#050504; }
.hero-vignette { background:linear-gradient(0deg,#050504,transparent 30%,#0002 72%,#0005); }
.routing-art { border:0; background:radial-gradient(ellipse,#ff79000c,transparent 68%); }
/* Static glass highlights avoid repeated background sampling during animation. */
:is(.button,.filter-button,.intro-skip) { backdrop-filter:none; -webkit-backdrop-filter:none; }
.payment-board { animation:none; transform:rotateX(17deg) rotateY(-9deg) rotateZ(-7deg); }
.trace-pulse,.feature-art svg,.art-pulse { filter:none; }
.feature-art svg { animation:none; }
.art-ring,.values-band b,.editorial-row:before { animation:none; }
.sculpture-halo { animation:none; filter:none; }
.sculpture-image { filter:none; }
.route-track:after { left:0; top:0; offset-path:ellipse(50% 50% at 50% 50%); animation:route-travel 5s linear infinite; box-shadow:0 0 9px #ff7900; }
.track-two:after { animation-duration:6.5s; animation-delay:-2s; }
.track-three:after { animation-duration:8s; animation-delay:-4s; }
@keyframes route-travel { from { offset-distance:0%; } to { offset-distance:100%; } }

/* Tangible payment illustrations: a receipt, payment methods and a protected card. */
.benefit-illustration { height:210px; display:grid; place-items:center; position:relative; perspective:700px; }
.transaction-slip { position:relative; width:135px; height:160px; padding:21px; border:1px solid #686968; border-radius:8px 8px 0 0; background:linear-gradient(145deg,#383a3b,#181a1b); transform:rotate(-7deg); box-shadow:inset 0 1px 1px #ffffff22,4px 6px 0 #111213,6px 9px 0 #0007; }
.transaction-slip:after { content:''; position:absolute; bottom:-8px; height:9px; left:0; right:0; background:linear-gradient(135deg,#181a1b 25%,transparent 25%) -8px 0/16px 16px,linear-gradient(225deg,#181a1b 25%,transparent 25%) -8px 0/16px 16px; }
.transaction-slip>span { color:#dfb079; font-family:var(--mono); font-size:10px; }
.receipt-lines { display:grid; gap:7px; margin-top:16px; }
.receipt-lines i { height:2px; background:#aaa28c40; }
.receipt-lines i:nth-child(2) { width:80%; }
.receipt-lines i:nth-child(3) { width:60%; }
.receipt-chart { display:flex; gap:6px; height:42px; align-items:end; margin-top:16px; }
.receipt-chart i { width:9px; height:40%; background:#ca873e; transform-origin:bottom; animation:receipt-flow 3.5s ease-in-out infinite alternate; }
.receipt-chart i:nth-child(2n) { height:65%; animation-delay:-1s; }
.receipt-chart i:nth-child(3n) { height:90%; animation-delay:-2s; }
.transaction-check { position:absolute; right:-24px; bottom:24px; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; background:#e28b26; color:#211409; font-size:23px; border:1px solid #ffdcaa; box-shadow:0 8px 20px #0007; }
@keyframes receipt-flow { to { transform:scaleY(.55); opacity:.6; } }
.method-stack { width:205px; transform:rotate(-6deg); display:grid; gap:9px; }
.method-tile { display:flex; align-items:center; gap:16px; height:44px; padding:0 16px; border:1px solid #626463; border-radius:8px; background:linear-gradient(120deg,#343637,#17191a); font-size:12px; color:#d8d1c5; box-shadow:inset 0 1px 1px #ffffff20,3px 5px 0 #101112,0 10px 15px #0005; }
.method-tile:nth-child(2) { transform:translateX(12px); }
.method-tile:nth-child(3) { transform:translateX(24px); }
.mini-card,.mini-wallet { display:block; width:22px; height:16px; border:1px solid #d7a15e; border-radius:3px; background:linear-gradient(transparent 35%,#d7a15e 36%,#d7a15e 43%,transparent 44%); }
.mini-bank { font-size:25px; color:#d7a15e; line-height:1; }
.mini-wallet { background:none; position:relative; }
.mini-wallet:after { content:''; position:absolute; right:-3px; top:5px; height:5px; width:8px; background:#d7a15e; border-radius:1px; }
.protected-card { width:210px; height:132px; position:relative; padding:22px; transform:rotate(-8deg); border:1px solid #686968; border-radius:14px; background:linear-gradient(140deg,#393b3c,#181a1b 70%); box-shadow:inset 0 1px 1px #ffffff24,4px 6px 0 #111213,6px 9px 0 #0007; }
.card-chip { display:block; width:30px; height:23px; border:1px solid #d7a15e; border-radius:5px; background:linear-gradient(90deg,transparent 46%,#d7a15e60 47%,#d7a15e60 52%,transparent 53%),linear-gradient(transparent 46%,#d7a15e60 47%,#d7a15e60 52%,transparent 53%); }
.card-lines { display:flex; gap:8px; margin-top:17px; }
.card-lines i { width:29px; height:3px; background:#bcbcbc45; }
.compliance-label { position:absolute; bottom:16px; left:22px; font:10px var(--mono); color:#bfb29b; letter-spacing:.12em; }
.card-shield { position:absolute; right:-18px; bottom:-14px; width:70px; height:84px; }
.card-shield path:first-child { fill:#242627; stroke:#b6a083; stroke-width:1.5; }
.card-shield path:last-child { stroke:#ffca80; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }

/* Full-width colour fields blend without introducing rectangular section edges. */
#main:after { content:''; position:absolute; bottom:0; inset-inline:0; height:180px; background:linear-gradient(transparent,#000); pointer-events:none; z-index:-1; }





:root { color-scheme:dark; }
.solutions-hero { padding:150px 0 0; }
.solutions-hero-grid { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:40px; padding:35px 0 70px; }
.solutions-hero h1 { font-size:clamp(45px,4.8vw,76px); line-height:1.08; letter-spacing:-.055em; font-weight:500; }
.solutions-hero h1 em { color:#ff7900; }
.solutions-hero p { max-width:530px; margin:28px 0; line-height:1.8; }
.catalog-navigation { display:flex; flex-wrap:wrap; gap:32px; padding:24px 0; border-block:1px solid #ffffff1c; }
.catalog-navigation a { display:inline-flex; align-items:center; min-height:44px; color:#d5d2cb; font-size:13px; }
.catalog-navigation a:hover { color:#ffa344; }
.solutions-payments { padding-bottom:35px; }
.solution-chapter { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:90px; padding:55px 0; min-height:430px; }
.chapter-copy h2 { font-size:clamp(34px,3.4vw,54px); font-weight:500; line-height:1.12; letter-spacing:-.05em; max-width:500px; }
.chapter-copy p { font-size:15px; line-height:1.9; max-width:490px; margin-top:24px; }
.solution-object { position:relative; width:100%; height:340px; display:flex; align-items:center; justify-content:center; perspective:1000px; }
.solution-object:before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse,#d08a3826,transparent 68%); pointer-events:none; }
/* SPYDE is the processing layer, never a branded payment card. */
.processing-model { position:relative; width:min(100%,520px); aspect-ratio:1.625; }
.processing-routes { position:absolute; inset:0; width:100%; height:100%; stroke:#ba803b55; stroke-width:1.5; }
.processing-pulse { stroke:#ffbd69; stroke-width:2.5; stroke-dasharray:9 91; stroke-linecap:round; animation:processing-route 5s linear infinite; animation-delay:var(--delay); }
.processing-network { position:absolute; left:6%; width:20%; aspect-ratio:1; border:1px solid #c5a16b55; border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; background:linear-gradient(135deg,#39352d,#191918 75%); box-shadow:3px 5px 0 #11110f,0 12px 24px #0004; }
.processing-network--visa { top:9%; }.processing-network--visa b { font-size:clamp(17px,2.3vw,25px); font-style:italic; }
.processing-network--mastercard { top:59%; font-size:clamp(8px,1vw,11px); }
.network-circles { display:flex; padding-left:7px; }.network-circles i { width:22px; height:22px; border-radius:50%; margin-left:-7px; background:#c8bba1; opacity:.75; }.network-circles i+i { background:#8b8272; }
.processing-core { position:absolute; left:50%; top:48%; width:31%; aspect-ratio:1; transform:translate(-50%,-50%) rotate(-10deg) rotateY(-16deg); border:1px solid #dca25799; border-radius:16px; background:linear-gradient(135deg,#665037,#2b2821 55%,#191918); box-shadow:3px 7px 0 #29241a,4px 8px 0 #a7723277,7px 15px 0 #211e18,8px 16px 0 #a7723244,12px 28px 35px #0007; }
.processing-core-face { position:absolute; inset:9%; border:1px solid #b9915144; border-radius:10px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; }
.processing-core .brand-logo { width:78%; }.processing-core-face>span { color:#d3b17e; font-size:clamp(9px,1.2vw,12px); letter-spacing:.08em; }
.processing-indicators { display:flex; gap:7px; }.processing-indicators i { width:3px; height:3px; background:#ffb04e; border-radius:50%; animation:processing-status 5s ease-in-out infinite; }.processing-indicators i:nth-child(2) { animation-delay:.2s; }.processing-indicators i:nth-child(3) { animation-delay:.4s; }
.processing-result { position:absolute; right:5%; top:39%; width:14%; aspect-ratio:1; border:1px solid #cd984c99; border-radius:50%; display:grid; place-items:center; background:linear-gradient(135deg,#6d4b24,#25221a); box-shadow:2px 4px 0 #171510,0 0 28px #ec922615; }
.processing-result svg { width:60%; stroke:#f7d9a6; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.processing-captions { position:absolute; left:0; right:0; bottom:-5%; display:grid; grid-template-columns:1fr 1.4fr 1fr; text-align:center; color:#b4a68f; font-size:clamp(9px,1.1vw,11px); letter-spacing:.04em; }
@keyframes processing-route { from { stroke-dashoffset:100; } to { stroke-dashoffset:0; } }
@keyframes processing-status { 0%,25%,100% { opacity:.35; } 40%,65% { opacity:1; } }
.bank-building { width:31%; max-width:138px; aspect-ratio:1; display:grid; place-items:center; border-radius:18px; border:1px solid #cca27368; background:linear-gradient(135deg,#51432e,#2b2924); box-shadow:5px 8px 0 #1b1a17,0 18px 34px #0004; z-index:1; }
.bank-building svg { width:68%; stroke:#e5c193; stroke-width:2; stroke-linecap:round; }
.bank-building--one { transform:translateY(-22px) rotate(-7deg); }
.bank-building--two { transform:translateY(22px) rotate(7deg); }
.bank-transfer { width:24%; display:grid; gap:15px; transform:rotate(16deg); }
.bank-transfer span { height:1px; background:#dcb27655; position:relative; overflow:hidden; }
.bank-transfer span:after { content:''; display:block; height:1px; width:35%; background:#ffd8a1; animation:transfer-flow 2.5s linear infinite; }
.bank-transfer span:nth-child(2):after { animation-delay:-1s; animation-direction:reverse; }
.wallet-device { position:relative; width:165px; height:277px; padding:50px 15px 25px; border:1px solid #b9b3a666; border-radius:26px; background:linear-gradient(135deg,#403c33,#24231f); box-shadow:6px 8px 0 #171612,0 25px 45px #0005; transform:rotate(9deg) rotateY(-14deg); animation:product-float 8s ease-in-out infinite alternate; }
.device-speaker { position:absolute; top:12px; left:59px; width:47px; height:6px; border-radius:9px; background:#181714; }
.wallet-pay { display:block; padding:19px 10px; border-radius:10px; font-size:15px; letter-spacing:-.04em; background:linear-gradient(120deg,#7a684d,#3c3c32); border:1px solid #d1b3815c; margin-bottom:10px; }
.wallet-pay + .wallet-pay { background:linear-gradient(120deg,#655036,#302c25); }
.wallet-contactless { display:flex; align-items:center; justify-content:center; gap:4px; height:33px; }
.wallet-contactless i { width:3px; height:12px; background:#daa564; border-radius:9px; }
.wallet-contactless i:nth-child(2) { height:20px; }.wallet-contactless i:nth-child(3) { height:28px; }
.device-home { position:absolute; bottom:10px; left:58px; width:48px; height:3px; border-radius:8px; background:#8d918b; }
@keyframes product-float { to { translate:0 -10px; } }
@keyframes transfer-flow { from { transform:translateX(-100%); } to { transform:translateX(390%); } }
.solution-section-heading { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.solution-section-heading h2,.security-story h2 { font-size:clamp(34px,3.7vw,58px); letter-spacing:-.05em; line-height:1.12; font-weight:500; }
.solution-section-heading p,.security-story p { font-size:15px; line-height:1.9; }
.solution-section-heading em,.security-story em { color:#ff7900; }
.integration-workbench { margin-top:52px; padding:45px; border:1px solid #d8cfba22; border-radius:24px; background:linear-gradient(125deg,#ffffff07,#ffffff02); }
.api-ribbon { display:flex; align-items:center; justify-content:center; max-width:760px; margin:0 auto 50px; }
.api-ribbon>span { font:28px var(--mono); color:#bcbcbc; width:85px; text-align:center; }
.api-ribbon>div { padding:26px; border-radius:14px; border:1px solid #e0a35466; background:linear-gradient(125deg,#70503955,#2b2822); }
.api-ribbon i { flex:1; height:1px; background:linear-gradient(90deg,#8b6b4433,#efb368,#8b6b4433); }
.integration-capabilities { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.capability-icon { color:#e9ad6f; font:18px var(--mono); display:block; margin-bottom:16px; }
.capability-icon svg { width:25px; height:25px; stroke:currentColor; stroke-width:1.5; stroke-linejoin:round; }
.integration-capabilities h3,.assurance-list h3,.payout-journey h3 { font-size:21px; font-weight:500; letter-spacing:-.025em; }
.integration-capabilities p,.assurance-list p,.payout-journey p { font-size:13px; line-height:1.8; margin-top:12px; }
.security-story { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.security-story>div>p { margin-top:25px; }
.security-assurance .benefit-illustration { height:230px; }
.assurance-list article { display:flex; gap:20px; padding:22px 0; border-top:1px solid #ffffff18; }
.assurance-list article>span { color:#edaf6c; font-size:19px; }
.assurance-list h3 { font-size:19px; }.assurance-list p { margin-top:7px; }
.payout-journey { display:grid; grid-template-columns:repeat(3,1fr); gap:45px; margin-top:55px; }
.payout-journey article { position:relative; padding-top:24px; border-top:1px solid #e3ac6150; }
.journey-stop { width:42px; height:42px; display:grid; place-items:center; border:1px solid #e3ac6177; border-radius:50%; color:#efb574; background:#3b3429; margin-bottom:24px; font-size:12px; }
.solutions-payouts { padding-bottom:180px; }
/* A category-led directory: all providers and descriptions are visible together. */
.catalog-section { padding-top:15px; padding-bottom:180px; }
.catalog-navigation { gap:0; justify-content:space-between; margin-bottom:30px; }
.catalog-navigation a { display:flex; gap:15px; align-items:center; font-size:16px; }
.catalog-navigation .mono { font-size:10px; color:#efa04b; }
.payment-family { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; gap:90px; padding:70px 0; scroll-margin-top:100px; }
.payment-family + .payment-family { border-top:1px solid #ffffff1b; }
.family-kicker { color:#eaa259; font-size:10px; letter-spacing:.12em; }
.family-heading h2 { font-size:clamp(36px,3.5vw,54px); letter-spacing:-.05em; margin-top:20px; font-weight:500; }
.family-heading .solution-object { height:260px; margin-top:20px; max-width:380px; }
.family-heading .wallet-device { scale:.8; }
.provider-entry { padding:30px 0; }
.provider-entry + .provider-entry { border-top:1px solid #ffffff18; }
.provider-title { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.provider-title h3 { font-size:32px; font-weight:500; letter-spacing:-.055em; }
.provider-title .visa { font-size:37px; font-style:italic; font-weight:800; }
.provider-title>.mono { font-size:10px; color:#e5b584; }
.provider-light { height:7px; width:7px; border-radius:50%; background:#e8a453; box-shadow:0 0 14px #fca84c5c; }
.provider-entry p { font-size:15px; line-height:1.85; max-width:510px; margin-top:16px; }
.provider-entry--payout { padding-left:20px; border-left:1px solid #d78d4760; }
/* Reference layout: centered introduction followed by one vertically stacked form. */
.contact-stage { overflow:clip; padding-bottom:160px; }
.contact-heading { padding:142px 0 42px; text-align:center; max-width:840px; }
.contact-heading .eyebrow { justify-content:center; }
.contact-heading h1 { margin-top:26px; font-size:clamp(34px,4vw,60px); line-height:1.15; letter-spacing:-.045em; font-weight:600; }
.contact-heading>p { margin:22px auto 0; max-width:710px; font-size:15px; line-height:1.85; }
.contact-word { color:#ff7900; white-space:nowrap; }
.contact-section { display:block; max-width:700px; padding:0; }
.contact-form-panel { padding:40px 44px; border-radius:8px; border:1px solid #f4d6a328; background:linear-gradient(125deg,#161615,#090a09 70%); box-shadow:0 28px 80px #0008,inset 0 1px 0 #ffffff12; backdrop-filter:none; -webkit-backdrop-filter:none; isolation:isolate; overflow:hidden; }
.contact-section { position:relative; isolation:isolate; }
.contact-section:before { content:''; position:absolute; pointer-events:none; z-index:-1; inset:-180px calc(0px - min(24vw,340px)) -90px; mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent),linear-gradient(#000 65%,#000b 78%,#0003 91%,transparent 100%); mask-composite:intersect; background:radial-gradient(ellipse at 15% 52%,#ed991455,transparent 48%),radial-gradient(ellipse at 83% 78%,#d83a0f30,transparent 48%),radial-gradient(ellipse at 48% 90%,#ff790038,transparent 48%); }
.contact-panel-art { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; background:radial-gradient(ellipse at 5% 4%,#ff79002b,transparent 32%); }
.contact-panel-art img { position:absolute; width:115%; max-width:none; height:auto; right:-49%; top:4%; opacity:.48; transform:rotate(9deg); mask-image:linear-gradient(transparent,#000 18%,#000 65%,transparent 94%); }
.contact-panel-art:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#10110fd9,transparent 90%),linear-gradient(transparent 50%,#0b0c0be6); }
.contact-form-panel:after { content:''; position:absolute; pointer-events:none; inset:0; border-radius:inherit; border-top:1px solid #ffd9a359; mask-image:linear-gradient(100deg,transparent,#000,transparent); }
body { font-synthesis:none; }
.contact-form-panel:before { display:none; }
.contact-form-panel form { display:flex; flex-direction:column; gap:22px; }
.contact-form-panel label { font-size:13px; color:#e0dcd4; display:flex; flex-direction:column; gap:10px; }
.contact-form-panel input,.contact-form-panel textarea { padding:16px; background:#191918ed; border:1px solid #f3e7d829; border-radius:5px; font-size:16px; color:#fcfcfc; }
.contact-form-panel input::placeholder,.contact-form-panel textarea::placeholder { color:#a5a49d; }
.contact-form-panel input:focus,.contact-form-panel textarea:focus { border-color:#f9a34b; outline:0; box-shadow:0 0 0 3px #ff790011; }
.contact-form-panel textarea { min-height:135px; }
.form-submit { width:100%; align-self:stretch; margin-top:4px; --glass-tint:#ff7900; background:linear-gradient(135deg,#ffa02b,#ff7900 55%,#e8590a); color:#15100b; border-color:#ffb354; box-shadow:inset 0 1px 0 #ffe0ac8c,0 0 28px #ff79002b; }
.form-preview-note { text-align:center; font-size:10px!important; margin:0!important; }
#form-status:empty { display:none; }
/* Career opens directly with the supplied brand artwork. */
.career-hero { grid-template-columns:1fr .7fr; min-height:760px; }
.career-copy h1 { font-size:clamp(80px,10vw,160px); }
.career-copy p { max-width:475px; }
.career-brand-detail { display:grid; place-items:center; position:relative; }
.career-brand-detail img { width:clamp(100px,17vw,245px); height:auto; opacity:.7; transform:rotate(12deg); }
/* Foreground motion only while visible. */
:is(.smart-flow,.benefit-illustration,.feature-art,.payment-scene,.sculpture,.solution-object,.integration-workbench,.atmosphere-current,.form-submit):not(.motion-visible),
:is(.smart-flow,.benefit-illustration,.feature-art,.payment-scene,.sculpture,.solution-object,.integration-workbench,.atmosphere-current,.form-submit):not(.motion-visible) *,
:is(.smart-flow,.benefit-illustration,.feature-art,.payment-scene,.sculpture,.solution-object,.integration-workbench,.atmosphere-current,.form-submit):not(.motion-visible):before,
:is(.smart-flow,.benefit-illustration,.feature-art,.payment-scene,.sculpture,.solution-object,.integration-workbench,.atmosphere-current,.form-submit):not(.motion-visible):after,
:is(.smart-flow,.benefit-illustration,.feature-art,.payment-scene,.sculpture,.solution-object,.integration-workbench,.atmosphere-current,.form-submit):not(.motion-visible) *:after { animation-play-state:paused!important; }
@media(max-width:1000px) {
 .solutions-hero-grid,.solution-chapter,.solution-section-heading,.security-story,.payment-family { gap:40px; }
 .integration-workbench { padding:30px; }.integration-capabilities { gap:24px; }
}
@media(max-width:650px) {
 .solutions-hero { padding-top:120px; }.solutions-hero-grid { grid-template-columns:1fr; gap:15px; padding-bottom:30px; }
 .solutions-hero h1 { font-size:42px; }.solutions-hero p { font-size:14px; }
 .solution-chapter,.solution-section-heading,.security-story,.payment-family { grid-template-columns:1fr; gap:26px; }
 .solution-chapter { padding:35px 0; }.solution-chapter--1 .chapter-copy { order:0; }
 .chapter-copy p { font-size:14px; }.solution-object { height:290px; }
 .solution-section-heading h2,.security-story h2 { font-size:36px; }
 .solution-section-heading p,.security-story p { font-size:14px; }
 .integration-workbench { padding:25px; }.api-ribbon { margin-bottom:30px; }.api-ribbon>span { width:35px; font-size:19px; }.api-ribbon>div { padding:18px; }.api-ribbon .brand-logo { width:75px; }
 .integration-capabilities { grid-template-columns:1fr; gap:28px; }.capability-icon { margin-bottom:10px; }
 .payout-journey { grid-template-columns:1fr; gap:28px; }.payout-journey article { display:grid; grid-template-columns:42px 1fr; column-gap:20px; }.journey-stop { grid-row:span 2; margin:0; }.payout-journey h3 { align-self:center; }.payout-journey p { grid-column:2; }
 .catalog-navigation { gap:8px 20px; padding-block:16px; }.catalog-navigation a { font-size:13px; gap:8px; }.payment-family { padding:40px 0; }
 .family-heading .solution-object { height:230px; max-width:310px; margin:0 auto; }.family-heading h2 { font-size:36px; }
 .provider-title h3 { font-size:28px; }.provider-entry p { font-size:14px; }.provider-entry { padding:24px 0; }
 .contact-heading { padding:120px 0 30px; }.contact-heading h1 { font-size:36px; }.contact-heading p { font-size:13px; }.contact-heading br { display:none; }
 .contact-form-panel { padding:28px 20px; border-radius:8px; }.contact-form-panel input,.contact-form-panel textarea { padding:14px 12px; font-size:16px; }
 .contact-stage { padding-bottom:130px; }
 .career-hero { grid-template-columns:1fr; min-height:690px; padding-block:130px 100px; }.career-copy h1 { font-size:clamp(68px,16vw,100px); }.career-brand-detail { position:absolute; width:85px; right:10px; bottom:60px; opacity:.18; z-index:-1; }.career-brand-detail img { width:100%; }

 .benefit-illustration { height:195px; }.callout { padding:70px 0 130px; }
}

/* Supplied brand typography: Switzer for reading, Richmond for short accents. */
h1,h2,h3,.button,.desktop-nav { font-family:var(--font); }
h1 em,h2 em { font-family:'Richmond',Georgia,serif; font-weight:400; font-style:italic; letter-spacing:-.035em; }
.brand-atmosphere { position:absolute; inset:0; overflow:hidden; z-index:-1; pointer-events:none; mask-image:linear-gradient(transparent,#000 200px,#000 calc(100% - 250px),transparent),linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-composite:intersect; }
.atmosphere-bolt { position:absolute; width:470px; height:auto; opacity:.12; mask-image:linear-gradient(transparent 1%,#000 18%,#000 76%,transparent 98%); }
.atmosphere-bolt--one { top:260px; right:-135px; transform:rotate(17deg); }
.atmosphere-bolt--two { top:1900px; left:-150px; width:590px; opacity:.09; transform:rotate(-18deg); }
.atmosphere-current { position:absolute; top:900px; right:0; width:min(100%,1200px); height:500px; stroke:#ff7900; stroke-width:1; opacity:.16; mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent); }
.atmosphere-current path { animation:current-breathe 7s ease-in-out infinite alternate; }
@keyframes current-breathe { from { opacity:.25; } to { opacity:.8; } }
body[data-page="home"] #main > .brand-atmosphere > .atmosphere-bolt--one { top:1200px; }
body[data-page="vacancies"] .atmosphere-bolt--one { opacity:.02; }
/* Anchor the lower-page atmosphere to its content, not page-height offsets. */
.brand-continuation { position:relative; isolation:isolate; }
.brand-continuation > .brand-atmosphere {
 mask-image:linear-gradient(transparent,#000 140px,#000 calc(100% - 180px),transparent),linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
 background:radial-gradient(ellipse 45% 500px at 0 25%,#ed99140c,transparent),radial-gradient(ellipse 50% 650px at 100% 70%,#ff790010,transparent);
}
.brand-continuation .atmosphere-bolt--one { top:0; left:clamp(-230px,-12vw,-100px); right:auto; width:clamp(380px,38vw,640px); opacity:.14; transform:rotate(-18deg); }
.brand-continuation .atmosphere-bolt--two { top:auto; bottom:140px; left:auto; right:clamp(-230px,-12vw,-100px); width:clamp(380px,38vw,640px); opacity:.12; transform:rotate(17deg); }
.brand-continuation .atmosphere-current { top:auto; bottom:10%; opacity:.1; }
.brand-continuation--integrations .atmosphere-bolt--two { display:none; }
.brand-continuation--about > .brand-atmosphere { inset:-100px 0 0; }
.brand-continuation--about .atmosphere-bolt--one { top:0; width:clamp(360px,32vw,540px); }
.brand-continuation--about .atmosphere-bolt--two { bottom:-80px; width:clamp(360px,32vw,540px); opacity:.08; }
@media(max-width:650px) {
 .brand-continuation .atmosphere-bolt--one { left:-190px; width:360px; opacity:.1; }
 .brand-continuation .atmosphere-bolt--two { right:-190px; width:360px; opacity:.1; }
 .brand-continuation--about .atmosphere-bolt--two { opacity:.06; }
}

.career-brand-detail img { width:clamp(180px,29vw,400px); height:auto; opacity:1; transform:none; mask-image:linear-gradient(transparent 0%,transparent 8%,#0003 13%,#000b 20%,#000 27%,#000 74%,#000b 83%,#0003 91%,transparent 97%); }
.career-brand-detail { padding:35px 0; }
.career-copy h1 { font-size:clamp(76px,9vw,140px); line-height:1.06; letter-spacing:-.05em; }
.career-copy h1 em { padding-left:.06em; }
/* Still photograph with periodic atmospheric lightning behind the content. */
.hero { overflow:hidden; min-height:max(760px,100svh); background:#050504; }
.hero-sky { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; background:#050504 url('assets/after-storm.png') center/cover no-repeat; }
.hero-weather { position:absolute; inset:74px 0 0; z-index:1; pointer-events:none; mask-image:linear-gradient(transparent,#000 12%,#000 85%,transparent); }
.hero-weather svg { width:100%; height:100%; display:block; }
.hero-weather:not(.motion-visible) *,.intro-active .hero-weather * { animation-play-state:paused!important; }
.intro-active .hero-weather { visibility:hidden; }
@media(max-width:650px) { .hero-weather { top:68px; } }
@media(prefers-reduced-motion:reduce) { .hero-weather { display:none; } }
.intro-canvas { position:absolute; inset:0; width:100%; height:100%; }
.hero-vignette { z-index:2; background:linear-gradient(0deg,#050504,transparent 28%,#0002 90%),radial-gradient(ellipse at 45% 47%,#0006,transparent 70%),linear-gradient(90deg,#05050455,transparent 70%); }
.hero-content { padding:185px 0 120px; }
.hero h1 { text-transform:none; font-size:clamp(58px,7vw,106px); font-weight:600; letter-spacing:-.05em; line-height:1.04; }
.hero h1 em { color:#ffd08a; }
.hero h1>span { white-space:normal; }
.hero-eyebrow { font-size:11px; }
.hero-description { margin-top:32px; }
.hero-description p { color:#dedbd4; }
@media(max-width:650px) {
 .hero { min-height:max(720px,100svh); }.hero-content { padding:150px 0 100px; }.hero h1 { font-size:clamp(44px,11.6vw,69px); }
 .hero-description p { font-size:15px; }.hero-eyebrow { font-size:9px; letter-spacing:.12em; }
 .hero-sky { background-position:65% center; }
 .atmosphere-bolt { width:290px; }.atmosphere-bolt--one { right:-150px; }
 .career-hero { grid-template-columns:minmax(0,1fr) minmax(70px,.42fr); min-height:0; padding-bottom:80px; gap:28px 12px; }
 .career-copy { display:contents; }
 .career-copy>.eyebrow,.career-copy>p { grid-column:1 / -1; position:relative; z-index:2; }
 .career-copy>.eyebrow { grid-row:1; }
 .career-copy h1 { grid-column:1; grid-row:2; position:relative; z-index:2; font-size:clamp(42px,11vw,70px); margin:0; }
 .career-copy p { grid-row:3; margin:0; max-width:none; }
 .career-brand-detail { grid-column:2; grid-row:2; position:relative; width:100%; right:auto; bottom:auto; opacity:1; z-index:0; margin:0; padding:0; }
 .career-brand-detail img { width:100%; }
}

/* Smart Solutions: a spatial payment journey, with one synchronized 8s cycle. */
.smart-flow { width:100%; max-width:650px; min-width:0; margin-inline:auto; isolation:isolate; }
.flow-scene { position:relative; width:100%; aspect-ratio:1.12; perspective:1100px; }
.flow-halo { position:absolute; inset:10% -5% 0; background:radial-gradient(ellipse,#ff790016,transparent 66%); }
.flow-plane { position:absolute; inset:4% 5% 0; transform-style:preserve-3d; transform:rotateX(33deg) rotateZ(-19deg) scale(.9); }
.flow-rails { position:absolute; inset:0; width:100%; height:100%; overflow:visible; stroke:#80572e; stroke-width:1.3; }
.flow-rails circle { fill:#4b3521; stroke:none; }
.rail-base { opacity:.55; }
.rail-pulse { stroke:#ffae47; stroke-width:3; stroke-linecap:round; stroke-dasharray:12 88; opacity:0; }
.rail-pulse--in { animation:flow-enter 8s linear infinite; }
.rail-pulse--out { animation:flow-exit 8s linear infinite; }
.flow-card { position:absolute; border:1px solid #747675; background:linear-gradient(140deg,#3c3f40,#17191a 65%); border-radius:12px; box-shadow:inset 0 1px 1px #ffffff24,0 5px 0 #242627,0 7px 0 #484b4c55,0 22px 25px #0009; transform:translateZ(15px); }
.flow-card--input { left:0; top:44%; width:23%; height:19%; padding:0; animation:flow-card-breathe 8s ease-in-out infinite; }
.flow-card-chip { position:absolute; left:16%; top:24%; width:24%; height:23%; border:1px solid #b39970; border-radius:4px; background:linear-gradient(90deg,transparent 45%,#b3997055 46% 52%,transparent 53%); }
.flow-card-lines { position:absolute; left:16%; bottom:21%; width:56%; height:3px; background:repeating-linear-gradient(90deg,#bcb4a4 0 14%,transparent 14% 21%); opacity:.5; }
.flow-card--input>svg { position:absolute; right:11%; top:19%; width:20%; fill:none; stroke:#c1b8a7; stroke-width:1.5; }
.flow-engine { position:absolute; left:34%; top:36%; width:29%; height:27%; transform-style:preserve-3d; }
.flow-engine-base,.flow-engine-body { position:absolute; inset:0; border-radius:15px; border:1px solid #8a745b; background:linear-gradient(135deg,#373a3b,#141617 70%); }
.flow-engine-base { transform:translateZ(5px) scale(1.11); box-shadow:0 8px 0 #202223,0 10px 0 #53565755,0 30px 35px #0009; }
.flow-engine-body { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:15%; transform:translateZ(32px); box-shadow:inset 0 1px 1px #ffffff26,0 9px 0 #232526,0 10px 0 #65686755; animation:flow-engine-light 8s ease-in-out infinite; }
.flow-engine-body img { width:69%; height:auto; }
.flow-engine-lights { display:flex; gap:7px; }
.flow-engine-lights i { width:4px; height:4px; border-radius:50%; background:#ffb444; box-shadow:0 0 8px #ff7900; }
.flow-shield { position:absolute; width:44%; left:28%; top:-56%; transform:translateZ(68px) rotateZ(19deg) rotateX(-33deg); transform-origin:50% 100%; }
.flow-shield svg { width:100%; overflow:visible; }
.shield-shell { fill:#171714; stroke:#d18b3e; stroke-width:1.5; }
.shield-check { fill:none; stroke:#ffd093; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:40; animation:flow-protect 8s ease-in-out infinite; }
.flow-card--receipt { right:0; top:13%; width:19%; height:28%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12%; border-color:#747675; background:linear-gradient(145deg,#3c3f40,#181a1b 70%); }
.flow-confirm { width:40%; aspect-ratio:1; border:1px solid #ffbd68; border-radius:50%; display:grid; place-items:center; animation:flow-confirm-light 8s ease-in-out infinite; }
.flow-confirm svg { width:80%; fill:none; stroke:#ffd398; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.flow-receipt-lines { width:50%; height:13%; background:linear-gradient(#d0bda077 0 2px,transparent 2px 8px,#d0bda044 8px 10px,transparent 10px); }
.flow-route-option { position:absolute; right:0; width:16%; height:10%; border:1px solid #62646355; border-radius:8px; background:linear-gradient(130deg,#292c2d,#111314); transform:translateZ(5px); }
.flow-route-option:before { content:''; position:absolute; width:35%; height:2px; left:32%; top:48%; background:#8d7d6344; }
.flow-route-option--one { top:46%; }.flow-route-option--two { top:67%; }
.flow-steps { display:grid; grid-template-columns:1fr 1.35fr 1fr; gap:12px; padding-top:20px; }
.flow-steps>div { display:flex; flex-direction:column; gap:10px; border-top:1px solid #baa27c30; padding-top:16px; }
.flow-steps span { color:#cc8a43; font-size:10px; letter-spacing:.08em; }
.flow-steps strong { color:#bdb9b2; font-size:12px; font-weight:500; }
@keyframes flow-enter { 0% { opacity:0; stroke-dashoffset:12; } 8% { opacity:1; } 30% { opacity:1; stroke-dashoffset:-100; } 34%,100% { opacity:0; stroke-dashoffset:-100; } }
@keyframes flow-exit { 0%,43% { opacity:0; stroke-dashoffset:12; } 45% { opacity:1; } 70% { opacity:1; stroke-dashoffset:-100; } 74%,100% { opacity:0; stroke-dashoffset:-100; } }
@keyframes flow-card-breathe { 0%,35%,100% { transform:translateZ(15px); } 15% { transform:translateZ(25px); } }
@keyframes flow-engine-light { 0%,20%,70%,100% { border-color:#8a745b; } 34%,48% { border-color:#ffab5c; box-shadow:inset 0 1px 1px #ffffff26,0 9px 0 #232526,0 10px 0 #ff790055,0 0 20px #ff790010; } }
@keyframes flow-protect { 0%,22% { stroke-dashoffset:40; opacity:.2; } 38%,85% { stroke-dashoffset:0; opacity:1; } 100% { stroke-dashoffset:0; opacity:.2; } }
@keyframes flow-confirm-light { 0%,63%,100% { background:#ff790008; box-shadow:none; opacity:.35; } 73%,88% { background:#ff79002c; box-shadow:0 0 25px #ff790033; opacity:1; } }
@media(max-width:650px) { .flow-scene { aspect-ratio:1.05; }.flow-plane { transform:rotateX(27deg) rotateZ(-15deg) scale(.9); }.flow-shield { transform:translateZ(45px) rotateZ(15deg) rotateX(-27deg); }.flow-engine-body { transform:translateZ(22px); }.flow-steps { gap:8px; padding-top:10px; }.flow-steps strong { font-size:10px; }.flow-steps>div { padding-top:12px; }.flow-card,.flow-engine-body,.flow-engine-base { border-radius:9px; } }
@media(prefers-reduced-motion:reduce) { .smart-flow * { animation:none!important; }.shield-check { stroke-dashoffset:0; opacity:1; }.flow-confirm { opacity:1; }.rail-pulse { opacity:0; } }

.flow-steps>div { animation:flow-step-active 8s ease-in-out infinite; }
.flow-steps>div:nth-child(2) { animation-delay:2.6s; }
.flow-steps>div:nth-child(3) { animation-delay:5.6s; }
@keyframes flow-step-active { 0%,25%,100% { border-color:#baa27c30; } 8%,20% { border-color:#ffae47; } }
@media(prefers-reduced-motion:reduce) { .flow-steps>div { animation:none!important; } }

/* Periodic electrical accents behind content. The viewport layer is clipped in JS. */
.page-lightning { position:fixed; inset:0; z-index:-1; pointer-events:none; overflow:hidden; visibility:hidden; }
.page-lightning.is-visible { visibility:visible; }
.page-lightning { mask-image:linear-gradient(to bottom,transparent var(--storm-top,0px),#000 calc(var(--storm-top,0px) + 64px),#000 calc(100% - var(--storm-bottom,0px) - 64px),transparent calc(100% - var(--storm-bottom,0px))); }
.page-lightning svg { display:block; width:100%; height:100%; }
.storm-discharge { opacity:0; animation:lightning-flash var(--strike-life,1200ms) linear both; }
.storm-light { opacity:0; animation:lightning-light var(--strike-life,1200ms) ease-out both; }
.strike-core,.strike-halo,.strike-bloom,.strike-branches { fill:none; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.strike-core { stroke:#ffe7bd; stroke-width:1.3; stroke-dasharray:100; animation:lightning-draw 110ms linear both; }
.strike-halo { stroke:#ff961d; stroke-width:5; opacity:.48; }
.strike-bloom { stroke:#ff7900; stroke-width:15; opacity:.1; }
.strike-branches { stroke:#ffc579; stroke-width:.75; opacity:.8; }
.intro-active .page-lightning { visibility:hidden; }
@keyframes lightning-flash { 0% { opacity:0; } 5% { opacity:.95; } 12% { opacity:.38; } 20% { opacity:.85; } 35% { opacity:.32; } 70%,100% { opacity:0; } }
@keyframes lightning-light { 0% { opacity:0; } 10% { opacity:1; } 100% { opacity:0; } }
@keyframes lightning-draw { from { stroke-dashoffset:100; } to { stroke-dashoffset:0; } }
@media(prefers-reduced-motion:reduce) { .page-lightning { display:none; } }

@media (min-width:1001px) { .header-actions { display:none; } }

/* Mobile navigation shares the contact form's dark, textured brand treatment. */
.mobile-nav { isolation:isolate; background:radial-gradient(ellipse at 0 0,#ff790020,transparent 55%),linear-gradient(125deg,#161615,#090a09 70%); border-bottom-color:#f4d6a338; box-shadow:inset 0 1px 0 #ffffff12,0 28px 60px #0009; }
.mobile-nav:before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#111210,transparent 85%),url('assets/spyde-light-low.png') right -120px center / 410px auto no-repeat; opacity:.3; mask-image:linear-gradient(transparent,#000 16%,#000 65%,transparent 98%); }
.mobile-nav>a:not(.button) { position:relative; border-bottom-color:#f3e7d822; }
.mobile-nav>a:hover,.mobile-nav>a:focus-visible { color:#ffd09b; }

/* Chapter changes use light and whitespace, without duplicate numbered headings. */
:is(.smart-section,.advantage-section,.integration-home,.faq-section,.solutions-integration,.solutions-security,.solutions-payouts) { position:relative; isolation:isolate; }
:is(.smart-section,.advantage-section,.integration-home,.faq-section,.solutions-integration,.solutions-security,.solutions-payouts):before { content:''; position:absolute; top:-65px; right:4%; width:min(620px,76%); height:170px; background:radial-gradient(ellipse at center,#ed99140b,transparent 68%); transform:rotate(-12deg); pointer-events:none; z-index:-1; }
:is(.advantage-section,.faq-section,.solutions-security):before { right:auto; left:0; background:radial-gradient(ellipse at center,#ff79000d,transparent 68%); transform:rotate(12deg); }
@media(max-width:650px) {
  :is(.smart-section,.advantage-section,.integration-home,.faq-section,.solutions-integration,.solutions-security,.solutions-payouts):before { top:-35px; height:100px; }
}

/* Liquid-glass controls: rounded refraction, inset highlights and contained storms. */
.brand-tab-list { display:flex; gap:16px; padding:8px 2px 14px; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#9a581c #0d0c0b; }
.brand-tab { position:relative; isolation:isolate; flex:1 0 150px; min-width:0; min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px 28px; border:1px solid #ff9e3229; border-radius:24px; background:radial-gradient(ellipse at 15% 0%,#ff9e3229,transparent 60%),linear-gradient(150deg,#9d531c17,#53260508 48%,#b2551617); backdrop-filter:blur(16px) saturate(1.3); -webkit-backdrop-filter:blur(16px) saturate(1.3); box-shadow:inset 0 1px 1px #ffb25340,inset 0 -2px 4px #0005,0 5px 12px #0004; color:#e2d6c8; font:inherit; font-size:20px; letter-spacing:-.025em; text-align:left; cursor:pointer; overflow:hidden; transition:color .25s,background .25s,border-color .25s,box-shadow .25s; }
.brand-tab>span { position:relative; z-index:2; text-shadow:0 2px 12px #000; }
.brand-tab:before { content:''; position:absolute; z-index:1; top:-100%; left:-10%; width:120%; height:150%; border-radius:50%; background:linear-gradient(180deg,transparent 48%,#ff9a3210); border-bottom:1px solid #ffab4520; transform:rotate(-9deg); pointer-events:none; }
.brand-tab:after { content:''; position:absolute; z-index:3; inset:0; padding:1px; border-radius:inherit; background:linear-gradient(145deg,#ffca8270,#ff790005 35%,#ff790025 60%,#ff9d433d); mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude; -webkit-mask-composite:xor; pointer-events:none; }
.brand-tab:hover { color:#fcfcfc; border-color:#ffb25340; box-shadow:inset 0 1px 2px #ffb76660,inset 0 -2px 5px #0005,0 5px 14px #0005; }
.brand-tab:is([aria-selected="true"],[aria-current="location"]) { color:#fff; border-color:#ffb56875; background:radial-gradient(ellipse at 15% 0%,#ffb15a29,transparent 65%),radial-gradient(ellipse at 90% 100%,#ff790029,transparent 70%),linear-gradient(140deg,#bd601d30,#46241029 55%,#a5491529); box-shadow:inset 0 1px 2px #ffbc7180,inset 0 -2px 5px #ff790018,0 5px 16px #0005; }
.brand-tab:is([aria-selected="true"],[aria-current="location"]):after { background:linear-gradient(130deg,#ffc582a6,#ff9b3412 35%,#ff790036 65%,#ffad5791); }
.tab-contact { position:relative; z-index:2; flex:none; width:6px; height:6px; border:1px solid #b78355; border-radius:50%; box-shadow:0 1px 3px #0008; }
.brand-tab:is([aria-selected="true"],[aria-current="location"]) .tab-contact { background:#ffac51; border-color:#ffc477; box-shadow:0 0 12px #ff7900a0; }
.brand-tab:focus-visible { outline:2px solid #ffb76a; outline-offset:-5px; }
.tab-strike { position:absolute; inset:0; width:100%; height:100%; opacity:0; pointer-events:none; background:radial-gradient(ellipse at 30% 30%,#ff9a3030,transparent 60%),radial-gradient(ellipse at 85% 80%,#ff790030,transparent 65%); }
.tab-discharge { opacity:0; }
.tab-strike path { fill:none; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.tab-strike-halo { stroke:#ff7900; stroke-width:6px; opacity:.3; filter:blur(2px); }
.tab-strike-branch { stroke:#ffab50; stroke-width:.7px; opacity:.65; }
.tab-strike-core { stroke:#ffc16b; stroke-width:1.25px; }
.brand-tabs [role="tabpanel"][hidden] { display:none; }
.brand-tabs [role="tabpanel"]:focus-visible { outline:1px solid #ffa344; outline-offset:8px; }
.brand-tabs .payment-family { min-height:480px; padding:56px 0 0; border:0; }
.about-tabs { padding-top:24px; }
.about-tab-panel { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; min-height:380px; padding:64px 0 0; }
.about-tab-heading { position:relative; }
.about-tab-heading h2 { position:relative; z-index:1; max-width:470px; font-size:clamp(32px,3.2vw,48px); line-height:1.15; letter-spacing:-.045em; font-weight:500; }
.about-tab-copy p { font-size:16px; line-height:1.9; color:#bcbcbc; }
.about-tab-copy p+p { margin-top:24px; }
@media(max-width:1000px) {
 .brand-tab { padding:22px 20px; font-size:17px; gap:12px; }

 .about-tab-panel { gap:40px; }
}
@media(max-width:650px) {
 .brand-tab-list { gap:10px; padding:6px 2px 12px; }
 .brand-tab { flex-basis:150px; min-height:72px; padding:20px 18px; border-radius:20px; font-size:15px; }

 .about-tabs .brand-tab { flex-basis:122px; }
 .brand-tabs .payment-family { min-height:0; padding-top:32px; }
 .about-tab-panel { grid-template-columns:1fr; min-height:0; gap:24px; padding-top:36px; }
 .about-tab-heading h2 { font-size:30px; }
 .about-tab-copy p { font-size:15px; line-height:1.85; }
}
@media(prefers-reduced-motion:reduce) { .brand-tab { transition:none; } }

/* Wordmarks retain their supplied proportions in text and small legal labels. */
/* Align the letter bottoms, not the lower lightning tip, with the text baseline. */
.heading-wordmark { display:inline-block; white-space:nowrap; }
.heading-wordmark .brand-logo { display:inline-block; width:3.78em; height:.95em; vertical-align:-.23em; margin-right:.06em; }
.heading-wordmark .brand-logo--orange { background:#ff7900; mask:url('assets/spyde-logo-white.png') center / contain no-repeat; -webkit-mask:url('assets/spyde-logo-white.png') center / contain no-repeat; }
.copyright-wordmark { display:inline-block; vertical-align:middle; margin:0 4px; }
.copyright-wordmark .brand-logo { width:54px; height:auto; }
.benefit--visual .benefit-illustration { flex:none; min-width:0; width:100%; }
.benefit--visual h3,.benefit--visual p { max-width:100%; }
.method-stack { width:min(205px,calc(100% - 36px)); }
.protected-card { max-width:calc(100% - 30px); }

/* Legal documents use the same warm, restrained material as the contact panel. */
.legal-hero { position:relative; isolation:isolate; padding-top:170px; padding-bottom:0; border:0; }
.legal-heading { position:relative; z-index:1; max-width:780px; }
.legal-hero h1 { font-size:clamp(52px,7.4vw,108px); line-height:1.04; margin:32px 0; overflow-wrap:normal; }
.legal-hero h1 em { color:#ff7900; }
.legal-updated { display:flex; flex-wrap:wrap; gap:10px 24px; font-size:13px; color:#8e877e; }
.legal-updated time { color:#d9c9b7; }
.legal-brand-art { position:absolute; z-index:-1; width:28%; height:370px; right:4%; top:120px; opacity:.38; pointer-events:none; mask-image:linear-gradient(transparent,#000 20%,#000 65%,transparent); }
.legal-brand-art img { width:100%; height:100%; object-fit:contain; }
.legal-documents { display:flex; gap:32px; margin-top:64px; border-bottom:1px solid #ffb56826; }
.legal-documents a { position:relative; padding:18px 0; color:#aaa198; font-size:14px; min-height:48px; }
.legal-documents a[aria-current] { color:#ffb46b; }
.legal-documents a[aria-current]:after { content:''; position:absolute; height:2px; background:#ff7900; bottom:-1px; inset-inline:0; }
.legal-layout { display:grid; grid-template-columns:minmax(220px,.38fr) minmax(0,1fr); align-items:start; gap:64px; padding-top:64px; padding-bottom:100px; }
.legal-sidebar { position:sticky; top:calc(var(--header-offset) + 24px); display:flex; flex-direction:column; min-width:0; max-height:calc(100svh - var(--header-offset) - 48px); max-height:calc(100dvh - var(--header-offset) - 48px); padding:24px; border:1px solid #ffb56824; border-radius:16px; background:radial-gradient(ellipse at 0 0,#ff79000d,transparent 75%),#11100ee6; }
.legal-index-title { display:flex; flex:none; justify-content:space-between; gap:16px; color:#f5dfc4; font-size:13px; padding-bottom:20px; }
.legal-index-title span { color:#b17439; }
.legal-toc { position:static; display:flex; flex-direction:column; align-self:stretch; gap:0; min-width:0; min-height:0; padding:0; border:0; max-height:none; overflow:auto; scrollbar-width:thin; scrollbar-color:#764719 transparent; }
.legal-toc a { align-items:baseline; gap:12px; padding:10px 0; font-size:12px; line-height:1.5; color:#ada69e; }
.legal-toc a>span { color:#bd7f46; flex:none; }
.legal-toc a:hover { color:#ffd0a2; }
.legal-copy { min-width:0; padding:40px 48px; border:1px solid #ffb56824; border-radius:20px; background:radial-gradient(ellipse at 0 0,#ff79000a,transparent 30%),linear-gradient(135deg,#161512e6,#0b0c0be6); }
.legal-copy section { scroll-margin-top:32px; padding:32px 0; margin:0; border-bottom:1px solid #f1cfaa1c; }
.legal-copy section:first-child { padding-top:0; }
.legal-section-heading { display:flex; align-items:baseline; gap:20px; padding-bottom:20px; font-size:clamp(24px,2.2vw,32px); line-height:1.2; font-weight:500; }
.legal-section-number { color:#ff962f; font:inherit; flex:none; }
.legal-copy h2 { font:inherit; margin:0; letter-spacing:-.035em; }
.legal-copy p { font-size:15px; line-height:1.9; color:#bab5ae; overflow-wrap:anywhere; }
.legal-copy p+p { margin-top:20px; }
.legal-back { display:inline-flex; align-items:center; min-height:44px; margin-top:24px; color:#ffb46b; font-size:13px; }
.legal-documents a:focus-visible,.legal-toc a:focus-visible,.legal-back:focus-visible { outline:2px solid #ff9b45; outline-offset:3px; }
@media(max-width:1000px) {
 .benefit-grid:has(.benefit--visual) { grid-template-columns:1fr; }
 .legal-layout { grid-template-columns:minmax(190px,.38fr) minmax(0,1fr); gap:28px; }
 .legal-copy { padding:32px; }
 .legal-sidebar { padding:20px; }
}
@media(max-width:650px) {
 .legal-hero { padding-top:128px; }
 .legal-hero h1 { font-size:clamp(48px,12vw,72px); }
 .legal-brand-art { right:-4%; top:130px; height:210px; width:38%; opacity:.18; }
 .legal-documents { margin-top:36px; gap:24px; }
 .legal-documents a { font-size:12px; }
 .legal-layout { grid-template-columns:1fr; gap:24px; padding-top:28px; padding-bottom:64px; }
 .legal-sidebar { position:static; max-height:none; padding:20px; }
 .legal-toc { flex-direction:row; gap:8px; max-height:none; padding-bottom:8px; }
 .legal-toc a { flex:0 0 185px; border:1px solid #ffb56824; border-radius:8px; padding:12px; }
 .legal-index-title { padding-bottom:16px; }
 .legal-copy { padding:24px 20px; border-radius:14px; }
 .legal-section-heading { gap:12px; }
 .legal-copy section { scroll-margin-top:24px; padding:28px 0; }
 .legal-copy p { font-size:14px; line-height:1.85; }
}

/* Shared warm light atmosphere, softly blended across page sections. */
.depth-field { position:relative; isolation:isolate; }
.depth-atmosphere { position:absolute; inset:0 auto 0 50%; width:var(--atmosphere-width,100%); transform:translateX(-50%); overflow:hidden; pointer-events:none; z-index:-1; mask-image:linear-gradient(transparent,#000 15%,#000 78%,transparent); }
.depth-light { position:absolute; inset:-10%; background:radial-gradient(ellipse at 90% 25%,#8a390021,transparent 53%),radial-gradient(ellipse at 9% 85%,#e8860914,transparent 49%); animation:depth-illumination 16s ease-in-out infinite alternate; }
.depth-ribbon { position:absolute; width:130%; height:130px; top:25%; left:-15%; background:linear-gradient(180deg,transparent,#f27c0015 48%,transparent); filter:blur(24px); transform:rotate(-16deg); opacity:.6; }
.industry-section .depth-atmosphere { top:-70px; bottom:-100px; }
.depth-atmosphere:not(.depth-visible) *, .depth-paused .depth-atmosphere * { animation-play-state:paused; }
@keyframes depth-illumination { from { opacity:.4; transform:translate3d(0,0,0); } to { opacity:1; transform:translate3d(3%,2%,0); } }
@media(prefers-reduced-motion:reduce) { .depth-atmosphere * { animation:none!important; } }

/* Blend the hero artwork into the shared page atmosphere without fading text. */
body[data-page="home"] .hero { background:transparent; }
body[data-page="home"] :is(.hero-sky,.hero-vignette) {
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - clamp(160px,22vw,280px)),transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 calc(100% - clamp(160px,22vw,280px)),transparent 100%);
}
.desktop-nav a { font-size:16px; }

/* A single content rhythm for all four Solutions panels. */
.solutions-tabs > [role="tabpanel"] { padding-block:40px 80px; }
.solutions-tabs :is(.solution-chapter,.solutions-integration > .wrap,.security-story,.solutions-payouts > .wrap) {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  gap:clamp(32px,5vw,72px);
}
.solutions-tabs .solution-chapter { padding:0; min-height:0; }
.solutions-tabs .solution-chapter + .solution-chapter { margin-top:80px; }
@media(min-width:801px) {
 .solutions-tabs .solution-chapter:nth-child(odd) .chapter-copy,
 .solutions-tabs .solutions-integration .solution-section-heading,
 .solutions-tabs .security-story > div:first-child,
 .solutions-tabs .solutions-payouts .solution-section-heading { order:2; }
}
.solutions-tabs .solution-section-heading { display:block; }
.solutions-tabs [role="tabpanel"] h2 {
  margin:0;
  max-width:520px;
  font-size:clamp(32px,3.4vw,54px);
  font-weight:500;
  line-height:1.12;
  letter-spacing:-.05em;
}
.solutions-tabs :is(.chapter-copy,.solution-section-heading,.security-story > div:first-child) p {
  max-width:520px;
  margin-top:24px;
  font-size:15px;
  line-height:1.85;
}
.solutions-tabs .integration-workbench { margin:0; padding:28px; }
.solutions-tabs .api-ribbon { margin-bottom:32px; }
.solutions-tabs .api-ribbon > div { padding:18px; }
.solutions-tabs .api-ribbon .brand-logo { width:96px; }
.solutions-tabs .integration-capabilities { grid-template-columns:1fr; gap:24px; }
.solutions-tabs .integration-capabilities article { display:grid; grid-template-columns:28px 1fr; column-gap:16px; }
.solutions-tabs .capability-icon { grid-row:span 2; margin:0; }
.solutions-tabs .integration-capabilities p { grid-column:2; margin-top:8px; }
.solutions-tabs .payout-journey { margin:0; grid-template-columns:1fr; gap:28px; }
.solutions-tabs .payout-journey article { display:grid; grid-template-columns:42px 1fr; column-gap:20px; padding:0; border:0; }
.solutions-tabs .journey-stop { grid-row:span 2; margin:0; }
.solutions-tabs .payout-journey p { grid-column:2; }
@media(max-width:800px) {
  .solutions-tabs > [role="tabpanel"] { padding-block:28px 56px; }
  .solutions-tabs :is(.solution-chapter,.solutions-integration > .wrap,.security-story,.solutions-payouts > .wrap) { grid-template-columns:minmax(0,1fr); gap:32px; }
  .solutions-tabs .solution-chapter + .solution-chapter { margin-top:56px; }
  .solutions-tabs :is(.chapter-copy,.solution-section-heading,.security-story > div:first-child) p { font-size:14px; margin-top:20px; }
}

/* Home chapters alternate their visual weight within a tighter shared rhythm. */
body[data-page="home"] .section { padding-block:56px; }
body[data-page="home"] .smart-flow { overflow:clip; }
@media(min-width:1001px) {
  body[data-page="home"] :is(.smart-layout,.integration-split) { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,5vw,70px); }
  body[data-page="home"] :is(.smart-copy,.integration-split > .reveal) { grid-column:2; grid-row:1; }
  body[data-page="home"] :is(.smart-flow,.integration-split > .payment-scene) { grid-column:1; grid-row:1; }
}
@media(max-width:1000px) {
  body[data-page="home"] .section { padding-block:48px; }
  body[data-page="home"] .integration-split { grid-template-columns:1fr; gap:32px; }
  body[data-page="home"] .integration-split > .payment-scene { max-width:650px; justify-self:center; }
}
@media(max-width:650px) {
  body[data-page="home"] .section { padding-block:36px; }
}
