/* Landing adapted from pay.beso.xyz structure — branded BESO */
.landing { --l-container: 1312px; --l-bg: #f6f6f1; --l-ink: #0b0b0b; --l-muted: #5b5b5b; --l-card: #ffffff; --l-line: rgba(18, 18, 18, .12); --l-line-soft: rgba(18, 18, 18, .08); --l-pill: #ecebe3; --l-pill-hover: #e3e2d9; --l-panel: #111111; --l-panel-ink: #ffffff; --l-panel-muted: rgba(255, 255, 255, .66); --l-panel-line: rgba(255, 255, 255, .14); --l-btn: #111111; --l-btn-ink: #ffffff; --l-btn-hover: #2b2b2b; --l-shadow: 0 24px 60px rgba(10, 10, 10, .16); --motion-quick: .12s; --motion-standard: .24s; --motion-slow: .4s; --motion-ease-out: cubic-bezier(.2, 0, 0, 1); color-scheme: light; position: relative; min-height: 100vh; background: var(--l-bg); color: var(--l-ink); font-family: Inter, "Space Grotesk", system-ui, sans-serif; -webkit-font-smoothing: antialiased; overflow-x: clip; }

.landing img { -webkit-user-drag: none; }

.landing-skip-link { position: absolute; left: 12px; top: -56px; z-index: 60; padding: 10px 16px; border-radius: 0px 0px 12px 12px; background: var(--l-btn); color: var(--l-btn-ink); font-size: 0.875rem; font-weight: 600; text-decoration: none; transition: top 0.15s; }

.landing-skip-link:focus { top: 0px; }

.landing a:focus-visible, .landing button:focus-visible { outline: 2px solid var(--l-ink); outline-offset: 2px; }

.landing-cta .landing-btn:focus-visible, .landing-plan-card--dark .landing-btn:focus-visible { outline-color: var(--l-panel-ink); }

.landing main { display: flex; flex-direction: column; gap: clamp(84px, 7.5vw, 116px); padding: 0px 24px 100px; }

.landing section { scroll-margin-top: 24px; }

.landing-section--ruled { border-top: 1px solid var(--l-line-soft); padding-top: clamp(46px, 5vw, 64px); }

.landing-section--padded { padding-top: clamp(46px, 5vw, 64px); }

.landing-nav { position: absolute; top: 0px; left: 0px; right: 0px; z-index: 50; padding: 28px 24px 0px; background: transparent; }

.landing-nav-inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; max-width: var(--l-container); margin: 0px auto; }

.terms .landing-nav-inner { grid-template-columns: 1fr auto; }

.landing-brand { display: inline-flex; align-items: center; gap: 9px; text-decoration: none; color: inherit; }

.landing-brand-logo { width: auto; height: 22px; display: block; object-fit: contain; }

.landing-brand-logo.landing-brand-lockup { width: auto; height: 56px; max-width: min(360px, 70vw); object-fit: contain; background: transparent; }


.landing-brand-badge { display: inline-flex; align-items: center; padding: 3px 7px; border-radius: 5px; background: color-mix(in srgb,var(--l-ink) 9%,transparent); color: var(--l-ink); font-family: "PP Valve", Inter, sans-serif; font-size: 0.625rem; font-weight: 600; letter-spacing: 0.06em; line-height: 1; text-transform: uppercase; }

.landing-nav-links { display: flex; align-items: center; gap: 8px; }

.landing-nav-links a { display: inline-flex; align-items: center; height: 40px; padding: 0px 20px; border-radius: 10px; background: var(--l-pill); color: var(--l-ink); text-decoration: none; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; line-height: 1; transition: background var(--motion-quick) var(--motion-ease-out); }

.landing-nav-links a:hover { background: var(--l-pill-hover); }

.landing-nav-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }

.landing-nav-menu-btn { display: none; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 60px; height: 44px; padding: 0px; border: 1px solid var(--l-line); border-radius: 10px; background: var(--l-pill); cursor: pointer; transition: background var(--motion-quick) var(--motion-ease-out); }

.landing-nav-menu-btn:hover { background: var(--l-pill-hover); }

.landing-nav-menu-btn span { width: 30px; height: 2px; border-radius: 999px; background: var(--l-ink); }

.landing-nav-menu-btn[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }

.landing-nav-menu-btn[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

@media (prefers-reduced-motion: no-preference) {
  .landing-nav-menu-btn span { transition: transform var(--motion-standard) var(--motion-ease-out); }
  .landing-nav-menu { animation: landing-menu-enter var(--motion-standard) var(--motion-ease-out) both; transform-origin: right top; }
}

@keyframes landing-menu-enter { 
  0% { opacity: 0; transform: translateY(-6px) scale(0.98); }
  100% { opacity: 1; transform: translateY(0px) scale(1); }
}

@media (max-width: 480px) {
  .landing-nav-inner { gap: 12px; }
  .landing-nav-actions { gap: 6px; }
  .landing-nav-actions .landing-btn--small { padding: 0px 14px; }
  .landing-nav-actions .landing-btn--primary, .landing-hero-title br { display: none; }
}

.landing-nav-menu { position: absolute; top: calc(100% + 12px); right: 24px; display: flex; flex-direction: column; gap: 4px; width: 280px; padding: 16px; border-radius: 16px; background: var(--l-pill); box-shadow: var(--l-shadow); }

.landing-nav-menu a { display: flex; align-items: center; min-height: 44px; padding: 0px 8px; color: var(--l-ink); text-decoration: none; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; line-height: 1; transition: color var(--motion-quick) var(--motion-ease-out); }

.landing-nav-menu a:hover { color: var(--l-muted); }

.landing-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 14px 26px; border: 1px solid transparent; border-radius: 10px; font-style: inherit; font-variant: inherit; font-stretch: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.1em; line-height: 1.2; text-decoration: none; cursor: pointer; touch-action: manipulation; transition: transform var(--motion-quick) var(--motion-ease-out),background var(--motion-standard) var(--motion-ease-out),border-color var(--motion-standard) var(--motion-ease-out),color var(--motion-standard) var(--motion-ease-out); }

.landing-btn--primary { background: var(--l-btn); border-color: var(--l-btn); color: var(--l-btn-ink); }

.landing-btn--primary:hover { background: var(--l-btn-hover); border-color: var(--l-btn-hover); }

.landing-btn--secondary { background: var(--l-pill); border-color: var(--l-line); color: var(--l-ink); }

.landing-btn--secondary:hover { background: var(--l-pill-hover); border-color: var(--l-pill-hover); }

.landing-btn--inverted { background: var(--l-panel-ink); border-color: var(--l-panel-ink); color: var(--l-panel); }

.landing-btn--inverted:hover { background: color-mix(in srgb,var(--l-panel-ink) 92%,var(--l-panel)); border-color: color-mix(in srgb,var(--l-panel-ink) 92%,var(--l-panel)); }

