/* Beam website: shared styles for every page (tokens, type, layout, nav, footer, sections).
   Edit here, never per page. Page-only styles go in a <style> block in that page's head. */
/* Asset Intelligence · design pass 1. Site chrome and tokens are the homepage's (homepage-design.html). */
:root{
  --void:#0B1227; --deep:#10193A; --night:#070B1A; --panel:#172152; --rule-d:rgba(255,255,255,.1);
  --paper:#F6F8FD; --mist:#EEF2FB; --white:#FFFFFF; --line:#DCE3F4; --line-2:#C3CEEA;
  --ink:#0B1024; --text:#1B2340; --muted:#525D87; --dim:#7B86AE;
  --on:#EEF1FF; --on-muted:#B7C0E2; --on-dim:#8B96C2;
  --blue:#1371FE; --blue-700:#0B5CD6; --cyan:#38BDF8; --glow:#8FDCFF;
  --green:#34D399; --amber:#FBBF24; --violet:#A78BFA; --pink:#F472B6; --teal:#2DD4BF;
  --sans:Poppins,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --r-btn:10px; --r-card:20px; --r-panel:28px;
  --pad:clamp(72px,9vw,128px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}
.wrap{max-width:1240px;margin:0 auto;padding-inline:24px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* type */
.h1{font-size:clamp(2.5rem,5.6vw,4.75rem);font-weight:700;line-height:1.03;letter-spacing:-.032em;text-wrap:balance}
.h2{font-size:clamp(1.9rem,3.5vw,3rem);font-weight:700;line-height:1.08;letter-spacing:-.028em;color:var(--ink);text-wrap:balance}
.h3{font-size:1.22rem;font-weight:600;line-height:1.3;letter-spacing:-.012em;color:var(--ink)}
.lede{font-size:1.09rem;line-height:1.65;color:var(--muted);max-width:56ch}
.kicker{display:block;font-size:.9rem;font-weight:600;color:var(--blue);margin-bottom:14px}
.grad{background:linear-gradient(92deg,#8FDCFF 0%,#38BDF8 40%,#1371FE 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.18em;margin-bottom:-.18em}
.soft{color:var(--dim)}
.dark{background:var(--void);color:var(--on)}
.dark .h2{color:#fff}
.dark .lede{color:var(--on-muted)}
.dark .kicker{color:var(--glow)}
/* buttons and links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:var(--r-btn);font-weight:600;font-size:.95rem;line-height:1.2;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 30px rgba(19,113,254,.36)}
.btn-primary:hover{background:#2A80FF;box-shadow:0 12px 36px rgba(19,113,254,.5)}
.btn-ghost{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.04);color:#fff}
.btn-ghost:hover{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.08)}
.btn-line{border-color:var(--line-2);background:#fff;color:var(--ink)}
.btn-line:hover{border-color:var(--ink)}
.btn-sm{padding:9px 16px;font-size:.88rem}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;color:var(--blue)}
.link svg{width:16px;height:16px;transition:transform .2s}
.link:hover svg{transform:translateX(3px)}
.dark .link{color:var(--glow)}
/* nav: two floating pills, card menus under them */
.nav{position:fixed;top:14px;left:0;right:0;z-index:50;pointer-events:none}
.nav .wrap{position:relative;display:flex;justify-content:space-between;gap:12px}
.pill{pointer-events:auto;display:flex;align-items:center;height:58px;padding:0 9px 0 22px;border-radius:29px;background:rgba(6,8,18,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.09);box-shadow:0 12px 40px rgba(4,8,24,.28);color:#fff}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:1.08rem;letter-spacing:-.01em;margin-right:14px}
.brand img{height:24px;width:auto}
.brand svg{width:26px;height:26px;flex:none}
.brand>span{white-space:nowrap}
.nav-links{display:flex;gap:2px}
.nav-links>*{appearance:none;border:0;background:transparent;cursor:pointer;padding:9px 15px;border-radius:999px;font-size:.92rem;font-weight:500;line-height:1.35;color:#E3E8F8;transition:background .18s,color .18s}
.nav-links>*:hover{background:rgba(255,255,255,.1);color:#fff}
.nav-links>[aria-expanded="true"]{background:var(--blue);color:#fff}
.pill.r{padding-left:9px;gap:2px}
.pill.r .login{padding:9px 16px;border-radius:999px;font-size:.92rem;font-weight:500;color:#E3E8F8;transition:background .18s}
.pill.r .login:hover{background:rgba(255,255,255,.1);color:#fff}
.pill.r .btn{box-shadow:none;border-radius:999px;padding:11px 20px;font-size:.92rem}
.menu-btn{display:none;width:40px;height:40px;border:0;background:transparent;border-radius:50%;cursor:pointer;align-items:center;justify-content:center;color:#fff}
.menu-btn svg{width:20px;height:20px}
.menu-btn .x{display:none}
.menu-btn[aria-expanded="true"] .x{display:block}
.menu-btn[aria-expanded="true"] .bars{display:none}

.scrim{position:fixed;inset:0;z-index:49;background:rgba(7,11,26,.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s}
.scrim.on{opacity:1;visibility:visible;transition:opacity .25s}
.mega{pointer-events:auto;position:absolute;z-index:2;top:72px;left:24px;right:24px;height:0;border-radius:26px;background:var(--white);color:var(--text);box-shadow:0 34px 90px rgba(4,8,24,.4),0 0 0 1px rgba(11,16,36,.05);overflow:hidden;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,height .3s cubic-bezier(.3,.7,.2,1),visibility 0s .2s}
.mega.on{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s,height .3s cubic-bezier(.3,.7,.2,1)}
.mega-panel{position:absolute;top:0;left:0;width:100%;padding:38px 40px 40px;opacity:0;visibility:hidden;transition:opacity .16s,visibility 0s .16s}
.mega-panel.on{opacity:1;visibility:visible;transition:opacity .22s .08s}
.mg{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.9fr) minmax(0,1.3fr) minmax(0,1fr);gap:40px}
.mg.even{grid-template-columns:minmax(0,1.06fr) repeat(3,minmax(0,1fr))}
.mg-intro h3{font-size:1.9rem;font-weight:600;letter-spacing:-.025em;line-height:1.1;color:var(--ink)}
.mg-intro p{font-size:.95rem;line-height:1.55;color:var(--muted);margin-top:12px;max-width:27ch}
.mg-quick{margin-top:22px;padding-top:14px;border-top:1px solid var(--line);display:grid;gap:2px}
.mg-quick a{display:flex;align-items:center;gap:12px;padding:9px 10px;margin-inline:-10px;border-radius:10px;font-size:.95rem;font-weight:500;color:var(--ink);transition:background .15s}
.mg-quick a:hover{background:var(--mist)}
.mg-quick svg{width:18px;height:18px;color:var(--blue);flex:none}
.mg-col h4{font-size:.98rem;font-weight:600;color:var(--ink);margin-bottom:8px}
.mg-col h4.gap{margin-top:26px}
.mg-col a,.mg-col .off{display:block;padding:7px 10px;margin-inline:-10px;border-radius:9px;font-size:.93rem;line-height:1.4;color:var(--text);transition:background .15s,color .15s}
.mg-col a:hover{background:var(--mist);color:var(--blue-700)}
.mg-col .off{color:var(--dim);cursor:default}
.mg-col .off .chip{display:table;margin:4px 0 0}
.chip{display:inline-block;margin-left:8px;font-size:.68rem;font-weight:600;line-height:1.5;border-radius:999px;padding:1px 9px;background:rgba(19,113,254,.11);color:var(--blue-700);vertical-align:1px;white-space:nowrap}
.chip.grey{background:var(--mist);color:var(--muted)}
/* coming soon modules in the menus: quieter than live ones, and they open the coming-soon popup */
.mg-col a.soon{color:var(--muted)}.mg-col a.soon .chip{display:table;margin:4px 0 0}
.drawer .in a.soon{color:#8B96C2}.drawer .in a.soon .chip{background:rgba(255,255,255,.08);color:var(--on-muted)}
.mg-watch{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--paper);transition:border-color .2s,box-shadow .2s;align-self:start}
.mg-watch:hover{border-color:var(--line-2);box-shadow:0 16px 40px rgba(27,35,64,.12)}
.mg-watch .thumb{position:relative;display:block;aspect-ratio:16/10;background:#0E1736;overflow:hidden}
.mg-watch .thumb img{width:100%;height:100%;object-fit:cover;object-position:28% 62%}
.mg-watch .play{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;box-shadow:0 10px 30px rgba(4,8,24,.4);transition:transform .2s}
.mg-watch:hover .play{transform:scale(1.07)}
.mg-watch .play svg{width:18px;height:18px;color:var(--blue);margin-left:3px}
.mg-watch b{font-size:.98rem;font-weight:600;color:var(--ink);padding:14px 16px 0}
.mg-watch small{font-size:.85rem;color:var(--muted);padding:2px 16px 16px}

.mg.mg-who{grid-template-columns:minmax(0,1.06fr) minmax(0,.84fr) minmax(0,2.26fr);gap:36px}
.rail{display:grid;gap:4px;align-content:start}
.rail button{appearance:none;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:11px 14px;border-radius:12px;font-size:.98rem;font-weight:500;color:var(--ink);transition:background .15s,color .15s}
.rail button svg{width:14px;height:14px;color:var(--dim);flex:none;transition:transform .2s,color .15s}
.rail button:hover{background:var(--paper)}
.rail button[aria-selected="true"]{background:rgba(19,113,254,.1);color:var(--blue-700);font-weight:600}
.rail button[aria-selected="true"] svg{color:var(--blue);transform:translateX(2px)}
.who-panes{border-left:1px solid var(--line);padding-left:36px;display:grid}
.who-pane{grid-area:1/1;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:30px;opacity:0;visibility:hidden;transition:opacity .15s,visibility 0s .15s}
.who-pane.on{opacity:1;visibility:visible;transition:opacity .2s .05s}
.who-pane .pd{font-size:.9rem;line-height:1.5;color:var(--muted);margin:-2px 0 10px;max-width:26ch}
.who-pane .more{font-weight:600;color:var(--ink);margin-top:8px}
.who-pane .more span{border-bottom:1.5px solid var(--ink);padding-bottom:1px}
.who-pane .more:hover span{border-color:var(--blue-700)}
.who-pane figure>img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px;border:1px solid var(--line);background:#F1F5FC}
.who-pane figure>.wg{aspect-ratio:16/10;border-radius:16px;border:1px solid var(--line)}
/* who we serve: card graphics (version A landmark tiles), scoped to .wg so the hero and What Beam manages keep their own styles */
/* the image well: replaces the <img> in .who-card, same 16:11 box */
.wg{position:relative;width:100%;aspect-ratio:16/11;container-type:inline-size;overflow:hidden;
  background:radial-gradient(120% 95% at 50% 62%,#FFFFFF 0%,#F4F7FD 48%,#E9EEF9 100%)}
.wg>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.wg .dsh{fill:rgba(27,40,90,.16);filter:blur(10px)}
  column-gap:.55em;align-items:center;max-width:64%;padding:.5em .85em .52em .7em;border-radius:.6em;
  background:rgba(8,12,28,.92);border:1px solid rgba(255,255,255,.18);box-shadow:0 6px 18px rgba(11,16,36,.22);
/* isometric materials — copied from homepage-design.html so cards match the hero / What Beam manages */
.wg .iso .ft{fill:#64748B;stroke:#94A3B8;stroke-width:.6}
.wg .iso .fl{fill:#475569;stroke:#94A3B8;stroke-width:.6}
.wg .iso .fr{fill:#334155;stroke:#94A3B8;stroke-width:.6}
.wg .iso .dk .ft{fill:#CBD5E1}.wg .iso .dk .fl{fill:#94A3B8}.wg .iso .dk .fr{fill:#64748B}
.wg .iso .mt .ft{fill:#E2E8F0}.wg .iso .mt .fl{fill:#CBD5E1}.wg .iso .mt .fr{fill:#94A3B8}
.wg .iso .tr .ft{fill:#fff}.wg .iso .tr .fl{fill:#F1F5F9}.wg .iso .tr .fr{fill:#CBD5E1}
.wg .iso .slab .ft{fill:#162041;stroke:#2B3A6B}.wg .iso .slab .fl{fill:#0F1836;stroke:#27335C}.wg .iso .slab .fr{fill:#0B122B;stroke:#27335C}
.wg .iso .pad .ft{fill:#222D56;stroke:#3A4877}.wg .iso .pad .fl{fill:#1A2444;stroke:#3A4877}.wg .iso .pad .fr{fill:#141C3A;stroke:#3A4877}
.wg .iso .bld .ft{fill:#2E3A6E;stroke:#4A578A}.wg .iso .bld .fl{fill:#252F5C;stroke:#4A578A}.wg .iso .bld .fr{fill:#1B2449;stroke:#4A578A}
.wg .iso .gl .ft,.wg .iso .gl .fl,.wg .iso .gl .fr{fill:rgba(143,180,255,.14);stroke:rgba(143,180,255,.55)}
.wg .iso .led{fill:#34D399;animation:wblink 1.4s infinite}.wg .iso .led.b{fill:#6BA8FF}.wg .iso .led.r{fill:#F87171}
.wg .iso .person{fill:#E2E8F0;stroke:#161A30;stroke-width:1.2}
.wg .iso .sig{fill:none;stroke:#6BA8FF;stroke-width:1.5;stroke-dasharray:3 5;animation:wdash 1.2s linear infinite;opacity:.9}
.wg .iso .sig.up{stroke:#2DD4BF}.wg .iso .sig.out{stroke:#38BDF8}.wg .iso .sig.lic{stroke:#A78BFA;opacity:.85}
.wg .iso .sig.svc{stroke:#94A3B8;stroke-dasharray:5 5;opacity:.8}
.wg .iso .pk{fill:#fff;filter:drop-shadow(0 0 3px #6BA8FF)}.wg .iso .pk.up{filter:drop-shadow(0 0 3px #2DD4BF)}.wg .iso .pk.lic{filter:drop-shadow(0 0 3px #A78BFA)}
.wg .iso .pin circle.ring{fill:none;stroke:var(--c);stroke-width:1.2;transform-origin:center;transform-box:fill-box;animation:wring 2.2s ease-out infinite}
.wg .iso .pin circle.dot{fill:var(--c);stroke:#fff;stroke-width:1.6}
.wg .iso .wv{fill:none;stroke:#8FDCFF;stroke-width:1;transform-box:fill-box;transform-origin:center;animation:wwave 3s ease-out infinite}
.wg .iso .wv.w2{animation-delay:1.5s}
.wg .iso .bob{animation:wbob 7s ease-in-out infinite}
@keyframes wblink{50%{opacity:.25}}
@keyframes wdash{to{stroke-dashoffset:-16}}
@keyframes wring{0%{transform:scale(.45);opacity:.85}100%{transform:scale(2.1);opacity:0}}
@keyframes wwave{0%{transform:scale(.4);opacity:.9}100%{transform:scale(3.2);opacity:0}}
@keyframes wbob{50%{transform:translateY(-3px)}}
.trusted{margin-top:14px}
.trusted small{display:block;font-size:.76rem;font-weight:600;color:var(--dim);margin-bottom:8px}
.trusted div{display:flex;align-items:center;gap:16px;flex-wrap:nowrap;min-height:26px}
.trusted img{height:24px;width:auto;max-width:none;min-width:0;flex:0 1 auto;object-fit:contain;object-position:left center;filter:brightness(0);opacity:.6}
.trusted em{font-style:normal;font-size:.8rem;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:3px 10px;white-space:nowrap}

.ls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ls-card{display:flex;flex-direction:column;border-radius:18px;background:var(--paper);border:1px solid var(--line);padding:26px 26px 18px;min-height:236px}
.ls-card h4{font-size:1.14rem;font-weight:600;color:var(--ink);margin-bottom:10px}
.ls-card a{display:block;padding:6px 10px;margin-inline:-10px;border-radius:9px;font-size:.93rem;color:var(--text);transition:background .15s}
.ls-card a:hover{background:rgba(27,35,64,.06)}
.ls-card .go{margin:auto -8px 0;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;background:var(--white);border:1px solid var(--line);border-radius:999px;padding:11px 16px;font-weight:600;color:var(--ink)}
.ls-card .go svg{width:15px;height:15px}
.ls-card .go:hover{background:var(--white);border-color:var(--ink)}
.ls-card.lead{background:linear-gradient(150deg,#1371FE 0%,#0B5CD6 100%);border-color:transparent}
.ls-card.lead h4{color:#fff}
.ls-card.lead a{color:#EAF2FF}
.ls-card.lead a:hover{background:rgba(255,255,255,.14)}
.ls-card.lead .go{color:var(--ink);border-color:transparent;margin-top:auto}
.ls-card .links{margin-bottom:18px}

/* phone and tablet menu */
.drawer{position:fixed;inset:0;z-index:48;background:var(--night);color:var(--on);padding:92px 24px 32px;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .22s,transform .22s,visibility 0s .22s}
.drawer.on{opacity:1;visibility:visible;transform:none;transition:opacity .22s,transform .22s}
.drawer details{border-bottom:1px solid var(--rule-d)}
.drawer summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:18px 2px;font-size:1.14rem;font-weight:600;color:#fff}
.drawer summary::-webkit-details-marker{display:none}
.drawer summary svg{width:16px;height:16px;color:var(--on-dim);transition:transform .2s}
.drawer details[open]>summary svg{transform:rotate(90deg)}
.drawer .in{padding:0 2px 18px}
.drawer h5{margin:14px 0 2px;font-size:.8rem;font-weight:500;color:var(--on-dim)}
.drawer .in a,.drawer .in .off{display:block;padding:8px 0;font-size:.98rem;color:var(--on-muted)}
.drawer .in a.top{color:#fff;font-weight:500}
.drawer .in .off{color:#5F6B98}
.drawer .direct{display:block;padding:18px 2px;font-size:1.14rem;font-weight:600;color:#fff;border-bottom:1px solid var(--rule-d)}
.drawer .acts{display:grid;gap:10px;margin-top:26px}
.drawer .acts .btn{width:100%}
html.lock{overflow:hidden}
.ui-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--white);border-bottom:1px solid var(--line);font-weight:600;color:var(--ink)}
.ui-bar small{font-family:var(--mono);font-weight:400;font-size:10.5px;color:var(--dim)}
.ui-body{padding:12px 14px 16px;display:grid;gap:8px}
.ui-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--white);border:1px solid var(--line);border-radius:9px;padding:8px 11px}
.ui-row b{font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ui-row>b{flex:1}
.ui-row>span:first-child{min-width:0;flex:1}
.ui-row>span:first-child b{display:block}
.ui-row small{display:block;font-size:11px;color:var(--dim)}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px;background:var(--c,var(--blue));flex:none}
.tag{flex:none;font-size:10.5px;font-weight:600;border-radius:999px;padding:2px 9px;background:rgba(19,113,254,.1);color:var(--blue-700);white-space:nowrap}
.tag.g{background:rgba(52,211,153,.16);color:#047857}
.tag.a{background:rgba(251,191,36,.2);color:#92400E}
.tag.n{background:var(--mist);color:var(--muted)}
.rel{display:flex;flex-wrap:wrap;gap:6px}
.rel span{display:inline-flex;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:999px;padding:4px 10px 4px 9px;font-size:11.5px;white-space:nowrap}
.kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.kv div{background:var(--white);border:1px solid var(--line);border-radius:9px;padding:8px 11px}
.kv small{display:block;font-size:10.5px;color:var(--dim)}
.kv b{font-weight:600;color:var(--ink);font-size:12.5px}
.ui-row.budget{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px}
.meter{height:6px;border-radius:3px;background:var(--mist);overflow:hidden}
.meter i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.gantt{display:grid;gap:7px}
.gantt .days{display:grid;grid-template-columns:78px repeat(7,1fr);font-size:10px;color:var(--dim);font-family:var(--mono)}
.gantt .days span{text-align:center}
.gantt .lane{display:grid;grid-template-columns:78px repeat(7,1fr);align-items:center;background:var(--white);border:1px solid var(--line);border-radius:9px;padding:6px 0;min-height:34px}
.gantt .lane b{font-weight:500;color:var(--ink);padding-left:10px;font-size:11.5px;white-space:nowrap}
.gantt .lane i{height:18px;border-radius:5px;background:var(--c,var(--blue));font-style:normal;font-size:10px;font-weight:600;color:#fff;padding:2px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* 10 · final call to action */
.final{position:relative;isolation:isolate;overflow:hidden;overflow:clip;text-align:center;background:linear-gradient(175deg,#0B1227 0%,#0D1638 60%,#0C1F56 100%);padding-block:clamp(110px,14vw,190px) clamp(120px,15vw,210px)}
.final::before{content:"";position:absolute;z-index:-1;left:50%;bottom:-62%;width:min(1500px,150vw);aspect-ratio:1.5;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(19,113,254,.62),rgba(19,113,254,.12) 58%,transparent 78%)}
.final::after{content:"";position:absolute;z-index:-1;left:8%;right:8%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#8FDCFF 50%,transparent);box-shadow:0 0 30px 3px rgba(56,189,248,.7)}
.final .h1{color:#fff;font-size:clamp(2rem,4.5vw,3.7rem);line-height:1.1}
.final .h1 .grad{display:block;padding-bottom:.08em}
.final p{font-size:1.14rem;color:var(--on-muted);max-width:48ch;margin:24px auto 0}
.final .cta{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:34px}
/* 11 · footer */
.foot{background:var(--night);color:var(--on-dim);font-size:.9rem}
.foot-brand{display:flex;align-items:center;gap:18px 28px;flex-wrap:wrap;padding-block:44px 34px;border-bottom:1px solid var(--rule-d)}
.foot-brand .brand{color:#fff;margin:0}
.foot-brand .brand img{height:28px}
.foot-brand p{max-width:34ch;line-height:1.5}
.foot-brand .r{margin-left:auto;display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap}
.foot-brand .r a:not(.btn):hover,.foot-cols a:hover,.foot-base a:hover{color:#fff}
.foot-cols{display:grid;grid-template-columns:1.1fr 1.5fr 1fr 1fr 1fr;gap:28px;padding-block:40px 48px}
.foot-cols h4{font-size:.92rem;font-weight:600;color:#fff;margin-bottom:12px}
.foot-cols .prodcol{grid-column:span 2;display:grid;grid-template-columns:1.1fr 1.5fr;gap:0 28px}
.foot-cols .prodcol h4{grid-column:1/-1}
.foot-cols h5{margin:0 0 4px;font-size:.78rem;font-weight:500;color:#5F6B98}
.foot-cols h5.gap{margin-top:18px}
.foot-cols li{line-height:2}
.foot-base{display:flex;justify-content:space-between;gap:8px 24px;flex-wrap:wrap;border-top:1px solid var(--rule-d);padding-block:20px 26px;font-size:.85rem}
.foot-base ul{display:flex;gap:6px 22px;flex-wrap:wrap}
.clean li:first-child{border-top:0}
.clean li span{color:var(--muted)}
@media (max-width:1080px){


  .nav-links{display:none}
  .menu-btn{display:flex}
  .pill{padding-left:18px}
  .mega,.scrim{display:none}
  .foot-cols{grid-template-columns:1fr 1fr 1fr}
  .foot-cols .prodcol{grid-column:1/-1}
}
@media (min-width:1081px){
.drawer{display:none}
}
@media (max-width:1240px){
.mg{gap:30px}.mg.mg-who{grid-template-columns:minmax(0,.95fr) minmax(0,.95fr) minmax(0,2.1fr);gap:26px}.who-panes{padding-left:26px}.who-pane{gap:22px}.mega-panel{padding:32px 32px 34px}
}
@media (max-width:380px){
.nav .wrap{padding-inline:8px!important;gap:6px!important}.pill{padding-left:12px!important}.pill.r{padding-inline:6px!important}.brand{margin-right:2px!important}.pill.r .btn{padding:8px 10px!important;font-size:.78rem!important}.menu-btn{width:30px!important}
}
@media (max-width:430px){
.nav .wrap{padding-inline:14px;gap:8px}.pill{height:54px;padding-left:16px}.brand{margin-right:6px}.pill.r .btn{padding:9px 13px;font-size:.84rem}.menu-btn{width:36px}.drawer{padding-inline:18px}
}
@media (prefers-reduced-motion:reduce){

  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* ===== nav-sub-css ===== */
.mg-col .sub{display:block;padding:7px 10px;margin-inline:-10px;font-size:.93rem;line-height:1.4;color:var(--text);cursor:default}
.drawer .in .sub{display:block;padding:8px 0;font-size:.98rem;color:var(--on-muted)}

/* ===== glass-nav ===== */
.nav .pill{position:relative;isolation:isolate;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.03));
  -webkit-backdrop-filter:blur(14px) saturate(180%);backdrop-filter:blur(14px) saturate(180%);
  border:1px solid rgba(255,255,255,.2);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.06),0 10px 30px rgba(3,8,26,.22);
  transition:background .35s,border-color .35s,box-shadow .35s,height .3s cubic-bezier(.2,.8,.2,1),color .25s}
.nav .pill::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
  background:radial-gradient(120% 90% at 18% -20%,rgba(255,255,255,.2),rgba(255,255,255,0) 55%),radial-gradient(80% 70% at 100% 120%,rgba(143,220,255,.12),rgba(143,220,255,0) 60%)}
.nav.compact .pill{height:50px}
.nav .pill{border-radius:12px}
.nav .nav-links>*,.nav .pill.r .login,.nav .pill.r .btn,.nav .menu-btn{border-radius:8px}
.mega{border-radius:16px}
.nav .brand{position:relative}
.nav .brand img{transition:opacity .25s}
/* on light backgrounds the logo switches to its Beam blue copy (beam-logo-blue.svg, stacked on the white one). A real image, not a CSS mask: masks are blocked when a page is opened from the folder */
.nav .brand .brand-blue{position:absolute;left:0;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .25s;pointer-events:none}
/* over light content */
.nav.light .pill{color:#0B1A3A;
  background:linear-gradient(180deg,rgba(255,255,255,.64),rgba(255,255,255,.46));
  border-color:rgba(255,255,255,.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,1),inset 0 0 0 1px rgba(255,255,255,.4),0 0 0 1px rgba(11,26,58,.07),0 10px 30px rgba(15,30,70,.12)}
.nav.light .pill::before{background:radial-gradient(120% 90% at 18% -20%,rgba(255,255,255,.6),rgba(255,255,255,0) 55%),radial-gradient(80% 70% at 100% 120%,rgba(19,113,254,.08),rgba(19,113,254,0) 60%)}
.nav.light .nav-links>*,.nav.light .pill.r .login{color:#25304F}
.nav.light .nav-links>*:hover,.nav.light .pill.r .login:hover{background:rgba(11,26,58,.06);color:#0B1A3A}
.nav.light .nav-links>[aria-expanded="true"]{background:#1371FE;color:#fff}
.nav.light .menu-btn{color:#0B1A3A}
.nav.light .brand img:not(.brand-blue){opacity:0}
.nav.light .brand .brand-blue{opacity:1}
@media (prefers-reduced-motion:reduce){.nav .pill{transition:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .nav .pill{background:rgba(8,14,34,.88)}
  .nav.light .pill{background:rgba(255,255,255,.95)}
}

/* ===== menus-lc-css ===== */
/* Learning & support and Company menus on the Products menu layout */
.mg.mg-ls,.mg.mg-co{grid-template-columns:minmax(0,1.06fr) minmax(0,.9fr) minmax(0,1.3fr) minmax(0,1fr)}
@media (max-width:1260px){}
.mg-watch.mg-about .thumb img{object-position:50% 50%}
.mg-watch.mg-about b{line-height:1.35}
.mg-watch.mg-uc .thumb img{object-position:50% 0}
.mg-watch.mg-uc b{line-height:1.35}
.mg-watch small.go{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--blue-700,#0B5CD6)}
.mg-watch small.go svg{width:14px;height:14px;transition:transform .2s}
.mg-watch:hover small.go svg{transform:translateX(3px)}

/* ===== who-rail-css ===== */
/* the selected pane of a closed Who we serve panel kept visibility:visible and sat invisibly over the Products menu, catching its hovers and clicks */
.mega-panel:not(.on) .who-pane.on{visibility:hidden}
.mega .rail > .rail-link{cursor:pointer}.mega .rail > .rail-link:hover svg{transform:translateX(2px)}.mega .rail > .rail-link svg{transition:transform .15s}

/* ===== review-popup-css ===== */
/* fix: the open tab of a closed Who we serve panel stayed visibility:visible and caught clicks meant for other menus */
.mega-panel:not(.on) .who-pane.on{visibility:hidden}
.rv-pop{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(7,12,28,.48);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.rv-pop.on{display:flex;animation:rvIn .18s ease-out}
.rv-card{position:relative;width:min(420px,100%);padding:28px 28px 24px;border-radius:16px;background:#fff;box-shadow:0 30px 80px rgba(7,12,28,.35);font-family:Poppins,system-ui,sans-serif;color:#0B1A3A;text-align:left}
.rv-card .rv-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#EEF4FF;color:#1371FE}
.rv-card .rv-ic svg{width:22px;height:22px}
.rv-card h2{margin:16px 0 0;font-size:1.2rem;font-weight:600;letter-spacing:-.01em;line-height:1.3;color:#0B1A3A}
.rv-card p{margin:8px 0 0;font-size:.94rem;line-height:1.6;color:#4A5875}
.rv-card p b{font-weight:600;color:#0B1A3A}
.rv-card .rv-ok{display:inline-flex;align-items:center;justify-content:center;height:42px;margin-top:22px;padding:0 20px;border:0;border-radius:10px;background:#1371FE;color:#fff;font:600 .94rem Poppins,system-ui,sans-serif;cursor:pointer}
.rv-card .rv-ok:hover{background:#0F62DD}
.rv-card .rv-x{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#6B7895;cursor:pointer}
.rv-card .rv-x:hover{background:#F2F5FB;color:#0B1A3A}
.rv-card .rv-x svg{width:18px;height:18px}
.rv-card button:focus-visible{outline:2px solid #1371FE;outline-offset:2px}
/* the coming-soon popup: what the module will do, then the Innovation Partnership */
.soon-card{width:min(460px,100%)}
.soon-card>.chip{margin:0}
.soon-card h2{margin-top:12px}
.soon-ip{margin-top:20px;padding:16px 18px;border-radius:12px;background:#F4F7FD;border:1px solid #E3E8F3}
.soon-ip>b{display:block;font-size:.95rem;font-weight:600;color:#0B1A3A}
.soon-ip>p{margin-top:4px;font-size:.88rem}
.soon-ip ul{display:grid;gap:6px;margin-top:10px}
.soon-ip li{display:flex;align-items:flex-start;gap:8px;font-size:.86rem;line-height:1.45;color:#3E4A68}
.soon-ip li svg{flex:none;width:16px;height:16px;margin-top:1px;color:#1371FE}
.soon-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:22px}
.soon-cta .rv-ok{margin-top:0;text-decoration:none}
.soon-demo{font-size:.9rem;font-weight:600;color:#1371FE}
.soon-demo:hover{text-decoration:underline}
.soon-cta a:focus-visible{outline:2px solid #1371FE;outline-offset:2px}
@keyframes rvIn{from{opacity:0}to{opacity:1}}

/* ===== cookie consent (assets/js/consent.js) ===== */
.ck-banner{position:fixed;left:24px;bottom:24px;z-index:2147482000;width:min(440px,calc(100vw - 32px));padding:22px 22px 20px;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 24px 60px rgba(11,16,36,.22);font-family:var(--sans);color:var(--text)}
.ck-banner[hidden],.ck-modal[hidden]{display:none}
.ck-t{font-size:1rem;font-weight:600;color:var(--ink)}
.ck-d{margin-top:8px;font-size:.9rem;line-height:1.55;color:var(--muted)}
.ck-d a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.ck-b{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}
.ck-btn{flex:1 1 0;min-width:120px;height:42px;padding:0 16px;border:0;border-radius:var(--r-btn);background:var(--ink);font:600 .92rem var(--sans);color:#fff;cursor:pointer;transition:background .15s}
.ck-btn:hover{background:#1E2648}
.ck-btn.-save{background:var(--blue)}
.ck-btn.-save:hover{background:var(--blue-700)}
.ck-link{flex-basis:100%;padding:4px 0;border:0;background:none;font:600 .88rem var(--sans);color:var(--blue);text-align:center;cursor:pointer}
.ck-link:hover{text-decoration:underline;text-underline-offset:3px}
.ck-btn:focus-visible,.ck-link:focus-visible,.ck-x:focus-visible,.ck-sw input:focus-visible+span{outline:2px solid var(--blue);outline-offset:2px}
.ck-modal{position:fixed;inset:0;z-index:2147482500;display:grid;place-items:center;padding:16px;background:rgba(7,12,28,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-family:var(--sans)}
.ck-card{position:relative;width:min(760px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:28px;border-radius:20px;background:var(--white);box-shadow:0 30px 80px rgba(7,12,28,.35)}
.ck-card h2{padding-right:40px;font-size:1.3rem;font-weight:700;letter-spacing:-.015em;color:var(--ink)}
.ck-x{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:8px;background:transparent;font-size:1.5rem;line-height:1;color:var(--dim);cursor:pointer}
.ck-x:hover{background:var(--paper);color:var(--ink)}
.ck-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.ck-row:first-child{margin-top:12px;border-top:1px solid var(--line)}
.ck-rt{font-size:.98rem;font-weight:600;color:var(--ink)}
.ck-rd{margin-top:4px;font-size:.88rem;line-height:1.5;color:var(--muted)}
.ck-gpc{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--mist);font-size:.72rem;font-weight:600;color:var(--muted);vertical-align:2px}
.ck-sw{position:relative;flex:none;width:44px;height:26px;margin-top:2px;cursor:pointer}
.ck-sw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.ck-sw input+span{position:absolute;inset:0;border-radius:999px;background:var(--line-2);transition:background .15s;pointer-events:none}
.ck-sw input+span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .15s}
.ck-sw input:checked+span{background:var(--blue)}
.ck-sw input:checked+span::after{transform:translateX(18px)}
.ck-sw input:disabled{cursor:not-allowed}
.ck-sw input:disabled+span{opacity:.55}
.ck-always{flex:none;margin-top:2px;font-size:.84rem;font-weight:600;color:var(--ink);white-space:nowrap}
.ck-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html.ck-open{overflow:hidden}
.foot-base button[data-cookie-settings]{padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer}
.foot-base button[data-cookie-settings]:hover{color:#fff}
@media (max-width:560px){.ck-banner{left:12px;right:12px;bottom:12px;width:auto;padding:18px}.ck-btn{min-width:0}.ck-card{padding:24px 20px}.ck-card .ck-b{flex-direction:column;align-items:stretch}.ck-card .ck-btn{flex:none;width:100%}.ck-card .ck-btn.-save{order:-1}}
