/* BEAM EDGE v2 theme (css). Scoped to [data-be-theme="v2"] sections only: the first page (hero + header) never matches.
   No :root, body, * or bare-section selectors. Tokens live on the scoped wrapper. */
[data-be-theme="v2"]{
 --be-white:#fff;--be-peach:#fff2e6;--be-blue:#e9f0ff;--be-lilac:#f2ebff;--be-pink:#ffe9f2;
 --be-navy:var(--primary);--be-orange:var(--orange);--be-purple:var(--violet);--be-magenta:var(--magenta);
 --be-text:var(--primary);--be-muted:#4d567c;--be-orange-text:#9c3300;--be-border:#e6e9f8;
 --be-shadow:0 6px 20px rgba(16,29,75,.07);--be-accent:var(--blue);
 position:relative;overflow:clip}
[data-be-theme="v2"]>.wrap{position:relative;z-index:1}

/* ---- reusable gradients (one per tone; all start and end near white so seams stay soft) ---- */
[data-be-theme="v2"][data-be-tone="white"]{background:radial-gradient(ellipse 45% 35% at 100% 0,rgba(255,236,218,.7),transparent 70%),#fff}
[data-be-theme="v2"][data-be-tone="pink"] .eyebrow{color:#9c3300}
[data-be-theme="v2"][data-be-tone="peach"]{background:radial-gradient(ellipse 65% 55% at 100% 0,#ffd7b8,transparent 72%),radial-gradient(ellipse 60% 55% at 0 100%,#ffd9e8,transparent 72%),linear-gradient(180deg,#fff7ef,#ffeedd 50%,#fff7ef)}
[data-be-theme="v2"][data-be-tone="blue"]{background:radial-gradient(ellipse 65% 55% at 0 0,#cfdfff,transparent 72%),radial-gradient(ellipse 55% 50% at 100% 100%,#e2d4ff,transparent 72%),linear-gradient(180deg,#f4f7ff,#e6eeff 50%,#f4f7ff)}
[data-be-theme="v2"][data-be-tone="lilac"]{background:radial-gradient(ellipse 65% 55% at 100% 0,#e0cfff,transparent 72%),radial-gradient(ellipse 55% 50% at 0 100%,#ffd3e6,transparent 72%),linear-gradient(180deg,#faf6ff,#f0e6ff 50%,#faf6ff)}
[data-be-theme="v2"][data-be-tone="pink"]{background:radial-gradient(ellipse 65% 55% at 50% 0,#ffcfb5,transparent 72%),radial-gradient(ellipse 55% 55% at 100% 100%,#ffcce2,transparent 72%),linear-gradient(180deg,#fff6f1,#ffe9e0 55%,#fff6f1)}
[data-be-theme="v2"][data-be-tone="navy"]{color:#fff;background:radial-gradient(ellipse 50% 60% at 100% 0,rgba(120,80,110,.45),transparent 70%),radial-gradient(ellipse 45% 50% at 0 100%,rgba(30,60,160,.5),transparent 70%),linear-gradient(#0c1a52,#040a2a)}
[data-be-theme="v2"][data-be-tone="navy"]::before{content:"";position:absolute;left:0;right:0;top:0;height:70px;z-index:0;pointer-events:none;background:linear-gradient(rgba(233,240,255,.9),rgba(233,240,255,0))}

/* ---- light tones: text, eyebrow, buttons (sections that used to be dark now read on light) ---- */
[data-be-theme="v2"]:not([data-be-tone="navy"]){color:var(--be-text)}
[data-be-theme="v2"]:not([data-be-tone="navy"]) .eyebrow{color:var(--be-orange-text)}
[data-be-theme="v2"]:not([data-be-tone="navy"]) .sub,
[data-be-theme="v2"]:not([data-be-tone="navy"]) .card p,
[data-be-theme="v2"]:not([data-be-tone="navy"]) .mission small,
[data-be-theme="v2"]:not([data-be-tone="navy"]) .a p{color:var(--be-muted)}
[data-be-theme="v2"]:not([data-be-tone="navy"]) .small-it{color:var(--be-muted)}
[data-be-theme="v2"]:not([data-be-tone="navy"]) .flow b{color:#8d96c6}
[data-be-theme="v2"]:not([data-be-tone="navy"]) .btn-out{border-color:var(--primary);color:var(--primary)}
[data-be-theme="v2"]:not([data-be-tone="navy"]) .btn-out:hover{background:var(--primary);color:#fff}
[data-be-theme="v2"]:not([data-be-tone="navy"]) .more{color:var(--be-orange-text)}
[data-be-theme="v2"] .btn-orange{background:#c93f00}  /* white text now >= 4.5:1 */

/* ---- cards: white / faintly tinted, colour comes from a thin accent edge ---- */
[data-be-theme="v2"]:not([data-be-tone="navy"]) .card{background:linear-gradient(180deg,#fff,#fbfcff);border-color:var(--be-border);box-shadow:var(--be-shadow),inset 0 3px 0 var(--be-accent)}
[data-be-theme="v2"] :is(.grid>.card,.values>.card,.side>.card):nth-child(5n+1),[data-be-theme="v2"] .steps>.step:nth-child(5n+1) .card{--be-accent:var(--blue)}
[data-be-theme="v2"] :is(.grid>.card,.values>.card,.side>.card):nth-child(5n+2),[data-be-theme="v2"] .steps>.step:nth-child(5n+2) .card{--be-accent:var(--violet)}
[data-be-theme="v2"] :is(.grid>.card,.values>.card,.side>.card):nth-child(5n+3),[data-be-theme="v2"] .steps>.step:nth-child(5n+3) .card{--be-accent:var(--magenta)}
[data-be-theme="v2"] :is(.grid>.card,.values>.card,.side>.card):nth-child(5n+4),[data-be-theme="v2"] .steps>.step:nth-child(5n+4) .card{--be-accent:var(--orange)}
[data-be-theme="v2"] :is(.grid>.card,.values>.card,.side>.card):nth-child(5n+5),[data-be-theme="v2"] .steps>.step:nth-child(5n+5) .card{--be-accent:var(--amber)}
[data-be-theme="v2"] .valprop{background:linear-gradient(135deg,#f3f0ff,#fff1ea);border-color:var(--be-border)}

/* ---- decorative journey layer (created by be-scroll.js; aria-hidden, behind content) ---- */
.be-path,.be-cluster,.be-glow{position:absolute;pointer-events:none;z-index:0}
.be-path{left:0;top:0;width:100%;height:100%;overflow:visible}
.be-path path{fill:none;stroke:url(#beGrad);stroke-width:1.6;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.3}
.be-cluster{top:clamp(24px,5%,60px);width:clamp(170px,26vw,330px);aspect-ratio:100/60;opacity:.6}
.be-cluster.r{right:2%}.be-cluster.l{left:2%}
.be-cluster line,.be-cluster path.be-l{stroke:#6a79d8;stroke-width:1;fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.55}
[data-be-tone="navy"] .be-cluster path.be-l{stroke:#a9b6ff}
.be-cluster circle{stroke:none}
.be-glow{left:50%;top:50%;width:70vw;height:70vw;margin:-35vw 0 0 -35vw;border-radius:50%;opacity:.55;will-change:transform;
 background:radial-gradient(circle,var(--be-glow,rgba(120,100,240,.16)) 0,rgba(255,255,255,0) 65%)}
[data-be-tone="peach"] .be-glow,[data-be-tone="pink"] .be-glow{--be-glow:rgba(255,140,80,.16)}
[data-be-tone="blue"] .be-glow{--be-glow:rgba(70,110,240,.15)}
[data-be-tone="navy"] .be-glow{--be-glow:rgba(150,110,255,.22);opacity:.8}
@media (max-width:700px){
 .be-cluster.m{top:auto;bottom:6px;width:clamp(110px,30vw,150px);opacity:.4}
 [data-be-theme="v2"] a,[data-be-theme="v2"] button,[data-be-theme="v2"] .card{-webkit-tap-highlight-color:transparent}
 [data-be-theme="v2"] .more{display:inline-flex;align-items:center;min-height:44px;margin-top:6px}
 [data-be-theme="v2"] .q{min-height:56px}
}
@media (max-width:860px){main~.foot a{display:flex;align-items:center;min-height:44px}}
@media (prefers-reduced-motion:reduce){.be-glow{will-change:auto}}