.landing-btn--small { min-height: 40px; padding: 0px 20px; font-size: 0.875rem; }

.landing-hero { display: flex; flex-direction: column; max-width: var(--l-container); margin: 0px auto; width: 100%; padding: 96px 0px 24px; }

.landing-hero-grid { flex: 1 1 0%; display: grid; grid-template-columns: minmax(0px, 1fr) minmax(520px, 1fr); align-items: center; gap: clamp(48px, 5vw, 80px); padding: 32px 0px 24px; }

.landing-hero-content { display: flex; flex-direction: column; min-width: 0px; }

.landing-hero-visual { min-width: 0px; }

.landing-hero-accent { color: var(--l-muted); }

.landing-eyebrow { display: block; margin: 0px 0px 20px; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--l-muted); }

.landing-eyebrow::before { content: ""; display: block; width: 28px; height: 3px; margin: 0px 0px 14px; background: var(--l-ink); }

.landing-nowrap { white-space: nowrap; }

.landing-hero-title { margin: 0px 0px 24px; font-family: "PP Valve", Inter, sans-serif; font-size: clamp(3.25rem, 4.6vw, 4.125rem); font-weight: 600; line-height: 0.95; letter-spacing: 0px; }

.landing-hero-sub { max-width: 48ch; margin: 0px 0px 36px; color: var(--l-muted); font-size: 1.0625rem; line-height: 1.6; text-wrap: pretty; }

.landing-hero-ctas { display: flex; flex-wrap: wrap; gap: 14px; }

.landing-subhero { display: grid; grid-template-columns: auto auto auto; justify-content: start; align-items: start; gap: clamp(24px, 3vw, 48px); margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--l-line); }

.landing-subhero-item { display: flex; flex-direction: column; gap: 6px; }

.landing-subhero-value { font-family: "PP Valve", Inter, sans-serif; font-size: clamp(1.75rem, 2.6vw, 2.25rem); font-weight: 600; line-height: 0.95; letter-spacing: 0px; }

.landing-subhero-label { max-width: 24ch; font-size: 0.875rem; line-height: 1.4; color: var(--l-muted); text-wrap: balance; }

.landing-subhero-divider { align-self: stretch; width: 1px; background: var(--l-line); }

.landing-btn-arrow { display: inline-block; transition: transform var(--motion-standard) var(--motion-ease-out); }

@media (prefers-reduced-motion: no-preference) {
  .landing-btn:active { transform: scale(0.98); }
  .landing-btn:hover .landing-btn-arrow { transform: translate(3px); }
}

.landing-mock { position: relative; width: 100%; padding: 0px 0px 64px 24px; }

.landing-shot { display: block; width: 100%; height: auto; border-radius: 12px; background: var(--l-card); box-shadow: rgba(10, 10, 10, 0.16) 0px 24px 52px; }

.landing-mock-phone { position: absolute; left: 0px; bottom: -24px; width: 235px; height: 477px; margin: 0px; filter: drop-shadow(rgba(10, 10, 10, 0.32) 0px 26px 48px); z-index: 2; }

.landing-mock-phone .device { transform: scale(0.55); transform-origin: left top; }

.landing-mock-phone .device-screen { object-fit: cover; }

.landing-section { max-width: var(--l-container); margin: 0px auto; width: 100%; }

.landing-section-head { margin: 0px 0px 40px; }

.landing-section-title { margin: 0px; font-family: "PP Valve", Inter, sans-serif; font-size: clamp(2.25rem, 4.2vw, 3.75rem); font-weight: 600; letter-spacing: 0px; line-height: 0.95; text-wrap: balance; }

.landing-section-title--pretty { text-wrap: pretty; }

.landing-section-lede { max-width: 56ch; margin: 18px 0px 0px; color: var(--l-muted); font-size: 1.0625rem; line-height: 1.6; text-wrap: pretty; }

.landing-band .landing-eyebrow, .landing-band .landing-section-lede { color: var(--l-panel-muted); }

.landing-band .landing-eyebrow::before { background: var(--l-panel-ink); }

.landing-section-link { display: inline-block; margin-top: 16px; color: inherit; font-size: 1rem; font-weight: 600; text-decoration: underline; text-underline-offset: 0.2em; }

.landing-flow { display: grid; grid-template-columns: minmax(0px, 0.9fr) minmax(0px, 1.1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }

.landing-flow-steps { display: flex; flex-direction: column; margin: 0px; padding: 0px; list-style: none; }

.landing-flow-step { display: grid; grid-template-columns: 40px 1fr; gap: 20px; padding: 22px 0px; border-top: 1px solid var(--l-panel-line); }

.landing-flow-step:last-child { border-bottom: 1px solid var(--l-panel-line); }

.landing-flow-glyph { display: flex; justify-content: center; padding-top: 2px; color: var(--l-panel-ink); }

.landing-glyph { display: block; width: 26px; height: 26px; fill: currentcolor; }

.landing-flow-title { margin: 0px 0px 6px; font-size: 1.0625rem; font-weight: 600; letter-spacing: -0.01em; color: var(--l-panel-ink); }

.landing-flow-copy { max-width: 42ch; margin: 0px; color: var(--l-panel-muted); font-size: 0.9375rem; line-height: 1.55; text-wrap: pretty; }

.landing-chain { display: block; width: 100%; height: auto; }

.landing-chain--mobile { display: none; max-width: 360px; margin: 0px auto; }

.landing-chain-caption { font-family: Inter, system-ui, sans-serif; font-size: 19px; font-weight: 600; letter-spacing: 2.4px; text-transform: uppercase; fill: var(--l-panel-muted); }

.landing-chain--mobile .landing-chain-caption { font-size: 11px; letter-spacing: 1.4px; }

.landing-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 0px clamp(32px, 5vw, 72px); margin: 0px; }

.landing-spec { display: grid; grid-template-columns: 132px 1fr; gap: 24px; padding: 28px 0px; border-top: 1px solid var(--l-line); }

.landing-spec-label { margin: 0px; padding-top: 6px; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--l-muted); }

.landing-spec-body { margin: 0px; }

.landing-spec-value { margin: 0px 0px 8px; font-family: "PP Valve", Inter, sans-serif; font-size: 1.5rem; font-weight: 600; letter-spacing: 0px; line-height: 0.95; }

.landing-spec-copy { max-width: 40ch; margin: 0px; color: var(--l-muted); font-size: 0.9375rem; line-height: 1.55; text-wrap: pretty; }

.landing-spec:nth-last-child(-n+2) { border-bottom: 1px solid var(--l-line); }

.landing-dev { display: grid; grid-template-columns: minmax(0px, 0.8fr) minmax(0px, 1.2fr); gap: clamp(32px, 5vw, 64px); align-items: center; margin-top: 48px; padding: clamp(32px, 4vw, 48px); background: var(--l-panel); border-radius: 16px; color: var(--l-panel-ink); }

