/*!
 * SAM Animated Beam: plain JS/CSS port for SAM landing pages (no React, no Tailwind, no framer-motion).
 * Ported from Magic UI, listed on 21st.dev: https://21st.dev/@dillionverma/components/animated-beam
 * Original source: https://github.com/magicuidesign/magicui (apps/www/registry/magicui/animated-beam.tsx)
 *
 * MIT License
 *
 * Copyright (c) Magic UI
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

/* Expects the page tokens: --card --line --ink --muted --orange --gold --tint --mono (fallbacks included).
   Optional overrides on .beamstage: --beam-start, --beam-stop, --beam-path */
.beamstage{--beam-start:var(--orange,#EC5022);--beam-stop:var(--gold,#D0A13C);--beam-path:var(--ink,#141311);position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0 40px;max-width:820px;margin:0 auto;padding:28px 12px}
.beamsvg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}
.beamcol{display:flex;flex-direction:column;gap:34px;position:relative;z-index:1}
.beamcol.l{align-items:flex-start}.beamcol.r{align-items:flex-end}
.bnode{display:flex;align-items:center;gap:12px}
.beamcol.r .bnode{flex-direction:row-reverse}
.bnode .bic2{width:58px;height:58px;border-radius:16px;background:var(--card,#fff);border:1px solid var(--line,#E7E5DE);box-shadow:0 6px 20px rgba(20,19,17,.07);display:flex;align-items:center;justify-content:center;flex:none}
.bnode .bic2 svg{width:28px;height:28px;display:block}
.bnode b{font-family:var(--mono,'IBM Plex Mono',monospace);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted,#8B897F);white-space:nowrap}
.beamhub{position:relative;z-index:1;width:132px;height:132px;border-radius:50%;background:var(--card,#fff);border:2px solid var(--orange,#EC5022);box-shadow:0 0 0 8px var(--tint,#FDEEE8),0 18px 50px rgba(236,80,34,.22);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto}
.beamhub::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(236,80,34,.35);animation:sambeam-hubpulse 2.6s ease-out infinite}
.beamhub .mark{font-weight:900;font-size:34px;line-height:1;letter-spacing:-.04em;color:var(--ink,#141311)}
.beamhub .mark i{font-style:normal;color:var(--orange,#EC5022)}
.beamhub .cap{font-family:var(--mono,'IBM Plex Mono',monospace);font-size:8.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted,#8B897F);margin-top:6px}
@keyframes sambeam-hubpulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.22);opacity:0}}
/* Phones: tools in a row above and below SAM, beams run vertically (the JS switches at the same 600px breakpoint) */
@media(max-width:600px){
  .beamstage{grid-template-columns:1fr;gap:56px 0;padding:6px 0}
  .beamcol{flex-direction:row;justify-content:space-between;gap:6px}
  .beamcol.l,.beamcol.r{align-items:flex-start}
  .beamcol.r .bnode,.bnode{flex-direction:column;gap:8px;width:31%}
  .bnode .bic2{width:50px;height:50px;border-radius:14px}
  .bnode .bic2 svg{width:24px;height:24px}
  .bnode b{font-size:9px;letter-spacing:.1em}
  .beamhub{width:104px;height:104px}
  .beamhub .mark{font-size:28px}
}
@media(prefers-reduced-motion:reduce){.beamhub::before{animation:none;display:none}}
