/*! Ledger Brigade hero animation. (c) 2026 Ledger Brigade. All rights reserved. Unauthorised copying, reuse or redistribution is prohibited. */
.lb-wrap{padding-top:calc(var(--c,70px) * .55)}
.lb-tagline{--c:inherit}
.lb-board{position:relative;width:min(500px,100%);aspect-ratio:1;margin:0 auto}
.lb-board svg.lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:0;pointer-events:none}
.lb-board .tile,.lb-board .ai-tile{position:absolute;left:0;top:0;display:grid;place-items:center;overflow:hidden;box-shadow:0 6px 16px rgba(0,0,0,.35);will-change:transform}
.lb-board .tile{width:var(--t);height:var(--t);border-radius:11px;z-index:1}
.lb-board .logo{background:#fff;border:1px solid rgba(201,162,75,.55)}
.lb-board .logo svg{width:56%;height:56%}
.lb-board .logo img{width:64%;height:64%;object-fit:contain;display:block}
.lb-board .logo.full img{width:100%;height:100%;object-fit:cover}
.lb-board .ai-tile{width:var(--a);height:var(--a);border-radius:14px;background:#fff;border:1px solid rgba(201,162,75,.7);z-index:1;
  box-shadow:0 0 0 5px rgba(201,162,75,.10),0 0 0 11px rgba(201,162,75,.05),0 8px 20px rgba(0,0,0,.4);transition:box-shadow .35s}
.lb-board .ai-tile svg{width:58%;height:58%}
.lb-board .ai-tile img{width:66%;height:66%;object-fit:contain;display:block}
.lb-board .tile::after,.lb-board .ai-tile::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:2.5px;background:linear-gradient(110deg,#B3893A,#F3E2AD 30%,#C9A24B 52%,#EFDCA0 68%,#B3893A);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .3s;pointer-events:none}
.lb-board .lit::after{opacity:1}
.lb-board .tile.acc{cursor:pointer}
.lb-board .tile.lit{box-shadow:0 0 14px rgba(243,226,173,.55),0 0 28px rgba(201,162,75,.35)}
.lb-board .ai-tile.lit{box-shadow:0 0 0 5px rgba(243,226,173,.25),0 0 26px rgba(243,226,173,.55),0 0 48px rgba(201,162,75,.35)}
.lb-board .core{position:absolute;border-radius:7%;transition:box-shadow .4s;z-index:2}
.lb-board .core img{width:100%;height:100%;display:block;border-radius:7%}
.lb-board .core::after{content:"";position:absolute;inset:-5px;border-radius:9%;padding:3px;background:linear-gradient(110deg,#B3893A,#F3E2AD 30%,#C9A24B 52%,#EFDCA0 68%,#B3893A);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:0;transition:opacity .4s;pointer-events:none}
.lb-board .core.glint{box-shadow:0 0 30px rgba(243,226,173,.45),0 0 60px rgba(201,162,75,.3)}
.lb-board .core.glint::after{opacity:1}
.lb-board .walker{position:absolute;left:0;top:0;width:var(--ww);height:var(--wh);margin:calc(var(--wh) * -.92) 0 0 calc(var(--ww) * -.5);pointer-events:none;z-index:3;
  filter:drop-shadow(0 0 4px rgba(243,226,173,.5)) drop-shadow(0 3px 4px rgba(0,0,0,.55))}
.lb-board .walker .face{width:100%;height:100%}
.lb-board .walker svg{width:100%;height:100%;overflow:visible;animation:lb-bob .9s ease-in-out infinite}
.lb-board .walker .limb{transform-box:fill-box}
.lb-board .walker .leg{transform-origin:50% 0}
.lb-board .walker .leg.l1{animation:lb-stride .9s ease-in-out infinite}
.lb-board .walker .leg.l2{animation:lb-stride .9s ease-in-out infinite;animation-delay:-.45s}
.lb-board .walker .arm{transform-origin:50% 0;animation:lb-swing .9s ease-in-out infinite}
.lb-board .walker.idle svg,.lb-board .walker.idle .limb{animation-play-state:paused}
.lb-board .walker .screen{fill:#1B2A47;transition:fill .3s}
.lb-board .walker.carry .screen{fill:url(#lbGold)}
.lb-board .walker .data{opacity:0;transition:opacity .3s}
.lb-board .walker.carry .data{opacity:1}
.lb-board .walker .data rect{transform-box:fill-box;transform-origin:center;animation:lb-float 1.1s ease-in-out infinite}
.lb-board .walker .data rect:nth-child(2){animation-delay:.25s}
.lb-board .walker .data rect:nth-child(3){animation-delay:.5s}
@keyframes lb-stride{0%{transform:rotate(-16deg)}50%{transform:rotate(16deg)}100%{transform:rotate(-16deg)}}
@keyframes lb-swing{0%{transform:rotate(-18deg)}50%{transform:rotate(18deg)}100%{transform:rotate(-18deg)}}
@keyframes lb-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
@keyframes lb-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}
.lb-tagline{margin:calc(var(--c,70px) * .6 + 1.2rem) auto 0;max-width:500px;text-align:center;font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:500;
  font-size:clamp(1.02rem,1.9vw,1.2rem);line-height:1.35;background:linear-gradient(110deg,#B3893A,#F3E2AD 30%,#C9A24B 52%,#EFDCA0 68%,#B3893A);-webkit-background-clip:text;background-clip:text;color:transparent}
.lb-note{margin:.8rem auto 0;max-width:500px;text-align:center;font-size:.7rem;line-height:1.5;color:#7C879C}
@media (max-width:900px){.lb-board{width:min(360px,100%)}}

/* homepage hero: text left, animation right; stacks below the buttons on smaller screens */
.hero .container.lb-hero-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.5rem,3vw,3.5rem);align-items:center}
.lb-hero-main{min-width:0}
.lb-hero-orbit{position:relative;min-width:0}
.lb-hero-orbit::before{content:"";position:absolute;inset:-6% -8%;background:radial-gradient(closest-side,rgba(10,17,32,.85),rgba(10,17,32,.55) 60%,rgba(10,17,32,0));pointer-events:none;z-index:0}
.lb-hero-orbit>*{position:relative;z-index:1}
@media (max-width:1100px){.hero .container.lb-hero-split{grid-template-columns:1fr}.lb-hero-orbit{margin-top:2rem}}
/* phones: let the board use part of the page margin so the logos stay legible */
@media (max-width:600px){.lb-hero-orbit{margin-left:-28px;margin-right:-28px}.lb-board{width:100%}}
/* desktop: top-align the animation with the text and close part of the gap under the menu */
@media (min-width:1101px){.hero .container.lb-hero-split{align-items:start;margin-top:-24px}.lb-hero-orbit{align-self:start}}
/* phones and iPads: less space between the menu bar and the badge (50px to about 22px, matching desktop) */
@media (max-width:1100px){.hero .container.lb-hero-split{margin-top:-28px}}
/* homepage: no photo flash before the animated background starts. The old hero and call-to-action photos are hidden from the first paint
   (same navy that ledger-bg.js shows behind its canvas), so hero.jpg is no longer downloaded either. */
.hero .hero-bg,section.cta .cta-bg{background-image:none!important;background-color:#0E182C}
/* full-bleed app icons (Float, Plooto): brand-colour base instead of white, and the picture slightly oversized,
   so no white hairline shows at the rounded edges on high-resolution screens (iPad, iPhone) */
.lb-board .logo.full{background:#0A1120;border-color:rgba(201,162,75,.45)}
.lb-board .logo.full[title="Float"]{background:#0F0215}
.lb-board .logo.full[title="Plooto"]{background:#001334}
.lb-board .logo.full img{width:calc(100% + 4px);height:calc(100% + 4px);max-width:none;margin:-2px}

/* hero typing headline (lb-typing.js): screen-reader copy, layout block, cursor */
.lb-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lb-tw-block{display:flow-root}
.lb-caret{display:inline-block;width:.06em;min-width:2px;height:.82em;margin-left:.05em;vertical-align:-.04em;background:linear-gradient(180deg,#F3E2AD,#C9A24B);animation:lb-blink 1s steps(1) infinite}
.lead .lb-caret{width:2px;height:1.05em;vertical-align:-.18em}
.lb-typing .lb-caret{animation:none}
@keyframes lb-blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.lb-caret{display:none}}