.landing-dev .landing-eyebrow { color: var(--l-panel-muted); }

.landing-dev .landing-eyebrow::before { background: var(--l-panel-ink); }

.landing-dev-title { margin: 0px 0px 28px; font-family: "PP Valve", Inter, sans-serif; font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 600; letter-spacing: 0px; line-height: 0.95; text-wrap: balance; }

.landing-dev-title::after { content: ""; display: block; width: 56px; height: 2px; margin-top: 14px; background: linear-gradient(90deg, rgb(255, 229, 0), rgb(255, 58, 51)); }

.landing-dev-codebox { position: relative; min-width: 0px; }

.landing-dev-code { margin: 0px; padding: 24px; overflow-x: auto; border: 1px solid var(--l-panel-line); border-radius: 12px; background: rgb(0, 0, 0); color: var(--l-panel-ink); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.8125rem; line-height: 1.6; tab-size: 2; }

.landing-dev-code code { display: inline-block; min-width: 100%; padding-right: 24px; }

.landing-noise { position: absolute; inset: 0px; z-index: 5; pointer-events: none; background: url("/textures/noise.webp") repeat; opacity: 0.42; mix-blend-mode: multiply; }

.landing-section-title::after { content: ""; display: block; width: 56px; height: 2px; margin-top: 16px; background: linear-gradient(90deg, rgb(255, 229, 0), rgb(255, 58, 51)); }

.landing-band { margin: 0px -24px; padding: clamp(88px, 8vw, 120px) 24px; background: var(--l-panel); color: var(--l-panel-ink); }

.landing-band .landing-section-title { color: var(--l-panel-ink); }

.landing-reveal { opacity: 0; transform: translateY(14px); transition: opacity var(--motion-slow) var(--motion-ease-out),transform var(--motion-slow) var(--motion-ease-out); }

.landing-reveal--visible { opacity: 1; transform: none; }

.landing-stagger > * { opacity: 0; transform: translateY(12px); transition: opacity var(--motion-slow) var(--motion-ease-out),transform var(--motion-slow) var(--motion-ease-out); }

.landing-stagger.landing-reveal--visible > * { opacity: 1; transform: none; }

.landing-stagger.landing-reveal--visible > :nth-child(2) { transition-delay: 60ms; }

.landing-stagger.landing-reveal--visible > :nth-child(3) { transition-delay: 0.12s; }

.landing-stagger.landing-reveal--visible > :nth-child(4) { transition-delay: 0.18s; }

.landing-stagger.landing-reveal--visible > :nth-child(5) { transition-delay: 0.24s; }

.landing-stagger.landing-reveal--visible > :nth-child(6) { transition-delay: 0.3s; }

.landing-stagger.landing-reveal--visible > :nth-child(n+7) { transition-delay: 0.36s; }

.landing-integration-title { margin: 0px; font-family: "PP Valve", Inter, sans-serif; font-size: 1.25rem; font-weight: 600; letter-spacing: 0px; line-height: 0.95; }

.landing-integration-tag { padding: 5px 10px; border-radius: 4px; background: color-mix(in srgb,var(--l-ink) 9%,transparent); color: var(--l-muted); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; line-height: 1; white-space: nowrap; }

.landing-integrations-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0px; padding: 0px; list-style: none; border: 1px solid var(--l-line); background: var(--l-line); }
.landing-integrations-grid > .landing-integration-cell { grid-column: auto; }

.landing-integration-cell { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 26px; background: var(--l-bg); }

.landing-integration-name { display: flex; align-items: center; gap: 12px; min-width: 0px; }

.landing-integration-mark { width: 24px; height: 24px; flex: 0 0 auto; }

.landing-methods { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 48px; align-items: start; }

.landing-methods-head { display: flex; align-items: center; gap: 12px; margin: 0px 0px 16px; }

.landing-methods-heading { margin: 0px; font-family: "PP Valve", Inter, sans-serif; font-size: 1.25rem; font-weight: 600; letter-spacing: 0px; line-height: 0.95; }

.landing-methods-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); margin: 0px; padding: 0px; list-style: none; border-top: 1px solid var(--l-line); border-left: 1px solid var(--l-line); }

.landing-method { display: flex; align-items: center; gap: 14px; min-width: 0px; padding: 18px; border-right: 1px solid var(--l-line); border-bottom: 1px solid var(--l-line); background: var(--l-bg); }

.landing-method-mark { flex: 0 0 auto; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; overflow: hidden; }

.landing-method-mark--keyline { box-shadow: rgba(17, 17, 17, 0.16) 0px 0px 0px 1.5px inset; }

.landing-method-glyph { display: block; width: calc(100% * (1 - 2 * var(--mark-inset, 0))); height: calc(100% * (1 - 2 * var(--mark-inset, 0))); object-fit: contain; }

.landing-method-text { display: flex; flex-direction: column; gap: 5px; min-width: 0px; }

.landing-method-name { font-family: "PP Valve", Inter, sans-serif; font-size: 1rem; font-weight: 600; letter-spacing: 0px; line-height: 1; overflow-wrap: anywhere; }

.landing-method-caption { color: var(--l-muted); font-size: 0.75rem; font-weight: 500; line-height: 1.2; }

.landing-methods-grid--payouts { grid-template-columns: repeat(3, minmax(0px, 1fr)); }

.landing-methods-head--crypto { margin-top: 36px; }

.landing-band .landing-integration-tag { background: color-mix(in srgb,var(--l-panel-ink) 12%,transparent); color: var(--l-panel-muted); }

.landing-token-stack { display: flex; margin: 0px; padding: 0px; list-style: none; }

.landing-token-coin { flex: 0 0 auto; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: rgb(38, 38, 38); box-shadow: 0 0 0 2px var(--l-panel); }

.landing-token-coin + .landing-token-coin { margin-left: -12px; }

.landing-token-coin img { width: 100%; height: 100%; object-fit: contain; }

.landing-token-coin--bare img { width: 58%; height: 58%; }

@media (max-width: 1279px) {
  .landing-flow--cashouts { grid-template-columns: 1fr; gap: 40px; }
}

@media (min-width: 1280px) {
  .landing-methods-grid--payouts .landing-method { padding: 28px 24px; }
  .landing-methods-grid--payouts .landing-method-mark, .landing-token-coin { width: 48px; height: 48px; }
  .landing-token-coin + .landing-token-coin { margin-left: -14px; }
}

@media (max-width: 560px) {
  .landing-methods-grid--payouts { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
  .landing-token-coin { width: 36px; height: 36px; }
}

.landing-band .landing-methods-grid, .landing-band .landing-method { border-color: var(--l-panel-line); }

.landing-band .landing-method { background: transparent; }

.landing-band .landing-method-caption { color: var(--l-panel-muted); }

.landing-networks { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0px 0px; padding: 0px; list-style: none; }

.landing-network { display: inline-flex; align-items: center; gap: 8px; padding: 5px 12px 5px 6px; border: 1px solid var(--l-line); border-radius: 999px; font-size: 0.75rem; font-weight: 600; line-height: 1.2; white-space: nowrap; }

.landing-network img { width: 18px; height: 18px; border-radius: 50%; object-fit: contain; }

.landing-plans-grid { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 24px; align-items: stretch; }

.landing-plan-card { display: flex; flex-direction: column; padding: clamp(32px, 3.2vw, 44px); background: var(--l-card); border: 1px solid var(--l-line); border-radius: 16px; }

.landing-plan-card--dark { background: var(--l-panel); border-color: var(--l-panel); color: var(--l-panel-ink); }

.landing-plan-title { margin: 0px; font-family: "PP Valve", Inter, sans-serif; font-size: clamp(1.75rem, 2.6vw, 2.25rem); font-weight: 600; letter-spacing: 0px; line-height: 0.95; }

.landing-plan-summary { max-width: 44ch; margin: 14px 0px 0px; font-size: 0.9375rem; line-height: 1.55; color: var(--l-muted); text-wrap: pretty; }

.landing-plan-card--dark .landing-plan-summary { color: var(--l-panel-muted); }

.landing-tier { margin-top: 40px; }

.landing-tier:last-of-type { margin-bottom: 32px; }

.landing-tier-name { display: flex; align-items: center; gap: 10px; margin: 0px 0px 14px; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--l-muted); }

.landing-tier-flag { padding: 4px 8px 3px; border-radius: 4px; background: linear-gradient(90deg, rgb(255, 229, 0), rgb(255, 58, 51)); color: rgb(17, 17, 17); font-size: 0.625rem; letter-spacing: 0.12em; }

.landing-tier-lead { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 12px; }

.landing-plan-cap { margin: 0px; font-size: 0.9375rem; font-weight: 500; line-height: 1.5; text-wrap: balance; }

.landing-plan-rate { margin: 0px; font-size: 0.875rem; font-weight: 500; line-height: 1; color: var(--l-muted); white-space: nowrap; }

.landing-plan-rate strong { margin-right: 3px; font-family: "PP Valve", Inter, sans-serif; font-size: 1.5rem; font-weight: 600; color: var(--l-ink); }

.landing-plan-list { margin: 16px 0px 0px; padding: 0px; list-style: none; }

.landing-plan-list li { padding: 10px 0px; border-top: 1px solid var(--l-line-soft); font-size: 0.875rem; line-height: 1.5; color: var(--l-muted); text-wrap: pretty; }

.landing-plan-list li:last-child { border-bottom: 1px solid var(--l-line-soft); }

.landing-plan-card--dark .landing-plan-list { margin: 40px 0px 32px; }

.landing-plan-card--dark .landing-plan-list li { padding: 20px 0px; border-color: var(--l-panel-line); color: var(--l-panel-muted); }

.landing-plan-card .landing-btn { width: 100%; margin-top: auto; }

.landing-plans-note { margin: 18px 2px 0px; font-size: 0.8125rem; line-height: 1.55; text-align: center; color: var(--l-muted); }

.landing-cta { display: grid; grid-template-columns: minmax(0px, 1fr) auto; gap: 48px 40px; align-items: center; padding: clamp(40px, 5vw, 64px); background: var(--l-panel); border-radius: 16px; color: var(--l-panel-ink); }

.landing-cta .landing-eyebrow { color: var(--l-panel-muted); }

.landing-cta .landing-eyebrow::before { background: var(--l-panel-ink); }

.landing-cta-title { margin: 0px; font-family: "PP Valve", Inter, sans-serif; font-size: clamp(2.25rem, 4.2vw, 3.75rem); font-weight: 600; letter-spacing: 0px; line-height: 0.95; text-wrap: balance; }

.landing-cta-title::after { content: ""; display: block; width: 56px; height: 2px; margin-top: 16px; background: linear-gradient(90deg, rgb(255, 229, 0), rgb(255, 58, 51)); }

.landing-cta-steps { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px 32px; margin: 0px; padding: 0px; list-style: none; }

.landing-cta-steps li { display: flex; align-items: baseline; gap: 12px; padding-top: 14px; border-top: 1px solid var(--l-panel-line); font-size: 0.9375rem; font-weight: 600; line-height: 1.4; }

.landing-cta-step-number { font-family: "PP Valve", Inter, sans-serif; font-size: 1.25rem; font-variant-numeric: tabular-nums; letter-spacing: 0px; color: var(--l-panel-muted); }

.landing-cta-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 16px 28px; }

.landing-cta-mail { padding: 12px 0px 2px; border-bottom: 1px solid var(--l-panel-line); color: var(--l-panel-ink); font-size: 0.9375rem; text-decoration: none; transition: border-color var(--motion-quick) var(--motion-ease-out); }

.landing-cta-mail:hover { border-color: var(--l-panel-ink); }

.landing-footer { padding: 96px 24px 48px; }

.landing-footer-wordmark { display: block; width: min(100%, 520px); max-width: 100%; height: auto; margin: 0 auto 72px; object-fit: contain; }

.landing-footer-grid { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; max-width: var(--l-container); margin: 0px auto; }

.landing-footer-cols { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); flex: 1 1 0%; gap: 48px; max-width: 1040px; }

.landing-footer-heading { margin: 0px 0px 10px; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--l-muted); }

.landing-footer-list { margin: 0px; padding: 0px; list-style: none; }

.landing-footer-list a { display: inline-block; min-width: 44px; color: var(--l-ink); text-decoration: none; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; line-height: 2; transition: color 0.2s; }

.landing-footer-list a:hover { color: var(--l-muted); }

.landing-footer-top { display: flex; padding: 8px; color: var(--l-ink); transition: opacity 0.2s; }

.landing-footer-top:hover { opacity: 0.6; }

.landing-footer-rule { height: 1px; max-width: var(--l-container); margin: 40px auto 28px; background: var(--l-line-soft); }

.landing-footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; max-width: var(--l-container); margin: 0px auto; color: var(--l-ink); font-size: 0.875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }

.landing-footer-legal { display: flex; flex-wrap: wrap; gap: 12px 32px; }

.landing-footer-legal a { color: var(--l-ink); text-decoration: none; transition: color 0.2s; }

.landing-footer-legal a:hover { color: var(--l-muted); }

.landing-footer-disclaimer { max-width: min(var(--l-container),92ch); margin: 28px max(calc((100% - var(--l-container)) / 2),0px) 0; color: var(--l-muted); font-size: 0.75rem; line-height: 1.6; }

.landing-footer-disclaimer a { color: inherit; text-decoration: underline; }

.landing-footer-disclaimer a:hover { color: var(--l-ink); }

@media (max-width: 1279px) {
  .landing-mock { padding: 0px 0px 48px 20px; }
  .landing-mock-phone { width: 193px; height: 391px; bottom: -20px; }
  .landing-mock-phone .device { transform: scale(0.45); }
}

@media (max-width: 1028px) {
  .landing-nav-inner { grid-template-columns: max-content 1fr max-content; }
  .landing-nav-links { display: none; }
  .landing:not(.terms) .landing-nav-actions { grid-column: 3; }
  .landing-nav-menu-btn { display: flex; }
  .landing-integrations-grid { grid-template-columns: repeat(3, 1fr); }
  .landing-integrations-grid > .landing-integration-cell { grid-column: auto; }
  .landing-methods { grid-template-columns: 1fr; gap: 40px; }
  .landing-hero { padding: 96px 0px 8px; }
  .landing-hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .landing-hero-visual { order: 2; max-width: 460px; width: 100%; justify-self: center; }
  .landing-mock { display: flex; justify-content: center; padding: 0px; }
  .landing-shot { display: none; }
  .landing-mock-phone { position: static; width: 260px; height: 527px; }
  .landing-mock-phone .device { transform: scale(0.6075); }
}

@media (max-width: 860px) {
  .landing-hero-grid { padding: 20px 0px; }
  .landing-section-head { margin-bottom: 32px; }
  .landing-cta { grid-template-columns: 1fr; }
  .landing main { gap: 72px; }
  .landing-flow { grid-template-columns: 1fr; gap: 40px; }
  .landing-chain { display: none; }
  .landing-chain--mobile { display: block; }
  .landing-specs { grid-template-columns: 1fr; }
  .landing-spec:nth-last-child(-n+2) { border-bottom: 0px; }
  .landing-spec:last-child { border-bottom: 1px solid var(--l-line); }
  .landing-dev { grid-template-columns: 1fr; margin-top: 72px; }
  .landing-cta-steps { grid-template-columns: 1fr 1fr; }
  .landing-cta-actions { justify-content: flex-start; }
  .landing-plans-grid { grid-template-columns: 1fr; }
  .landing-footer { padding: 64px 24px 40px; }
  .landing-footer-list a { padding: 8px 0px; }
  .landing-footer-wordmark { width: min(68vw, 520px); margin: 0 0 48px; }
  .landing-footer-cols { grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 32px 48px; }
  .landing-footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
}

@media (max-width: 560px) {
  .landing-hero-title { font-size: clamp(2rem, 10vw, 2.75rem); }
  .landing-spec { grid-template-columns: 1fr; gap: 10px; padding: 22px 0px; }
  .landing-dev-code { padding: 18px; font-size: 0.6875rem; }
  .landing-dev-codebox::after { content: ""; position: absolute; top: 1px; right: 1px; bottom: 1px; width: 32px; border-radius: 0px 12px 12px 0px; background: linear-gradient(270deg, rgb(0, 0, 0) 8px, rgba(0, 0, 0, 0)); pointer-events: none; }
  .landing-dev-title { font-size: 1.5rem; }
  .landing-cta-steps { grid-template-columns: 1fr; }
  .landing-integrations-grid { grid-template-columns: minmax(0px, 1fr); }
  .landing-integrations-grid > .landing-integration-cell { grid-column: auto; }
  .landing-integration-cell { padding: 18px 16px; }
  .landing-integration-mark { width: 22px; height: 22px; }
  .landing-methods-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); }
  .landing-method { gap: 12px; padding: 14px; }
  .landing-method-mark { width: 36px; height: 36px; border-radius: 9px; }
  .landing-subhero { margin-top: 36px; padding-top: 24px; gap: 20px; }
  .landing-subhero-value { font-size: 1.5rem; }
  .landing-subhero-label { font-size: 0.75rem; }
  .landing-cta-mail { align-self: center; }
  .landing-integration-title { font-size: 1.0625rem; }
  .landing-hero-ctas .landing-btn, .landing-cta .landing-btn { width: 100%; }
  .landing-cta-actions { flex-direction: column; align-items: stretch; width: 100%; }
  .landing-btn--small { padding: 12px 20px; min-height: 44px; }
  .landing-plan-card { padding: 24px 20px; }
}

@media (max-width: 360px) {
  .landing-hero-ctas .landing-btn { gap: 6px; padding-inline: 16px; letter-spacing: 0.08em; white-space: nowrap; }
  .landing-section-title, .landing-cta-title { font-size: 1.875rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .landing-reveal, .landing-stagger > * { opacity: 1; transform: none; }
  .landing *, .landing-skip-link { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
  .landing-btn:active { transform: none; }
}

.terms .landing-nav { position: static; padding-bottom: 20px; }

.terms .landing-footer { padding: 32px 24px; border-top: 1px solid var(--l-line-soft); }

.landing-nav-links .sol-menu-item { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; height: auto; padding: 12px 14px; border-radius: 10px; background: transparent; letter-spacing: 0px; text-transform: none; }

.landing-nav-links .sol-menu-item:hover, .landing-nav-links .sol-menu-item[aria-current="page"] { background: var(--l-bg); }

.sol-nav-mobile[open] .landing-nav-menu-btn span:first-child { transform: translateY(3.5px) rotate(45deg); }

.sol-nav-mobile[open] .landing-nav-menu-btn span:last-child { transform: translateY(-3.5px) rotate(-45deg); }

.sol .landing-nav-menu { max-height: calc(-120px + 100vh); overflow-y: auto; }

.sol-ticket-marks .landing-method-mark { width: 30px; height: 30px; border-radius: 9px; box-shadow: 0 0 0 2px var(--l-card); }

.sol-ticket-marks .landing-method-mark--keyline { box-shadow: inset 0 0 0 1.5px #11111129,0 0 0 2px var(--l-card); }

.sol-ticket-marks .landing-method-mark + .landing-method-mark { margin-left: -6px; }

.sol-chip .landing-method-mark { width: 32px; height: 32px; border-radius: 9px; }

.landing-hero-title, .landing-btn, .landing-section-title, .landing-spec-value, .landing-subhero-value, .landing-dev-title, .landing-integration-title, .landing-methods-heading, .landing-method-name, .landing-plan-title, .landing-plan-rate strong, .landing-cta-title, .sol-menu-item-name, .sol-rail-heading, .terms-title, .terms-section-title { text-transform: uppercase; }


/* —— BESO landing extras —— */
.landing-brand-text{
  display:inline-flex; align-items:baseline; gap:8px;
  font-family: Inter, "Space Grotesk", system-ui, sans-serif;
  font-weight:700; font-size:18px; letter-spacing:-0.02em; color:var(--l-ink);
  text-decoration:none;
}
.landing-brand-text .dotpay{
  font-size:11px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase;
  padding:3px 7px; border-radius:5px;
  background:color-mix(in srgb,var(--l-ink) 9%,transparent);
}
.landing-hero-grid{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);
  gap:48px; align-items:center; max-width:var(--l-container); margin:0 auto; width:100%;
}
.landing-hero-copy h1{
  font-family: Inter, "Space Grotesk", system-ui, sans-serif;
  font-size:clamp(40px,5.2vw,64px); line-height:0.98; letter-spacing:-0.04em;
  font-weight:700; margin:0 0 20px; text-transform:uppercase;
}
.landing-hero-copy h1 .mute{ color:#9a9a9a; }
.landing-hero-copy .lead{
  font-size:17px; line-height:1.55; color:var(--l-muted); max-width:42ch; margin:0 0 28px;
}
.landing-hero-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:36px; }
.landing-hero-stats{ display:flex; gap:36px; flex-wrap:wrap; }
.landing-hero-stats b{ display:block; font-size:22px; letter-spacing:-0.02em; }
.landing-hero-stats span{ color:var(--l-muted); font-size:13px; }
.landing-hero-visual{ position:relative; min-height:420px; }
.landing-mock-desk{
  position:absolute; right:0; top:20px; width:min(100%,420px);
  background:#121212; color:#fff; border-radius:20px; padding:18px 18px 22px;
  box-shadow:var(--l-shadow); font-size:12px;
}
.landing-mock-desk .amt{ font-size:28px; font-weight:600; letter-spacing:-0.03em; margin:8px 0 14px; }
.landing-mock-desk .row{ display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.08); opacity:.85; }
.landing-mock-phone{
  position:absolute; left:8%; bottom:0; width:210px;
  background:#121212; color:#fff; border-radius:28px; padding:16px 14px 18px;
  box-shadow:var(--l-shadow); border:3px solid #2a2a2a; font-size:11px; z-index:2;
}
.landing-mock-phone .grid{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:12px 0; }
.landing-mock-phone .cell{ background:#1c1c1c; border-radius:12px; padding:10px 8px; text-align:center; }
.landing-mock-phone .start{
  display:block; text-align:center; background:#fff; color:#111; border-radius:999px;
  padding:10px; font-weight:600; margin-top:8px;
}
.landing-kicker{ font-size:12px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--l-muted); margin:0 0 10px; }
.landing-h2{ font-size:clamp(28px,3.5vw,44px); line-height:1.05; letter-spacing:-0.03em; text-transform:uppercase; margin:0 0 28px; max-width:18ch; }
.landing-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.landing-step{ background:var(--l-card); border:1px solid var(--l-line-soft); border-radius:16px; padding:18px; }
.landing-step h3{ margin:0 0 8px; font-size:15px; }
.landing-step p{ margin:0; color:var(--l-muted); font-size:14px; line-height:1.45; }
.landing-rail-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.landing-rail-card{ background:var(--l-card); border:1px solid var(--l-line-soft); border-radius:18px; padding:20px; }
.landing-rail-card h3{ margin:0 0 14px; font-size:13px; letter-spacing:0.06em; }
.landing-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.landing-chip{ background:var(--l-pill); border-radius:999px; padding:8px 12px; font-size:13px; font-weight:500; }
.landing-feature-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.landing-feature{ background:var(--l-card); border:1px solid var(--l-line-soft); border-radius:16px; padding:18px; min-height:140px; }
.landing-feature b{ display:block; font-size:12px; letter-spacing:0.06em; color:var(--l-muted); margin-bottom:8px; }
.landing-feature strong{ display:block; font-size:20px; letter-spacing:-0.02em; margin-bottom:8px; }
.landing-feature p{ margin:0; color:var(--l-muted); font-size:14px; line-height:1.4; }
.landing-integ{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.landing-integ a, .landing-integ div{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  background:var(--l-card); border:1px solid var(--l-line-soft); border-radius:14px;
  padding:16px 18px; text-decoration:none; color:inherit; font-weight:600; font-size:13px; letter-spacing:0.04em;
}
.landing-code{
  background:var(--l-panel); color:var(--l-panel-ink); border-radius:18px; padding:22px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size:12.5px; line-height:1.55;
  overflow:auto; border:1px solid var(--l-panel-line);
}
.landing-plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.landing-plan{
  border-radius:18px; padding:22px; background:var(--l-card); border:1px solid var(--l-line-soft);
  display:flex; flex-direction:column; gap:12px; min-height:320px;
}
.landing-plan--dark{ background:var(--l-panel); color:var(--l-panel-ink); border-color:var(--l-panel-line); }
.landing-plan h3{ margin:0; font-size:18px; letter-spacing:-0.02em; }
.landing-plan .price{ font-size:15px; opacity:.85; }
.landing-plan ul{ margin:0; padding-left:18px; color:inherit; opacity:.85; font-size:14px; line-height:1.5; flex:1; }
.landing-plan .badge{ align-self:flex-start; font-size:11px; font-weight:700; letter-spacing:0.06em; padding:4px 8px; border-radius:999px; background:#fff; color:#111; }
.landing-cta-block{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px;
  background:var(--l-panel); color:#fff; border-radius:22px; padding:28px 32px;
}
.landing-footer{
  max-width:var(--l-container); margin:0 auto; padding:40px 24px 60px;
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px; font-size:13px;
}
.landing-footer h4{ margin:0 0 12px; font-size:11px; letter-spacing:0.08em; color:var(--l-muted); }
.landing-footer a{ display:block; color:inherit; text-decoration:none; padding:4px 0; opacity:.85; }
.landing-footer a:hover{ opacity:1; }
.landing-legal{ max-width:var(--l-container); margin:0 auto; padding:0 24px 48px; font-size:12px; color:var(--l-muted); line-height:1.5; }

/* Auth modal */
.auth-backdrop{
  position:fixed; inset:0; z-index:200; background:rgba(10,10,10,.45);
  display:flex; align-items:center; justify-content:center; padding:20px;
}
.auth-modal{
  width:min(420px,100%); background:#fff; color:#0b0b0b; border-radius:20px;
  padding:28px 26px 24px; box-shadow:0 24px 60px rgba(0,0,0,.25);
  font-family: Inter, "Space Grotesk", system-ui, sans-serif;
}
.auth-modal h2{ margin:0 0 6px; font-size:22px; letter-spacing:-0.02em; }
.auth-modal .sub{ margin:0 0 18px; color:#5b5b5b; font-size:14px; line-height:1.45; }
.auth-modal label{ display:block; font-size:12px; font-weight:600; margin:0 0 6px; }
.auth-modal input{
  width:100%; box-sizing:border-box; border:1px solid rgba(18,18,18,.14); border-radius:12px;
  padding:12px 14px; font-size:15px; margin-bottom:12px; background:#fafaf7;
}
.auth-modal .row-btns{ display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.auth-modal .btn-auth{
  appearance:none; border:0; border-radius:12px; padding:12px 16px; font-weight:600; font-size:14px; cursor:pointer;
}
.auth-modal .btn-auth.pri{ background:#111; color:#fff; }
.auth-modal .btn-auth.sec{ background:#ecebe3; color:#111; }
.auth-modal .btn-auth.ghost{ background:transparent; color:#5b5b5b; }
.auth-modal .dev-code{
  margin-top:10px; padding:10px 12px; border-radius:12px; background:#fff7d6; border:1px solid #f0e0a0;
  font-size:13px; line-height:1.4;
}
.auth-modal .dev-code code{ font-size:16px; font-weight:700; letter-spacing:0.12em; }
.auth-modal .x{
  position:absolute; right:14px; top:10px; border:0; background:transparent; font-size:22px; cursor:pointer; color:#888;
}
.auth-modal-wrap{ position:relative; }

@media (max-width: 960px){
  .landing-hero-grid, .landing-steps, .landing-feature-grid, .landing-plans, .landing-rail-grid, .landing-integ{ grid-template-columns:1fr 1fr; }
  .landing-hero-visual{ min-height:360px; }
}
@media (max-width: 720px){
  .landing-nav-inner{ grid-template-columns:1fr auto; }
  .landing-nav-links{ display:none; }
  .landing-hero-grid, .landing-steps, .landing-feature-grid, .landing-plans, .landing-rail-grid, .landing-integ{ grid-template-columns:1fr; }
  .landing-mock-desk{ position:relative; right:auto; top:auto; width:100%; }
  .landing-mock-phone{ display:none; }
  .landing-hero-visual{ min-height:auto; }
}


/* —— fx11 header fit + BESO mock composition —— */
.landing-btn { white-space: nowrap; }
.landing-nav-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:nowrap; flex-shrink:0; min-width:0; }
.landing-nav-actions .landing-btn { white-space:nowrap; flex-shrink:0; }
.landing-nav-actions .landing-btn--ghost {
  background: transparent; border-color: transparent; color: var(--l-ink);
  padding: 0 12px; min-height: 40px; height: 40px; letter-spacing: 0.1em;
}
.landing-nav-actions .landing-btn--ghost:hover { background: var(--l-pill); }
.landing-nav-inner { grid-template-columns: auto 1fr auto; gap: 16px; }
.landing-brand-word {
  display:inline-flex; align-items:center; gap:9px; text-decoration:none; color:inherit;
  font-family: Inter, "Space Grotesk", system-ui, sans-serif;
  font-size: 15px; font-weight: 700; letter-spacing: -0.02em; line-height: 1; white-space: nowrap;
}
.landing-brand-word .landing-brand-badge { margin-left: 2px; }
.landing-hero-copy, .landing-hero-content { display:flex; flex-direction:column; min-width:0; }
.landing-hero-actions { display:flex; flex-wrap:wrap; gap:14px; } /* alias */
.landing-hero-stats { display:grid; grid-template-columns:auto auto auto; justify-content:start; gap:clamp(24px,3vw,48px); margin-top:48px; padding-top:28px; border-top:1px solid var(--l-line); }
.landing-hero-stats > div { display:flex; flex-direction:column; gap:6px; }
.landing-hero-stats b { font-family:"PP Valve", Inter, sans-serif; font-size:clamp(1.75rem,2.6vw,2.25rem); font-weight:600; line-height:.95; }
.landing-hero-stats span { max-width:24ch; font-size:.875rem; line-height:1.4; color:var(--l-muted); }
.landing-hero h1, .landing-hero-title { text-transform: uppercase; }
.landing-mock-desk { display:none !important; } /* replaced by landing-shot */
.landing-shot { display:block; width:100%; height:auto; border-radius:12px; background:var(--l-card); box-shadow:0 24px 52px #0a0a0a29; }
.landing-mock { position:relative; width:100%; padding:0 0 64px 24px; }
.landing-mock-phone { position:absolute; left:0; bottom:-24px; width:235px; height:477px; margin:0; filter:drop-shadow(rgba(10,10,10,.32) 0 26px 48px); z-index:2; overflow:visible; }
.landing-mock-phone .device { transform:scale(0.55); transform-origin:left top; }
.landing-mock-phone .device-screen { object-fit:cover; width:390px; height:830px; }
.landing-noise { position:absolute; inset:0; z-index:5; pointer-events:none; background:url(/textures/noise.webp) repeat; opacity:.42; mix-blend-mode:multiply; }
@media (max-width: 1100px) {
  .landing-nav-links { gap: 4px; }
  .landing-nav-links a { padding: 0 12px; letter-spacing: 0.06em; font-size: 0.75rem; }
  .landing-nav-actions .landing-btn--small { padding: 0 14px; font-size: 0.75rem; letter-spacing: 0.06em; }
  .landing-brand-word { font-size: 13px; }
}

/* === fx11b: kill legacy mock-phone styles that break BESO device composition === */
.landing-mock-phone {
  position: absolute !important;
  left: 0 !important;
  bottom: -24px !important;
  top: auto !important;
  right: auto !important;
  width: 235px !important;
  height: 477px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: inherit !important;
  font-size: inherit !important;
  filter: drop-shadow(rgba(10, 10, 10, 0.32) 0px 26px 48px);
  z-index: 2 !important;
  overflow: visible !important;
}
.landing-mock-phone .device {
  transform: scale(0.55);
  transform-origin: left top;
}
.landing-mock-phone .device-screen {
  object-fit: cover;
  width: 390px;
  height: 830px;
}
.landing-mock-phone .grid,
.landing-mock-phone .cell,
.landing-mock-phone .start { display: none !important; }

/* Header CTAs: always single-line, fit */
.landing-nav-actions {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.landing-nav-actions .landing-btn {
  white-space: nowrap !important;
  flex-shrink: 0;
  height: 40px;
  min-height: 40px;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1;
}
.landing-nav-actions .landing-btn--small {
  padding-left: 16px;
  padding-right: 16px;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
}
.landing-nav-actions .landing-btn--ghost {
  padding-left: 12px;
  padding-right: 12px;
  background: transparent;
  border-color: transparent;
  color: var(--l-ink);
}
.landing-brand-word {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}


/* fx12: kill legacy footer grid / block-link that collided with BESO footer */
.landing-footer {
  display: block !important;
  grid-template-columns: none !important;
}
.landing-footer-grid {
  display: flex !important;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
  max-width: var(--l-container);
  margin: 0 auto;
}
.landing-footer-cols {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  flex: 1 1 0%;
  gap: 48px;
  max-width: 1040px;
}
.landing-footer-list a {
  display: inline-block !important;
  padding: 0 !important;
  opacity: 1 !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 600;
  line-height: 2;
  white-space: nowrap;
}
.landing-footer-wordmark {
  display: block;
  width: min(100%, 520px);
  max-width: 100%;
  height: auto;
  margin: 0 auto 72px;
  object-fit: contain;
}
img.landing-footer-wordmark {
  font-size: 0;
  letter-spacing: 0;
  line-height: 0;
  color: transparent;
}
.landing-footer-cols > div {
  min-width: 0;
}
@media (max-width: 900px) {
  .landing-footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 32px 40px; }
}
@media (max-width: 560px) {
  .landing-footer-cols { grid-template-columns: 1fr !important; }
}

/* fx12 hero: desktop-only mock, no phone */
.landing-hero-visual .landing-mock-phone,
.landing-hero-visual .device-iphone-14 { display: none !important; }
.landing-hero-visual .landing-mock { position: relative; padding: 0; }
.landing-hero-visual .landing-shot {
  width: 100%;
  max-width: 640px;
  height: auto;
  border-radius: 20px;
  box-shadow: 0 24px 80px rgba(0,0,0,.12);
  display: block;
}
.landing-hero-grid { align-items: center; }

/* fx12 ZK flow diagram */
.landing-zk-flow { width: 100%; max-width: none; margin: 0; }
.landing-zk-flow svg { width: 100%; height: auto; display: block; overflow: visible; }
.landing-zk-flow .zk-flow-line {
  fill: none;
  stroke: rgba(255,255,255,.55);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-dasharray: 8 10;
  animation: zk-dash 1.4s linear infinite;
}
.landing-zk-flow .zk-flow-line-solid {
  fill: none;
  stroke: #fff;
  stroke-width: 3;
  stroke-linecap: round;
}
.landing-zk-flow .zk-flow-glow {
  fill: none;
  stroke: rgba(255,200,80,.45);
  stroke-width: 6;
  stroke-linecap: round;
  filter: blur(2px);
  animation: zk-pulse 2.2s ease-in-out infinite;
}
@keyframes zk-dash { to { stroke-dashoffset: -36; } }
@keyframes zk-pulse { 0%,100% { opacity: .35; } 50% { opacity: .85; } }
.landing-zk-chip-label { font-size: 8.5px; font-weight: 600; fill: rgba(255,255,255,.9); letter-spacing: -0.02em; }
.landing-zk-chip-cap { font-size: 8px; font-weight: 500; fill: rgba(255,255,255,.48); }
.landing-zk-node-label { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; fill: rgba(255,255,255,.78); }
.landing-zk-node-sub { font-size: 10px; font-weight: 500; letter-spacing: .04em; fill: rgba(255,255,255,.42); }
/* fx13 ZK: single row → down to ZK → YOU */
.landing-zk-flow { width: 100%; max-width: none; margin: 0; }
.landing-flow-visual.landing-zk-flow { justify-self: stretch; }
.landing-zk-flow .zk-flow-line { stroke-width: 2; stroke-dasharray: 6 9; }
.landing-zk-flow .zk-flow-glow { stroke-width: 5; }
.landing-zk-wallet image { pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
  .landing-zk-flow .zk-flow-line, .landing-zk-flow .zk-flow-glow { animation: none; }
}

/* fx12 desktop-only mock */
.landing-mock--desktop-only { padding: 0 !important; min-height: 0 !important; }
.landing-mock--desktop-only .landing-shot { position: relative !important; left: auto !important; top: auto !important; transform: none !important; }

/* fx12 how: dark band like BESO so white ZK strokes + panel text readable */
#how-it-works.landing-section {
  position: relative;
  z-index: 0;
  max-width: var(--l-container);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: clamp(88px, 8vw, 120px) 0;
  background: transparent;
  color: var(--l-panel-ink);
}
/* full-bleed dark band, content stays on container like nav/hero */
#how-it-works.landing-section::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: var(--l-panel);
  z-index: -1;
  pointer-events: none;
}
#how-it-works .landing-section-title,
#how-it-works .landing-eyebrow { color: var(--l-panel-ink); }
#how-it-works .landing-eyebrow::before { background: var(--l-panel-ink); }
#how-it-works .landing-section-lede { color: var(--l-panel-muted); }

/* fx14 ZK: larger marks, fill right column, align to page container edge */
#how-it-works .landing-flow {
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  width: 100%;
  max-width: none;
  margin: 0;
}
#how-it-works .landing-flow-visual,
#how-it-works .landing-zk-flow {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  justify-self: stretch !important;
  display: block;
}
#how-it-works .landing-zk-flow svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}
#how-it-works .landing-zk-chip-label {
  font-size: 19px;
  font-weight: 650;
  fill: rgba(255,255,255,.92);
  letter-spacing: -0.02em;
}
#how-it-works .landing-zk-chip-cap {
  font-size: 16px;
  font-weight: 500;
  fill: rgba(255,255,255,.58);
}
#how-it-works .landing-zk-node-label {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  fill: rgba(255,255,255,.88);
}
#how-it-works .landing-zk-node-sub {
  font-size: 14px;
  font-weight: 500;
  fill: rgba(255,255,255,.48);
}
#how-it-works .landing-zk-flow .zk-flow-line {
  stroke-width: 2.75;
  stroke-dasharray: 7 10;
}
#how-it-works .landing-zk-flow .zk-flow-line-solid { stroke-width: 3.5; }
#how-it-works .landing-zk-flow .zk-flow-glow { stroke-width: 7; }
@media (max-width: 900px) {
  #how-it-works .landing-zk-chip-label { font-size: 15px; }
  #how-it-works .landing-zk-chip-cap { font-size: 13px; }
}

/* SVG font sizes in user units ≈ 13/11px at ~700px column (vb 1000) */
#how-it-works .landing-zk-chip-label {
  font-size: 19px;
  font-weight: 650;
  fill: rgba(255,255,255,.92);
  letter-spacing: -0.02em;
}
#how-it-works .landing-zk-chip-cap {
  font-size: 16px;
  font-weight: 500;
  fill: rgba(255,255,255,.58);
}
#how-it-works .landing-zk-node-label {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  fill: rgba(255,255,255,.88);
}
#how-it-works .landing-zk-node-sub {
  font-size: 14px;
  font-weight: 500;
  fill: rgba(255,255,255,.48);
}
#how-it-works .landing-zk-flow .zk-flow-line {
  stroke-width: 2.75;
  stroke-dasharray: 7 10;
}
#how-it-works .landing-zk-flow .zk-flow-line-solid { stroke-width: 3.5; }
#how-it-works .landing-zk-flow .zk-flow-glow { stroke-width: 7; }
@media (max-width: 900px) {
  #how-it-works .landing-zk-chip-label { font-size: 15px; }
  #how-it-works .landing-zk-chip-cap { font-size: 13px; }
}

/* landing-fix1: no footer wordmark */
.landing-footer-wordmark{display:none!important;}


.landing-integration-link { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; color: inherit; text-decoration: none; }
.landing-integration-link:hover .landing-integration-title { text-decoration: underline; text-underline-offset: 3px; }
.landing-integration-cell:has(.landing-integration-link) { padding: 0; }
.landing-integration-cell .landing-integration-link { padding: 26px; }
@media (max-width: 720px) {
  .landing-integration-cell .landing-integration-link { padding: 18px 16px; }
}
