/* fx2: mega menu, patterns and colour, agent demo, AI Glittch, tools */
:root{--violet-500:#5b4fd6;--violet-50:#f1effd;--teal-500:#0fa9c9;--teal-50:#e6f8fb;--amber-500:#c4851a;--amber-50:#fdf3e7;
--pat-dots:radial-gradient(rgba(24,120,216,.14) 1.1px,transparent 1.2px);
--pat-grid:linear-gradient(rgba(32,40,104,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(32,40,104,.05) 1px,transparent 1px)}

/* ---------- logo ---------- */
.hd .logo img{height:32px;width:auto}
.ft .cols img{height:32px;width:auto}

/* ---------- mega menu ---------- */
.mega-nav{align-items:center}
.mi{position:static}
.mt{display:inline-flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;color:var(--text-secondary);font:500 14px/1 "Plus Jakarta Sans",sans-serif;padding:10px 12px;border-radius:8px}
.mt:hover,.mt[aria-expanded=true]{background:var(--bg-hover);color:var(--text-heading)}
.mt.on{color:var(--text-accent)}
.mt svg{transition:transform .2s}
.mt[aria-expanded=true] svg{transform:rotate(180deg)}
.mega{position:absolute;inset-inline:0;top:100%;background:#fff;border-bottom:1px solid var(--border-subtle);box-shadow:0 30px 60px -30px rgba(20,24,60,.35);
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .25s cubic-bezier(.2,.7,.2,1),visibility 0s .25s;z-index:120}
.mega::before{content:"";position:absolute;inset:0;background-image:var(--pat-dots);background-size:18px 18px;mask-image:linear-gradient(90deg,transparent 40%,#000);opacity:.8;pointer-events:none}
.mi.open .mega{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .25s cubic-bezier(.2,.7,.2,1)}
.hd .mega .wrap.mg{height:auto;align-items:start;display:grid;grid-template-columns:1fr 1fr 320px;gap:32px;padding-top:28px;padding-bottom:32px;position:relative}
.mc{display:flex;flex-direction:column;gap:2px}
.mh{font:500 11px "JetBrains Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);margin:0 0 10px 10px}
.mc a{display:block;padding:10px;border-radius:10px;text-decoration:none;transition:background .15s}
.mc a:hover{background:var(--accent-subtle-bg)}
.mc a b{display:block;font:600 14.5px "Plus Jakarta Sans",sans-serif;color:var(--text-heading)}
.mc a span{display:block;font-size:13px;color:var(--text-tertiary);margin-top:2px}
.mf{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-height:220px;border-radius:16px;padding:20px;text-decoration:none;overflow:hidden;color:#fff;
  background:radial-gradient(120% 90% at 100% 0%,#1878d8 0%,transparent 55%),radial-gradient(90% 80% at 0% 100%,#0fa9c9 0%,transparent 60%),#202868}
.mf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:0 0;opacity:.9;transition:transform .6s,opacity .3s}
.mf:hover img{transform:scale(1.05)}
.mf::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(32,40,104,.05) 0%,rgba(32,40,104,.92) 62%)}
.mf-glitch::after{background:linear-gradient(180deg,transparent 30%,rgba(5,6,13,.95) 70%)}
.mf .k,.mf b,.mf span{position:relative;z-index:1}
.mf .k{font:500 11px "JetBrains Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:#4edaf0}
.mf b{font:600 18px "Sora",sans-serif}
.mf span{font-size:13.5px;color:#cfe0f7;line-height:1.5}
.mf-glitch{background:#05060d}.mf-glitch img{object-fit:contain;object-position:50% 30%;opacity:.9}
.mf-map{background-image:var(--pat-dots),radial-gradient(120% 90% at 100% 0%,#1878d8 0%,transparent 55%),linear-gradient(#202868,#202868);background-size:14px 14px,auto,auto}
.drawer details{border-bottom:1px solid var(--border-subtle)}
.drawer summary{padding:14px 4px;font:500 17px "Plus Jakarta Sans",sans-serif;color:var(--text-heading);cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.drawer summary::after{content:"+";color:var(--text-tertiary)}
.drawer details[open] summary::after{content:"–"}
.drawer details a{border:0;padding:9px 12px;font-size:15px}
.drawer details .mh{display:block;margin:10px 0 4px 12px}
@media (max-width:1180px){.mega-nav{display:none}.hd .menu-btn{display:inline-flex;align-items:center}.hd .cta{display:none}}

/* ---------- patterns and colour ---------- */
body{background:#fbfcfe}
section.s{position:relative;isolation:isolate;overflow-x:clip}
section.s::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--pat-grid);background-size:56px 56px;
  mask-image:radial-gradient(70% 60% at 50% 40%,#000 10%,transparent 75%);-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000 10%,transparent 75%)}
section.s.alt{background:linear-gradient(180deg,#f2f7fe 0%,#f7f5ff 100%)}
section.s.alt::before{background-image:var(--pat-dots);background-size:20px 20px;mask-image:linear-gradient(115deg,#000 0%,transparent 55%);-webkit-mask-image:linear-gradient(115deg,#000 0%,transparent 55%)}
section.s.alt::after{content:"";position:absolute;z-index:-1;width:560px;height:560px;right:-160px;top:-120px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(15,169,201,.16),transparent 65%);animation:drift 22s ease-in-out infinite alternate}
section.s.mesh{background:radial-gradient(60% 50% at 0% 0%,rgba(24,120,216,.10),transparent 70%),radial-gradient(50% 50% at 100% 100%,rgba(91,79,214,.10),transparent 70%),radial-gradient(40% 40% at 80% 10%,rgba(15,169,201,.10),transparent 70%),#fbfcfe}
@keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(-120px,80px) scale(1.15)}}
.ph{background:radial-gradient(60% 120% at 100% 0%,rgba(24,120,216,.14),transparent 60%),radial-gradient(50% 100% at 0% 100%,rgba(15,169,201,.10),transparent 60%),linear-gradient(180deg,#f3f8ff,#fbfcfe)}
.ph::before{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--pat-grid);background-size:44px 44px;mask-image:linear-gradient(90deg,transparent 30%,#000 90%);-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 90%)}
/* colourful card accents */
.card,.ins,.case,.leader,.inv-office,.box{position:relative}
.grid3>.card::after,.grid2>.card::after,.ins::after{content:"";position:absolute;inset-inline:18px;top:0;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,var(--azure-500),var(--teal-500));opacity:.0;transition:opacity .3s}
.grid3>.card:hover::after,.grid2>.card:hover::after,.ins:hover::after{opacity:1}
.grid3>.card:nth-child(3n+2)::after{background:linear-gradient(90deg,var(--teal-500),var(--violet-500))}
.grid3>.card:nth-child(3n)::after{background:linear-gradient(90deg,var(--violet-500),var(--azure-500))}
.ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:14px;background:linear-gradient(135deg,var(--azure-500),var(--teal-500));color:#fff;font:600 16px "Sora",sans-serif;box-shadow:0 8px 20px -10px rgba(24,120,216,.8)}
.ico.v{background:linear-gradient(135deg,var(--violet-500),var(--azure-500))}
.ico.a{background:linear-gradient(135deg,#e0a03a,var(--amber-500))}
.ico.t{background:linear-gradient(135deg,var(--teal-500),#2bc6a0)}
.eyebrow{background:linear-gradient(90deg,var(--azure-600),var(--teal-500));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-wrap{position:relative;isolation:isolate;background:radial-gradient(50% 60% at 85% 10%,rgba(15,169,201,.14),transparent 70%),radial-gradient(40% 50% at 10% 90%,rgba(91,79,214,.10),transparent 70%)}
.hero-wrap::before{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--pat-dots);background-size:22px 22px;mask-image:radial-gradient(60% 70% at 70% 40%,#000,transparent 75%);-webkit-mask-image:radial-gradient(60% 70% at 70% 40%,#000,transparent 75%)}
.leader .ph-img{background:radial-gradient(80% 80% at 50% 100%,rgba(24,120,216,.18),transparent 70%),linear-gradient(180deg,#eef5fd,#f7f5ff)}
.leader .ph-img img{object-position:50% 20%}

/* ---------- section image band (BLDR product shots) ---------- */
.shots{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.stack{position:relative;height:440px;perspective:1400px}
.stack figure{position:absolute;margin:0;border-radius:14px;overflow:hidden;border:1px solid var(--border-subtle);box-shadow:0 40px 80px -40px rgba(20,24,60,.55);background:#fff;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.stack figure img{display:block;width:100%;height:auto}
.stack .f1{width:78%;left:0;top:0;transform:rotateY(10deg) rotateX(4deg);z-index:1}
.stack .f2{width:70%;right:0;bottom:0;transform:rotateY(-8deg) rotateX(3deg) translateZ(40px);z-index:2}
.stack:hover .f1{transform:rotateY(4deg) translate(-10px,-6px)}
.stack:hover .f2{transform:rotateY(-3deg) translate(10px,6px) translateZ(40px)}
.stack .chip{position:absolute;z-index:3;left:44%;top:46%;background:#fff;border:1px solid #f0ce96;color:#8a5a0e;border-radius:999px;padding:8px 14px;font:600 13px "Plus Jakarta Sans",sans-serif;box-shadow:var(--shadow-md);animation:bob 4s ease-in-out infinite}
.stack .chip i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--amber-500);margin-inline-end:8px;animation:blink 1.4s infinite}
.cap{font:500 11px "JetBrains Mono",monospace;color:var(--text-tertiary);letter-spacing:.06em;margin-top:10px}
@keyframes bob{50%{transform:translateY(-8px)}}

/* ---------- agent demo ---------- */
.demo{display:grid;grid-template-columns:300px 1fr;gap:0;border-radius:20px;overflow:hidden;border:1px solid #2c3580;background:#0d1240;color:#d9e4ff;box-shadow:0 50px 100px -50px rgba(13,18,64,.8)}
.demo .uc{background:linear-gradient(180deg,#151b55,#0f1446);padding:22px;display:flex;flex-direction:column;gap:8px;border-inline-end:1px solid #2c3580}
.demo .uc .mh{color:#7f8bd6;margin-left:4px}
.demo .uc button{all:unset;cursor:pointer;display:block;padding:14px;border-radius:12px;border:1px solid transparent;transition:background .2s,border-color .2s}
.demo .uc button b{display:block;font:600 15px "Sora",sans-serif;color:#fff}
.demo .uc button span{display:block;font-size:13px;color:#9aa6e6;margin-top:3px}
.demo .uc button[aria-selected=true]{background:rgba(78,218,240,.08);border-color:rgba(78,218,240,.35)}
.demo .uc button:focus-visible{outline:2px solid #4edaf0}
.demo .uc .note{margin-top:auto;font:500 11px "JetBrains Mono",monospace;color:#6c78c4;line-height:1.6}
.demo .run{position:relative;padding:24px 26px 26px;min-height:470px;background-image:var(--pat-dots);background-size:18px 18px;background-color:#0d1240}
.demo .bar{display:flex;align-items:center;gap:10px;font:500 12px "JetBrains Mono",monospace;color:#9aa6e6;margin-bottom:18px}
.demo .bar .dot{width:8px;height:8px;border-radius:50%;background:#2bd18f;box-shadow:0 0 0 4px rgba(43,209,143,.15);animation:blink 1.6s infinite}
.demo .bar .pol{margin-inline-start:auto;border:1px solid #2c3580;border-radius:999px;padding:4px 10px;color:#4edaf0}
.demo ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.demo li{display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:start;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);
  opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.demo li.on{opacity:1;transform:none}
.demo li .n{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font:600 12px "JetBrains Mono",monospace;background:rgba(24,120,216,.25);color:#9cc9ff}
.demo li b{display:block;font:600 14px "Plus Jakarta Sans",sans-serif;color:#fff}
.demo li span.t{display:block;font-size:13px;color:#a9b4ea;margin-top:2px;line-height:1.5}
.demo li .tag{font:500 11px "JetBrains Mono",monospace;border-radius:999px;padding:3px 9px;white-space:nowrap;background:rgba(78,218,240,.1);color:#4edaf0}
.demo li.hold{background:rgba(196,133,26,.12);border-color:rgba(240,206,150,.35)}
.demo li.hold .n{background:rgba(196,133,26,.3);color:#ffd99a}
.demo li.hold .tag{background:rgba(196,133,26,.2);color:#ffd99a}
.demo li.ok .tag{background:rgba(43,209,143,.14);color:#6ff0bd}
.demo li.blk .tag{background:rgba(210,58,47,.18);color:#ff9b93}
.demo .typing::after{content:"▍";animation:blink 1s infinite;color:#4edaf0}
.demo .res{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px;opacity:0;transition:opacity .5s}
.demo .res.on{opacity:1}
.demo .res span{border:1px solid #2c3580;border-radius:10px;padding:8px 12px;font-size:13px;color:#cfe0ff}
.demo .res b{color:#4edaf0;font:600 14px "Sora",sans-serif;margin-inline-end:6px}
@media (max-width:900px){.demo{grid-template-columns:1fr}.demo .uc{flex-direction:row;overflow:auto}.demo .uc button{min-width:200px}.demo .uc .note,.demo .uc .mh{display:none}.shots{grid-template-columns:1fr}.stack{height:320px}}

/* ---------- AI Glittch ---------- */
.glittch-hero{position:relative;overflow:hidden;border-radius:24px;background:#05060d;color:#fff;display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:center;padding:40px 44px;isolation:isolate}
.glittch-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);animation:scan 8s linear infinite}
.glittch-hero::after{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-120px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(0,229,255,.22),transparent 60%)}
.glittch-hero img{width:100%;height:auto;mix-blend-mode:screen;animation:gl 5s steps(1) infinite}
.glittch-hero h2{color:#fff;font-size:clamp(28px,3.4vw,40px);margin:8px 0 12px}
.glittch-hero p{color:#b9c2e6;font-size:16px;line-height:1.6;margin:0 0 20px}
.glittch-hero .k{font:500 12px "JetBrains Mono",monospace;letter-spacing:.14em;color:#ff4fd8;text-transform:uppercase}
.glittch-hero .st{display:flex;gap:26px;margin:0 0 22px}
.glittch-hero .st b{display:block;font:600 26px "Sora",sans-serif;color:#00e5ff}
.glittch-hero .st span{font-size:12.5px;color:#8b95c2}
.glittch-hero .inv-btn{background:#fff;color:#05060d;border-color:#fff}
.gtext{position:relative;display:inline-block}
.gtext::before,.gtext::after{content:attr(data-t);position:absolute;inset:0;opacity:.8}
.gtext::before{color:#00e5ff;transform:translate(2px,0);clip-path:inset(0 0 55% 0);animation:gl1 3.2s infinite steps(2)}
.gtext::after{color:#ff4fd8;transform:translate(-2px,0);clip-path:inset(55% 0 0 0);animation:gl2 2.7s infinite steps(2)}
@keyframes gl1{0%,86%{transform:translate(0)}88%{transform:translate(3px,-1px)}92%{transform:translate(-2px,1px)}}
@keyframes gl2{0%,80%{transform:translate(0)}84%{transform:translate(-3px,1px)}90%{transform:translate(2px,0)}}
@keyframes gl{0%,92%{transform:none;filter:none}93%{transform:translate(4px,0) skewX(-6deg);filter:hue-rotate(40deg)}95%{transform:translate(-3px,0)}}
@keyframes scan{to{background-position:0 300px}}
.glittch-strip{display:flex;align-items:center;gap:18px;background:#05060d;border-radius:16px;padding:14px 18px;color:#cdd4f5;text-decoration:none}
.glittch-strip img{height:34px;width:auto;mix-blend-mode:screen}
.glittch-strip b{color:#fff}
.glittch-strip .go{margin-inline-start:auto;color:#00e5ff;font:600 14px "Plus Jakarta Sans",sans-serif;white-space:nowrap}
@media (max-width:800px){.glittch-hero{grid-template-columns:1fr;padding:28px}.glittch-strip{flex-wrap:wrap}}

/* ---------- tools ---------- */
.tool-card{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.tool-card .meta{font:500 12px "JetBrains Mono",monospace;color:var(--text-tertiary);margin-top:auto;padding-top:14px}
.tool{display:grid;grid-template-columns:1fr 360px;gap:36px;align-items:start}
.qs{display:flex;flex-direction:column;gap:14px}
.q{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:16px;padding:20px 22px;transition:border-color .2s,box-shadow .2s}
.q.done{border-color:#a0cdf9}
.q legend{font:600 16px "Plus Jakarta Sans",sans-serif;color:var(--text-heading);padding:0;margin-bottom:4px;display:flex;gap:10px}
.q legend .n{font:500 12px "JetBrains Mono",monospace;color:var(--text-accent);padding-top:3px}
.q .hint{font-size:13.5px;color:var(--text-tertiary);margin:0 0 12px 30px}
.q fieldset{border:0;margin:0;padding:0;min-width:0}
.opts{display:flex;flex-wrap:wrap;gap:8px;margin-inline-start:30px}
.opts label{position:relative;cursor:pointer}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts span{display:inline-block;padding:9px 14px;border-radius:999px;border:1px solid var(--border-default);font-size:14px;color:var(--text-secondary);background:#fff;transition:all .15s}
.opts label:hover span{border-color:var(--azure-500)}
.opts input:checked+span{background:var(--navy-700);border-color:var(--navy-700);color:#fff}
.opts input:focus-visible+span{outline:2px solid var(--azure-500);outline-offset:2px}
.num{display:flex;flex-direction:column;gap:6px;margin-inline-start:30px}
.num input[type=number]{width:200px;height:42px;border:1px solid var(--border-default);border-radius:10px;padding:0 12px;font:500 16px "Plus Jakarta Sans",sans-serif}
.num input[type=range]{width:100%;accent-color:var(--azure-500)}
.num .src{font:500 11.5px "JetBrains Mono",monospace;color:var(--text-tertiary)}
.result{position:sticky;top:96px;border-radius:20px;padding:24px;color:#fff;overflow:hidden;isolation:isolate;
  background:radial-gradient(120% 80% at 100% 0%,#1878d8,transparent 60%),radial-gradient(90% 80% at 0% 100%,#0fa9c9,transparent 60%),#202868}
.result::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1.2px);background-size:16px 16px}
.result .k{font:500 11px "JetBrains Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:#4edaf0}
.gauge{position:relative;width:180px;height:180px;margin:14px auto 6px}
.gauge svg{transform:rotate(-90deg)}
.gauge .v{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.gauge .v b{font:600 44px/1 "Sora",sans-serif;display:block}
.gauge .v span{font-size:12px;color:#bcd3f5}
.result h3{color:#fff;text-align:center;margin:6px 0 4px;font-size:19px}
.result p{color:#d4e2f8;font-size:14px;text-align:center;margin:0 0 14px}
.bars{display:flex;flex-direction:column;gap:9px;margin:14px 0}
.bars div{font-size:12.5px;color:#d4e2f8}
.bars i{display:block;height:6px;border-radius:6px;background:rgba(255,255,255,.15);margin-top:4px;overflow:hidden}
.bars i em{display:block;height:100%;background:linear-gradient(90deg,#4edaf0,#fff);border-radius:6px;transition:width .6s cubic-bezier(.2,.7,.2,1)}
.recs{margin:12px 0 16px;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.recs li{font-size:13.5px;color:#e6eefc;background:rgba(255,255,255,.08);border-radius:10px;padding:9px 11px;line-height:1.45}
.result .inv-btn{width:100%;justify-content:center;margin-top:8px}
.result .inv-btn--secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.result .priv{font:500 11px "JetBrains Mono",monospace;color:#9fb6e0;text-align:center;margin-top:12px}
.seg{display:inline-flex;border:1px solid var(--border-default);border-radius:999px;padding:4px;background:#fff;margin-bottom:18px}
.seg button{all:unset;cursor:pointer;padding:8px 16px;border-radius:999px;font:600 14px "Plus Jakarta Sans",sans-serif;color:var(--text-secondary)}
.seg button[aria-pressed=true]{background:var(--navy-700);color:#fff}
.progressq{height:6px;border-radius:6px;background:var(--border-subtle);overflow:hidden;margin:0 0 18px}
.progressq i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--azure-500),var(--teal-500));transition:width .4s}
@media (max-width:1000px){.tool{grid-template-columns:1fr}.result{position:static}}
@media print{.hd,.ft,.drawer,.close,#inv-consent{display:none!important}.result{color:#000;background:#fff}}

@media (prefers-reduced-motion:reduce){section.s.alt::after,.glittch-hero::before,.glittch-hero img,.gtext::before,.gtext::after,.stack .chip,.demo .bar .dot{animation:none}.demo li{opacity:1;transform:none}.mega{transition:none}}
.ticks{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:10px}
.ticks li{position:relative;padding-inline-start:30px;color:var(--text-secondary);font-size:15.5px}
.ticks li::before{content:"";position:absolute;inset-inline-start:0;top:3px;width:18px;height:18px;border-radius:6px;background:linear-gradient(135deg,var(--azure-500),var(--teal-500))}
.ticks li::after{content:"";position:absolute;inset-inline-start:6px;top:7px;width:5px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ---------- v4: systems orientation ---------- */
.sys .sys-v{display:none;width:100%;max-width:440px;margin:0 auto;height:auto}
@media (max-width:760px){.sys .sys-h{display:none}.sys .sys-v{display:block}.sys .legend{flex-direction:column;gap:8px;font-size:13px}}

/* ---------- orchestration layer ---------- */
.orch{background:radial-gradient(60% 70% at 20% 50%,rgba(24,120,216,.12),transparent 70%),linear-gradient(180deg,#f4f7fd,#eef3fb)}
.orch-g{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center}
.orch-img{position:relative}
.orch-img::before{content:"";position:absolute;inset:8% 6% 2%;border-radius:50%;background:radial-gradient(closest-side,rgba(24,120,216,.35),transparent);filter:blur(30px);z-index:-1;animation:glowp 6s ease-in-out infinite}
.orch-img .float{animation:float 7s ease-in-out infinite;will-change:transform}
.orch-img img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 50px 90px -50px rgba(20,24,60,.5);-webkit-mask-image:radial-gradient(130% 120% at 50% 45%,#000 70%,transparent 100%)}
.orch-img.rv{clip-path:inset(12% 12% 12% 12% round 24px);opacity:0;transition:clip-path 1.1s cubic-bezier(.2,.7,.2,1),opacity .8s}
.orch-img.rv.in{clip-path:inset(0 0 0 0 round 24px);opacity:1}
.layers{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-direction:column;gap:12px}
.layers::before{content:"";position:absolute;left:15px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--azure-500),var(--teal-500),var(--violet-500));border-radius:2px;transform-origin:top;transform:scaleY(0);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.orch-g .in~.layers::before,.layers:has(.in)::before{transform:scaleY(1)}
.layers li{position:relative;padding:12px 16px 12px 44px;background:rgba(255,255,255,.75);border:1px solid var(--border-subtle);border-radius:14px;backdrop-filter:blur(6px)}
.layers li::before{content:"";position:absolute;left:9px;top:17px;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--azure-500);box-shadow:0 0 0 4px rgba(24,120,216,.12)}
.layers li b{display:block;font:600 15px "Sora",sans-serif;color:var(--text-heading)}
.layers li span{font-size:14px;color:var(--text-secondary)}
@keyframes float{50%{transform:translateY(-12px)}}
@keyframes glowp{50%{opacity:.6;transform:scale(1.06)}}
@media (max-width:900px){.orch-g{grid-template-columns:1fr}}

/* ---------- leaders ---------- */
.leader .ph-img{position:relative;aspect-ratio:840/880;background:radial-gradient(70% 60% at 50% 100%,rgba(24,120,216,.28),transparent 70%),radial-gradient(60% 50% at 80% 10%,rgba(15,169,201,.18),transparent 70%),linear-gradient(180deg,#eaf3fe,#f4f1ff)}
.leader .ph-img::before{content:"";position:absolute;inset:0;background-image:var(--pat-dots);background-size:16px 16px;mask-image:linear-gradient(180deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%)}
.leader .ph-img img{position:relative;object-fit:cover;object-position:50% 100%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.leader:hover .ph-img img{transform:scale(1.04)}
.leader .li{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:#0a66c2;color:#fff;text-decoration:none;font:600 13px "Plus Jakarta Sans",sans-serif;box-shadow:0 10px 24px -10px rgba(10,102,194,.8);transform:translateY(6px);opacity:.92;transition:transform .3s,opacity .3s,box-shadow .3s}
.leader:hover .li,.leader .li:focus-visible{transform:none;opacity:1;box-shadow:0 14px 30px -10px rgba(10,102,194,.9)}
[dir=rtl] .leader .li{right:auto;left:14px}

/* ---------- motion v2 ---------- */
::view-transition-old(root){animation:vt-out .35s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:vt-in .55s cubic-bezier(.2,.7,.2,1) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-14px) scale(.985);filter:blur(4px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(24px) scale(1.01);filter:blur(6px)}}
.nav-bar{position:fixed;left:0;top:0;height:3px;width:0;z-index:300;background:linear-gradient(90deg,var(--azure-500),var(--teal-500),var(--violet-500));box-shadow:0 0 12px rgba(24,120,216,.6);transition:width .5s cubic-bezier(.2,.7,.2,1),opacity .3s}
.wsplit .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.wsplit .w>i{display:inline-block;font-style:normal;transform:translateY(105%);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.wsplit.in .w>i{transform:none}
.rv{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1),filter .8s}
.rv:not(.in){filter:blur(6px)}
.tilt{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .4s}
.tilt.tilting{transition:transform .08s linear,box-shadow .4s}
.inv-btn--primary,.inv-btn--onbrand{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background .2s}
.inv-btn--primary:hover,.inv-btn--onbrand:hover{box-shadow:0 12px 26px -12px rgba(24,120,216,.75)}
.inv-btn .arr{display:inline-block;transition:transform .25s}
.inv-btn:hover .arr{transform:translateX(4px)}
.grid3>.card,.grid2>.card,.ins,.case{will-change:transform}
.cursor-glow{position:fixed;left:0;top:0;width:420px;height:420px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(closest-side,rgba(24,120,216,.10),transparent);transform:translate(-50%,-50%);transition:opacity .4s;opacity:0}
body.glow-on .cursor-glow{opacity:1}
@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}.orch-img .float,.orch-img::before{animation:none}.wsplit .w>i{transform:none;transition:none}.rv:not(.in){filter:none}.orch-img.rv{clip-path:none;opacity:1}.cursor-glow{display:none}}

/* ---------- footer v2 ---------- */
.ft2{position:relative;overflow:hidden;isolation:isolate;margin-top:88px;color:#c9d3ee;border:0;
  background:radial-gradient(60% 80% at 100% 0%,rgba(24,120,216,.35),transparent 60%),radial-gradient(50% 70% at 0% 100%,rgba(15,169,201,.18),transparent 60%),#141a4e}
.ft2::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1.2px);background-size:22px 22px;mask-image:linear-gradient(180deg,#000,transparent 80%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 80%)}
.ft2 .wrap{padding-top:64px;padding-bottom:0}
.f-grid{display:grid;grid-template-columns:1.6fr repeat(5,1fr);gap:28px}
.f-grid.ar{grid-template-columns:1.6fr repeat(3,1fr)}
.ft2 .f-brand img{height:34px;width:auto;margin-bottom:16px}
.ft2 .f-brand p{font-size:14px;line-height:1.6;color:#aeb9dc;margin:0 0 10px;max-width:320px}
.ft2 .f-brand .disclose{font:500 11.5px/1.5 "JetBrains Mono",monospace;color:#7f8bd6}
.ft2 h4{font:600 11.5px "JetBrains Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:#4edaf0;margin:0 0 12px}
.ft2 a,.ft2 span.l{display:block;font-size:14px;line-height:1.9;color:#c9d3ee;text-decoration:none;transition:color .2s,transform .2s}
.ft2 .f-grid a:hover{color:#fff;transform:translateX(3px)}
.f-follow{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:14px;margin-top:40px}
.ft2 .fl{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);line-height:1.3;transition:background .2s,border-color .2s,transform .2s}
.ft2 .fl:hover{background:rgba(255,255,255,.08);border-color:rgba(78,218,240,.45);transform:translateY(-2px)}
.ft2 .fl svg{width:28px;height:28px;color:#fff;flex:none;padding:6px;border-radius:8px;background:#0a66c2;box-sizing:content-box}
.ft2 .fl img{height:34px;width:auto;flex:none;border-radius:6px}
.ft2 .fl-gl img{mix-blend-mode:screen;height:30px}
.ft2 .fl b{display:block;color:#fff;font:600 14.5px "Plus Jakarta Sans",sans-serif;text-transform:none;letter-spacing:0;margin:0}
.ft2 .fl small{display:block;color:#93a0cc;font-size:12.5px}
.ft2 .legal{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:18px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:12.5px;color:#93a0cc}
.ft2 .legal a{display:inline;font-size:12.5px;line-height:1.6;color:#c9d3ee}
.ft2 .legal a:hover{color:#fff}
.ft2 .f-machine{font-family:"JetBrains Mono",monospace;font-size:11.5px}
.ft2 .endorse{color:#4edaf0}
.f-anchor{display:flex;align-items:center;gap:22px;padding:34px 0 22px;opacity:.9;pointer-events:none;user-select:none}
.f-anchor img{height:clamp(48px,8vw,110px);width:auto;filter:drop-shadow(0 10px 40px rgba(24,120,216,.5))}
.f-anchor span{font:600 clamp(30px,6.4vw,92px)/1 "Sora",sans-serif;letter-spacing:-.03em;background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(78,218,240,.55) 60%,rgba(255,255,255,.08));-webkit-background-clip:text;background-clip:text;color:transparent}
@media (max-width:1100px){.f-grid{grid-template-columns:repeat(3,1fr)}.f-grid .f-brand{grid-column:1/-1}.f-follow{grid-template-columns:1fr}}
@media (max-width:600px){.f-grid,.f-grid.ar{grid-template-columns:1fr 1fr}}

/* ---------- drawer + mega thumbnails ---------- */
.drawer a.inv-btn,.drawer a.inv-btn:hover{color:#fff;border-bottom:0}
.mc a{display:flex;gap:12px;align-items:flex-start}
.mc a .tx{display:block;min-width:0}
.mx{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;overflow:hidden;font:600 13px "Sora",sans-serif;color:#fff;background:var(--azure-50);color:var(--azure-600);border:1px solid #d9e9fb;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.mx svg{width:20px;height:20px}
.mc a:hover .mx{transform:scale(1.08) rotate(-3deg);box-shadow:0 8px 18px -10px rgba(24,120,216,.8)}
.mx.c0{background:linear-gradient(135deg,var(--navy-700),var(--azure-500));color:#fff;border:0}
.mx.c1{background:linear-gradient(135deg,var(--azure-500),var(--teal-500));color:#fff;border:0}
.mx.c2{background:linear-gradient(135deg,var(--violet-500),var(--azure-500));color:#fff;border:0}
.mx.c3{background:linear-gradient(135deg,var(--teal-500),#2bc6a0);color:#fff;border:0}
.mx.c4{background:linear-gradient(135deg,#e0a03a,var(--amber-500));color:#fff;border:0}
.mx.lv{background:var(--navy-700);color:#4edaf0;font:600 12px "JetBrains Mono",monospace;border:0}
.mx.map{background:#141a4e;border:0;padding:4px}
.mx.map img{width:100%;height:100%;object-fit:contain}
.mx.logo{background:#fff}
.mx.logo img{width:80%;height:80%;object-fit:contain}
.mx.face{border-radius:50%;background:linear-gradient(180deg,#eaf3fe,#d9e9fb)}
.mx.face img{width:100%;height:100%;object-fit:cover;object-position:50% 10%}
.mf-map{justify-content:flex-end}
.mf-map .maps{position:absolute;inset:14px 14px auto;display:flex;gap:10px;height:118px}
.mf-map .maps img{position:static;opacity:1;flex:1;width:50%;height:100%;object-fit:contain;animation:float 6s ease-in-out infinite}
.mf-map .maps img+img{animation-delay:-3s}
.mf-map::after{background:linear-gradient(180deg,transparent 45%,rgba(20,26,78,.95) 75%)}
.mf-office{background:radial-gradient(90% 80% at 50% 0%,rgba(78,218,240,.25),transparent 60%),#202868}
.mf-office .faces{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex}
.mf-office .faces img{position:static;width:78px;height:78px;border-radius:50%;object-fit:cover;object-position:50% 12%;opacity:1;border:3px solid #202868;background:linear-gradient(180deg,#eaf3fe,#cfe3fb);margin-left:-14px;transition:transform .3s}
.mf-office .faces img:first-child{margin-left:0}
.mf-office:hover .faces img{transform:translateY(-4px)}
.mf-office:hover .faces img:nth-child(2){transform:translateY(-8px)}
.mf-office::after{background:linear-gradient(180deg,transparent 45%,rgba(32,40,104,.95) 72%)}
.mf-bldr img{object-position:20% 30%}
@media (prefers-reduced-motion:reduce){.mf-map .maps img{animation:none}}
.mc a span.mx{display:grid;place-items:center;margin:0;font-size:13px}
.mc a span.mx.lv{font-size:12px}
.mc a span.tx>span{display:block;font-size:13px;color:var(--text-tertiary);margin-top:2px}
.mf b{color:#fff}
.mc a span.mx{height:38px;min-height:0}
.mc a span.mx img{display:block;min-width:0;min-height:0}
.mc a span.mx.map img{width:30px;height:30px}
.mc a span.mx.logo img{width:30px;height:30px}
.mc a span.mx.face img{width:38px;height:38px}

/* ---------- photography ---------- */
.banner-s{padding:0;margin-top:-56px;position:relative;z-index:2}
.banner{margin:0;border-radius:24px;overflow:hidden;position:relative;box-shadow:0 40px 80px -40px rgba(20,24,60,.5);background:#141a4e}
.banner .bi{aspect-ratio:1376/560;overflow:hidden}
.banner img{width:100%;height:118%;object-fit:cover;display:block;transform:scale(1.04);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.banner.in img{transform:scale(1)}
.banner.rv{clip-path:inset(6% 4% 6% 4% round 24px);opacity:0;filter:none;transition:clip-path 1.1s cubic-bezier(.2,.7,.2,1),opacity .7s}
.banner.rv.in{clip-path:inset(0 0 0 0 round 24px);opacity:1}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(20,26,78,.75));pointer-events:none}
.banner figcaption{position:absolute;left:24px;bottom:20px;z-index:1;display:flex;align-items:center;gap:10px;color:#fff;font:600 15px "Plus Jakarta Sans",sans-serif;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.banner figcaption .dot{width:9px;height:9px;border-radius:50%;background:#4edaf0;box-shadow:0 0 0 5px rgba(78,218,240,.25);animation:blink 1.8s infinite}
.ph{padding-bottom:96px}
.loc-img{margin:0;border-radius:24px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(20,24,60,.55);align-self:stretch;min-height:320px}
.loc-img img{width:100%;height:100%;object-fit:cover;display:block;animation:kenburns 18s ease-in-out infinite alternate}
@keyframes kenburns{to{transform:scale(1.08) translate(-1.5%,-1%)}}
.office-img{overflow:hidden;padding-top:0}
.office-img img{display:block;width:calc(100% + 48px);margin:0 -24px 18px;height:180px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.office-img:hover img{transform:scale(1.05)}
@media (max-width:800px){.banner .bi{aspect-ratio:4/3}.banner-s{margin-top:-40px}.banner figcaption{font-size:13.5px;left:16px;right:16px;bottom:14px}}
@media (prefers-reduced-motion:reduce){.loc-img img{animation:none}.banner.rv{clip-path:none;opacity:1}}
.office-img img{max-width:none}

/* ---------- signal lime accent (design system v1.1) ---------- */
:root{--signal-50:#f7fde3;--signal-100:#eefbc4;--signal-200:#e2f88f;--signal-300:#d7f75a;--signal-400:#cff53e;--signal-500:#b8e52a;--signal-600:#93bc12;--signal-700:#6b8c00;--signal-800:#4d6600;--signal-900:#344600;--signal:var(--signal-400);--signal-ink:var(--navy-700)}
/* eyebrows: lime rule + azure label (light), lime label (dark) */
.eyebrow,.inv-eyebrow{display:inline-flex;align-items:center;gap:12px;background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--azure-600)}
.eyebrow::before,.inv-eyebrow::before{content:"";flex:none;width:28px;height:2px;border-radius:2px;background:var(--signal-500)}
.inv-hero .inv-eyebrow,.inv-statement .inv-eyebrow,.close .eyebrow,.glittch-hero .k,.demo .eyebrow,.result .k,.answer .eyebrow,.mf .k{color:var(--signal-300)}
.mf .k::before,.result .k::before,.glittch-hero .k::before{display:none}
.ph .eyebrow{color:var(--azure-600)}
/* highlight block */
.inv-hl{background:var(--signal-400);color:var(--navy-700);padding:0 .16em;border-radius:6px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.wsplit .inv-hl{display:inline}
.inv-statement .inv-hl{color:#141a4e}
/* CTAs on dark become signal */
.inv-hero .inv-btn--onbrand,.close .inv-btn--onbrand,.inv-statement .inv-btn--onbrand,.loc-hero .inv-btn--onbrand,.glittch-hero .inv-btn{background:var(--signal-400);color:var(--navy-700);border-color:var(--signal-400)}
.inv-hero .inv-btn--onbrand:hover,.close .inv-btn--onbrand:hover,.inv-statement .inv-btn--onbrand:hover,.loc-hero .inv-btn--onbrand:hover{background:var(--signal-300);box-shadow:0 14px 30px -12px rgba(207,245,62,.65)}
/* gradient word in the hero */
.inv-hero h1 .rot span{background:linear-gradient(90deg,#6bb0f3,var(--signal-400));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-tag i{background:var(--signal-400)!important;box-shadow:0 0 0 0 rgba(207,245,62,.6)}
/* floating numbered chips on the hero canvas */
.inv-hero{position:relative}
.hero-chips .inv-chip{position:absolute;z-index:2;backdrop-filter:blur(6px);animation:bob 6s ease-in-out infinite}
.hero-chips .c1{right:30%;top:20%}.hero-chips .c2{right:5%;top:46%;animation-delay:-2s}.hero-chips .c3{right:24%;bottom:14%;animation-delay:-4s}
@media (max-width:1000px){.hero-chips{display:none}}
/* corner frames */
.orch-img,.loc-img,.stack{overflow:visible}
.orch-img::after,.loc-wrap::after{content:""}
.frame-c{position:absolute;inset:-12px;pointer-events:none;z-index:3}
.frame-c::before,.frame-c::after{content:"";position:absolute;width:56px;height:56px;border:3px solid transparent;border-image:linear-gradient(135deg,var(--azure-500),var(--signal-400)) 1}
.frame-c::before{top:0;left:0;border-right:0;border-bottom:0}
.frame-c::after{bottom:0;right:0;border-left:0;border-top:0}
.banner .frame-c{inset:12px}
/* other signal touches */
.ft2 h4{color:var(--signal-300)}
.ft2 .endorse{color:var(--signal-300)}
.nav-bar,.progress i{background:linear-gradient(90deg,var(--azure-500),var(--signal-400))!important}
.router [role=tab][aria-selected=true] .n{color:var(--signal-700);background:var(--signal-100)}
.demo li.on .n{background:rgba(207,245,62,.16);color:var(--signal-300)}
.demo .res b{color:var(--signal-300)}
.demo .uc button[aria-selected=true]{border-color:rgba(207,245,62,.45);background:rgba(207,245,62,.06)}
.inv-statement .charges b{color:var(--signal-300)}
.lvl b,.ins .lvl b{color:var(--signal-800)}
.layers li::before{border-color:var(--signal-500)}
.layers::before{background:linear-gradient(var(--azure-500),var(--signal-500))}
.ticks li::before{background:linear-gradient(135deg,var(--azure-500),var(--signal-500))}
.mx.lv{color:var(--signal-300)}
.glittch-strip .go{color:var(--signal-300)}
.f-anchor span{background:linear-gradient(90deg,#fff,var(--signal-300) 55%,rgba(255,255,255,.08));-webkit-background-clip:text;background-clip:text}
.result .inv-btn--onbrand{background:var(--signal-400);color:var(--navy-700);border-color:var(--signal-400)}
.result .gauge .arc{stroke:var(--signal-400)}
.dia{display:inline-block;width:7px;height:7px;transform:rotate(45deg);background:var(--signal-500);margin:0 8px 1px 0}
.creds{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:14px;font:500 12px "JetBrains Mono",monospace;color:#b9c6ea;letter-spacing:.02em}
.hero-chips .c1{right:5%;top:9%;bottom:auto}.hero-chips .c2{right:11%;top:21%;bottom:auto}.hero-chips .c3{right:4%;top:33%;bottom:auto}
.orch-img .frame-c,.loc-img .frame-c{inset:10px}
.inv-hero>.hero-chips{position:static!important}
/* face crops: cards share one frame (head top 205/880, head width 330/840) */
.mf-office .faces .fc{position:relative;display:block;width:78px;height:78px;border-radius:50%;overflow:hidden;border:3px solid #202868;background:linear-gradient(180deg,#eaf3fe,#cfe3fb);margin-left:-14px;transition:transform .3s}
.mf-office .faces .fc:first-child{margin-left:0}
.mf-office .faces .fc img{position:absolute;inset:auto;left:50%;top:-34%;width:200%;height:auto;max-width:none;transform:translateX(-50%);border:0;border-radius:0;margin:0;opacity:1;object-fit:fill;background:none}
.mf-office:hover .faces .fc{transform:translateY(-4px)}
.mf-office:hover .faces .fc:nth-child(2){transform:translateY(-8px)}
.mc a span.mx.face{position:relative}
.mc a span.mx.face img{position:absolute;left:50%;top:-38%;width:200%;height:auto;max-width:none;transform:translateX(-50%)}
.mf-office .faces .fc img{top:-50%}.mc a span.mx.face img{top:-50%}
.mf-office .faces .fc img{width:160%;top:-30%}.mc a span.mx.face img{width:160%;top:-29%}

/* ---------- AI Glittch glitch (same motion as youssefjalloul.com) ---------- */
.gx{position:relative;display:block;overflow:hidden;line-height:0;isolation:isolate;flex:none}
.gx img{display:block;width:100%;height:auto;position:static!important;opacity:1!important;animation:gx-base 4.2s steps(1) infinite;mix-blend-mode:normal!important}
.gx i{position:absolute;inset:0;background-size:100% 100%;background-repeat:no-repeat;pointer-events:none;opacity:0;mix-blend-mode:screen}
.gx .gx-a{filter:hue-rotate(-60deg) saturate(3);animation:gx-a 4.2s steps(1) infinite}
.gx .gx-b{filter:hue-rotate(110deg) saturate(3);animation:gx-b 4.2s steps(1) infinite;animation-delay:-.3s}
.gx .gx-s{background:repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 3px);mix-blend-mode:overlay;opacity:.7;animation:gx-scan 6s linear infinite}
a:hover .gx img,a:hover .gx i.gx-a,a:hover .gx i.gx-b{animation-duration:1.1s}
@keyframes gx-base{0%,100%{transform:none}86%{transform:translateX(2px) skewX(-4deg)}88%{transform:translateX(-3px)}90%{transform:none}95%{transform:translateX(1px) skewX(3deg)}96%{transform:none}}
@keyframes gx-a{0%,84%,100%{opacity:0;transform:none;clip-path:inset(0)}85%{opacity:.95;transform:translate(-7px,0);clip-path:inset(12% 0 62% 0)}87%{opacity:.95;transform:translate(6px,0);clip-path:inset(58% 0 18% 0)}89%{opacity:.9;transform:translate(-4px,0);clip-path:inset(34% 0 40% 0)}91%{opacity:0}94%{opacity:.85;transform:translate(9px,0);clip-path:inset(70% 0 6% 0)}95%{opacity:0}}
@keyframes gx-b{0%,84%,100%{opacity:0;transform:none;clip-path:inset(0)}85%{opacity:.9;transform:translate(6px,0);clip-path:inset(46% 0 30% 0)}87%{opacity:.9;transform:translate(-8px,0);clip-path:inset(8% 0 74% 0)}89%{opacity:.85;transform:translate(5px,0);clip-path:inset(76% 0 4% 0)}91%{opacity:0}94%{opacity:.85;transform:translate(-6px,0);clip-path:inset(22% 0 56% 0)}95%{opacity:0}}
@keyframes gx-scan{from{background-position:0 0}to{background-position:0 60px}}
.ft2 .fl-gl .gx{width:130px;border-radius:8px;background:#000}
.ft2 .fl-gl:hover{border-color:#ff2bd6}
.glittch-strip .gx{width:150px;border-radius:8px}
.glittch-hero .hero-gx{width:100%;border-radius:12px}
.glittch-hero .hero-gx img{animation:gx-base 4.2s steps(1) infinite}
.mf-glitch .mf-gx{position:absolute;inset:0;display:flex;align-items:center;background:#05060d}
.mf-glitch .mf-gx img{width:100%;transform:none}
.mf-glitch .mf-gx i{top:auto;bottom:auto;height:auto;aspect-ratio:5/1;inset:0;margin:auto}
@media (prefers-reduced-motion:reduce){.gx img,.gx i{animation:none!important}.gx .gx-a,.gx .gx-b{opacity:0}}
/* footer sign-off: smaller, white mark */
.f-anchor{gap:16px;padding:32px 0 26px}
.f-anchor img{height:44px;filter:drop-shadow(0 6px 24px rgba(207,245,62,.25))}
.f-anchor span{font-size:clamp(22px,2.6vw,34px);letter-spacing:-.02em}
.ft2 .fl .gx img,.glittch-strip .gx img,.mf .gx img{width:100%!important;height:auto!important;border-radius:0;object-fit:fill;inset:auto}
.mf-glitch .mf-gx{position:absolute;left:16px;right:16px;top:30px;bottom:auto;inset:30px 16px auto 16px;display:block;background:none;border-radius:8px}
.mf-glitch .mf-gx i{inset:0;margin:0;height:auto;aspect-ratio:auto}
.mf-glitch::after{background:linear-gradient(180deg,transparent 40%,rgba(5,6,13,.96) 62%)}
.mf-office .faces .fc img{width:112%;top:-6%}.mc a span.mx.face img{width:112%;top:-4%}

/* ---------- products with faces ---------- */
.prods{align-items:stretch}
.prod{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-xs);transition:box-shadow .3s}
.prod:hover{box-shadow:var(--shadow-md)}
.prod .pv{position:relative;height:230px;background:radial-gradient(70% 80% at 50% 100%,rgba(207,245,62,.28),transparent 70%),linear-gradient(180deg,#f3efe8,#ece6dc);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.prod .pv::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(32,40,104,.08) 1px,transparent 1.2px);background-size:16px 16px}
.prod .face{position:relative;height:100%;width:auto;max-width:none;animation:face-bob 5s ease-in-out infinite;transform-origin:50% 100%;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.prod:hover .face{transform:scale(1.05) rotate(-1.5deg)}
.prod .pv-ik{align-items:center;background:radial-gradient(70% 80% at 50% 100%,rgba(207,245,62,.3),transparent 70%),linear-gradient(180deg,#e6f1fb,#d6e8f8)}
.prod .ikm.big{width:150px;height:150px;overflow:visible;position:relative}
.prod:hover .ikm-body{animation:ikm-hop .7s cubic-bezier(.3,1.6,.5,1) infinite alternate}
.prod .pb{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1}
.prod .ptile{display:inline-flex;align-self:flex-start;align-items:center;background:#fff;border:1px solid var(--border-subtle);border-radius:12px;padding:8px 14px;margin:-50px 0 14px;position:relative;z-index:2;box-shadow:0 10px 24px -14px rgba(20,24,60,.45)}
.prod .ptile.dark{background:#202868;border-color:#202868}
.prod .ptile .snl,.prod .ptile .gsl{height:32px;width:auto;display:block}
.prod .pst{font:500 11.5px "JetBrains Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--signal-800);display:flex;align-items:center}
.prod h3{font-size:24px;margin:8px 0 6px}
.prod .pl1{font-weight:600;color:var(--text-heading);margin:0 0 6px}
.prod p{color:var(--text-secondary);font-size:15px;margin:0 0 14px}
.prod .ticks{margin:0 0 16px}
.prod .ticks li{font-size:14.5px}
.prod .pext{margin-top:auto;font:600 14px "Plus Jakarta Sans",sans-serif;color:var(--text-accent);text-decoration:none}
.prod .pext:hover{text-decoration:underline}
.prod-bldr{display:grid;grid-template-columns:1.15fr 1fr;align-items:center}
.prod-bldr .pv-bldr{height:100%;min-height:360px;background:#eef3fb;align-items:center}
.prod-bldr .pv-bldr img{width:100%;height:100%;object-fit:cover;position:relative}
.prod-bldr .pb{padding:36px}
.prod-bldr .ptile{margin:0 0 16px}
.prod-bldr h3{font-size:32px}
@media (max-width:900px){.prod-bldr{grid-template-columns:1fr}}
@keyframes face-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
/* Ikraa mascot (from youssefjalloul.com) */
.ikl{display:inline-flex;align-items:center;gap:8px;color:#11314e;line-height:1}
.ikl .ikm{width:36px;height:36px;flex:none;overflow:visible}
.ikl-ar{font-family:"Readex Pro",serif;font-weight:700;font-size:24px;padding-bottom:4px}
.ikl-en{font-family:"Sora",sans-serif;font-weight:700;font-size:20px;letter-spacing:-.01em}
.ikm-body{transform-box:view-box;transform-origin:50% 100%;animation:ikm-bob 3.2s ease-in-out infinite}
.ikm-eyes{transform-box:view-box;transform-origin:50% 36%;animation:ikm-blink 4.8s infinite}
.ikm-pupil{animation:ikm-look 6s ease-in-out infinite}
.ikm-tongue{transform-box:fill-box;transform-origin:50% 0;animation:ikm-tongue 3.2s ease-in-out infinite}
@keyframes ikm-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes ikm-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes ikm-hop{from{transform:translateY(0) scale(1,1)}to{transform:translateY(-14px) scale(1.03,.97)}}
@keyframes ikm-look{0%,40%{transform:translate(0,0)}50%,70%{transform:translate(-8px,5px)}80%,100%{transform:translate(0,0)}}
@keyframes ikm-tongue{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}
/* Sanad: bars move like a voice being heard; Gus: dots type, tick draws */
.snb{transform-box:fill-box;transform-origin:50% 100%;animation:sn-eq 1.4s ease-in-out infinite}
.snb2{animation-delay:-.45s}.snb3{animation-delay:-.9s}
.snd{transform-box:fill-box;transform-origin:50% 50%;animation:sn-ping 2.8s ease-in-out infinite}
.gsd{transform-box:fill-box;animation:gs-type 1.8s ease-in-out infinite}
.gsc path{stroke-dasharray:1;animation:gs-tick 3.6s ease-in-out infinite}
@keyframes sn-eq{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.45)}}
@keyframes sn-ping{0%,70%,100%{transform:scale(1)}80%{transform:scale(1.5)}}
@keyframes gs-type{0%,60%,100%{transform:translateY(0)}20%{transform:translateY(-14px)}}
@keyframes gs-tick{0%,10%{stroke-dashoffset:1}35%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
/* mega feature */
.mf-prod{background:radial-gradient(90% 80% at 50% 0%,rgba(207,245,62,.22),transparent 60%),#202868}
.mf-prod .pfaces{position:absolute;top:16px;left:50%;transform:translateX(-50%);display:flex;gap:-10px}
.mf-prod .pfaces img,.mf-prod .pfaces .pik{position:static;width:80px;height:80px;border-radius:50%;object-fit:cover;object-position:50% 20%;opacity:1;border:3px solid #202868;background:#f3efe8;margin-left:-12px;display:grid;place-items:center}
.mf-prod .pfaces img:first-child{margin-left:0}
.mf-prod .pfaces .pik img{width:62px;height:62px;border:0;margin:0;object-fit:contain;background:none}
.mf-prod::after{background:linear-gradient(180deg,transparent 45%,rgba(32,40,104,.95) 72%)}
.mc a span.mx.face img[src*="sanad"],.mc a span.mx.face img[src*="gus"]{width:100%;height:100%;top:0;left:0;transform:none;object-fit:cover;object-position:50% 25%}
@media (prefers-reduced-motion:reduce){.face,.snb,.snd,.gsd,.gsc path,.ikm-body,.ikm-eyes,.ikm-pupil,.ikm-tongue{animation:none!important;stroke-dashoffset:0}}
.prod .pv:not(.pv-ik):not(.pv-bldr) .face{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.prod .pv:not(.pv-ik){background:#f1ede6}
.mf-prod .pfaces .pik{flex:none;width:80px;min-width:80px;height:80px;box-sizing:border-box;padding:0}
.mf-prod .pfaces img{flex:none}
.prod .ptile img{height:30px;width:auto;display:block}
.prod .pb .inv-btn{align-self:flex-start}
.prod .face[src*="gus"]{object-position:50% 62%!important}
/* product visuals v2 */
.prod .pv-gus{background:#f4f1eb}
.prod .pv-gus .face{object-fit:contain!important;object-position:50% 100%!important;height:100%;width:auto!important}
.prod .pv-ikraa{background:radial-gradient(70% 80% at 50% 100%,rgba(207,245,62,.25),transparent 70%),#fff}
.prod .pv-ikraa .face{object-fit:cover!important;object-position:50% 20%!important}
.prod .pst{color:var(--signal-800)}
.mf-prod .pfaces img{background:#f4f1eb}
.mf-prod .pfaces img[src*="gus"]{object-fit:contain;object-position:50% 100%}
.mf-prod .pfaces img[src*="tiger"]{background:#fff;object-position:50% 25%}
.mc a span.mx.face img[src*="tiger"]{width:100%;height:100%;top:0;left:0;transform:none;object-fit:cover;object-position:50% 30%}
.mc a span.mx.face img[src*="gus"]{object-fit:contain;object-position:50% 100%}
.prod .pv-gus::before{display:none}
/* cut-out characters: zoomed out, sitting on the card ground */
.prod .pv-gus,.prod .pv-sanad{background:radial-gradient(60% 70% at 50% 100%,rgba(207,245,62,.35),transparent 70%),linear-gradient(180deg,#eef4fc,#e4ecf8)}
.prod .pv-gus::before,.prod .pv-sanad::before{display:block}
.prod .pv-gus .face{height:86%!important;width:auto!important;object-fit:contain!important;object-position:50% 100%!important}
.prod .pv-sanad .face{width:100%!important;height:100%!important;object-fit:contain!important;object-position:50% 100%!important;padding:10px 6px 0}
.mf-prod .pfaces img[src*="cut"]{background:#eef4fc;object-fit:contain;object-position:50% 100%}
.mc a span.mx.face img[src*="cut"]{width:100%;height:100%;top:0;left:0;transform:none;object-fit:contain;object-position:50% 100%}
.prod .pv.pv-gus:not(.pv-ik),.prod .pv.pv-sanad:not(.pv-ik){background:radial-gradient(60% 70% at 50% 100%,rgba(207,245,62,.35),transparent 70%),linear-gradient(180deg,#eef4fc,#e4ecf8)}
/* BLDR mark tiles in the menu */
.mc a span.mx.bldr{background:linear-gradient(135deg,#202868,#1a3c8f);border:0}
.mc a span.mx.bldr img{width:26px;height:auto}
/* mega menu: lime accent line where the panel ends */
.mega::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--signal-400) 18%,var(--signal-300) 50%,var(--signal-400) 82%,transparent);transform:scaleX(0);transform-origin:50% 50%;transition:transform .5s cubic-bezier(.2,.7,.2,1) .05s}
.mi.open .mega::after{transform:scaleX(1)}
/* characters on one eye line: heads level across Gus, Ikraa, Sanad */
.prod .pv.pv-gus{align-items:flex-start}
.prod .pv-gus .face{height:88%!important;margin-top:14px}
.prod .pv-ikraa .face{position:relative;top:16px}
.prod .pv-gus .face{margin-top:2px}
.prod .pv.pv-ikraa:not(.pv-ik){background:radial-gradient(70% 80% at 50% 100%,rgba(207,245,62,.25),transparent 70%),#fff}

/* ---------- trust badges (mirrors bldr.bot "Built for governed enterprise AI") ---------- */
.tbs{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.tb{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 12px 20px;border-radius:16px;background:var(--bg-surface);border:1px solid var(--border-subtle);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.tb:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:#d9e9fb}
.tbi{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;color:var(--navy-700);background:radial-gradient(circle at 50% 35%,#fff,#eef4fc);border:1px solid #d9e9fb;margin-bottom:6px;position:relative}
.tbi::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--signal-400);opacity:0;transform:scale(.9);transition:opacity .3s,transform .3s}
.tb:hover .tbi::after{opacity:1;transform:scale(1)}
.tbi svg{width:44px;height:44px}
.tb b{font:600 12.5px "JetBrains Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--text-heading)}
.tb span{font-size:13px;color:var(--text-tertiary);line-height:1.4}
.trust-s.dark{background:radial-gradient(60% 80% at 100% 0%,rgba(24,120,216,.35),transparent 60%),#141a4e}
.trust-s.dark::before{background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px);background-size:22px 22px}
.trust-s.dark h2{color:#fff}
.trust-s.dark .lead{color:#c9d3ee}
.trust-s.dark .lead a{color:var(--signal-300)}
.trust-s.dark .eyebrow{color:var(--signal-300)}
.trust-s.dark .tb{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
.trust-s.dark .tb:hover{border-color:rgba(207,245,62,.45)}
.trust-s.dark .tbi{background:radial-gradient(circle at 50% 35%,#2a347c,#1a2160);border-color:rgba(255,255,255,.14);color:#fff}
.trust-s.dark .tb b{color:#fff}
.trust-s.dark .tb span{color:#a9b4ea}
.tb .tbi svg{animation:tb-in 1s cubic-bezier(.2,.7,.2,1) both}
@keyframes tb-in{from{opacity:0;transform:scale(.8) rotate(-8deg)}}
@media (max-width:1100px){.tbs{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.tbs{grid-template-columns:repeat(2,1fr)}}
.ft2 .f-trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}
.ft2 .f-trust a{display:inline-flex;align-items:center;gap:8px;font:500 11.5px "JetBrains Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:#c9d3ee;line-height:1}
.ft2 .f-trust a:hover{color:var(--signal-300);transform:none}
.ft2 .f-trust svg{width:26px;height:26px;color:#fff;opacity:.9}

/* ---------- closing band: replace the lighthouse sweep with drifting aurora + a signal pulse ---------- */
.close::before{animation:none!important;background:none!important;content:none!important}
.close-fx{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;border-radius:inherit}
.close-fx::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1.2px);background-size:20px 20px;mask-image:linear-gradient(90deg,transparent,#000 60%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 60%);animation:grid-pan 30s linear infinite}
.close-fx i{position:absolute;border-radius:50%;filter:blur(40px);opacity:.55}
.close-fx i:nth-child(1){width:420px;height:420px;right:-80px;top:-160px;background:#1878d8;animation:aur1 18s ease-in-out infinite alternate}
.close-fx i:nth-child(2){width:300px;height:300px;right:220px;bottom:-180px;background:#0fa9c9;opacity:.4;animation:aur2 22s ease-in-out infinite alternate}
.close-fx i:nth-child(3){width:220px;height:220px;right:40px;bottom:-120px;background:#cff53e;opacity:.22;animation:aur3 16s ease-in-out infinite alternate}
@keyframes aur1{to{transform:translate(-160px,60px) scale(1.15)}}
@keyframes aur2{to{transform:translate(140px,-40px) scale(.9)}}
@keyframes aur3{to{transform:translate(-120px,-50px) scale(1.2)}}
@keyframes grid-pan{to{background-position:200px 100px}}
.close .inv-btn--onbrand{position:relative}
.close .inv-btn--onbrand::after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid var(--signal-400);opacity:0;animation:sig-pulse 2.8s ease-out infinite}
@keyframes sig-pulse{0%{opacity:.8;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.12,1.35)}}
@media (prefers-reduced-motion:reduce){.close-fx i,.close-fx::before,.close .inv-btn--onbrand::after,.tb .tbi svg{animation:none}}

/* ---------- Book a consultation ---------- */
.book-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;align-items:start}
.book-c h2{margin:10px 0 14px}
.book-l{list-style:none;padding:0;margin:22px 0;display:grid;gap:14px}
.book-l li{display:flex;gap:14px;align-items:flex-start}
.book-l li i{font-style:normal;font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:500;color:#202868;background:#CFF53E;border-radius:8px;padding:6px 8px;flex:none}
.book-l li span{display:flex;flex-direction:column;gap:2px;color:#4a5370}
.book-l li b{color:#202868;font-weight:600}
.book-meta{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:13px;color:#4a5370;margin-top:6px}
.book-meta span{display:inline-flex;align-items:center;gap:8px}
.book-alt{font-size:14px;color:#6e7891;margin-top:18px}.book-alt a{color:#1878d8}
.cal-card{position:relative;background:#fff;border:1px solid #e4e8f0;border-radius:22px;padding:8px;box-shadow:0 30px 60px -30px rgba(32,40,104,.35),0 0 0 6px rgba(207,245,62,.18)}
.cal-card .calendly-inline-widget{border-radius:16px;overflow:hidden}
.cal-fb{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:16px 18px;border-top:1px solid #eef1f6}
.cal-fb p{margin:0;font-size:13px;color:#6e7891}
.fixcta{position:fixed;left:16px;right:16px;bottom:14px;z-index:60;justify-content:center;display:none!important;box-shadow:0 14px 30px -10px rgba(32,40,104,.5)}
@media (max-width:900px){.book-g{grid-template-columns:1fr;gap:28px}.fixcta{display:inline-flex!important}.cal-card .calendly-inline-widget{height:1000px!important}}
.hd .cta.inv-btn--onbrand{white-space:nowrap}
.inv-btn.btn-sig{background:#CFF53E;color:#202868;border:1px solid #CFF53E;font-weight:600}
.inv-btn.btn-sig:hover{background:#dcfa6a;border-color:#dcfa6a;color:#202868;box-shadow:0 10px 24px -10px rgba(77,102,0,.55)}
.hd .inv-btn.btn-sig.cta{padding:10px 18px}

/* router numbers: rounded, centred */
.router button{align-items:center}
.router button .n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--bg-hover,#eef2f8);font:600 12px/1 "JetBrains Mono",monospace;color:var(--text-secondary);padding:0}
.router [role=tab][aria-selected=true] .n{background:#CFF53E;color:#202868;border-radius:9px}

/* trust badge icons: larger, legible */
.tbi{width:84px;height:84px}
.tbi svg{width:62px;height:62px}
.trust-s.compact .tbi{width:72px;height:72px}.trust-s.compact .tbi svg{width:54px;height:54px}

/* Meet us: the main CTA */
.hd .inv-btn.btn-sig.cta{padding:11px 22px;font-size:15px;box-shadow:0 0 0 4px rgba(207,245,62,.28),0 10px 22px -10px rgba(77,102,0,.6);border-color:#b9e01f;position:relative}
.hd .inv-btn.btn-sig.cta:hover{box-shadow:0 0 0 6px rgba(207,245,62,.35),0 14px 26px -10px rgba(77,102,0,.65);transform:translateY(-1px)}
.hd .inv-btn.btn-sig{background:#CFF53E;color:#202868}
.hd .cta-m{display:none}
@media (max-width:1180px){.hd .cta-m{display:inline-flex;margin-inline-start:auto;margin-inline-end:8px;padding:9px 16px;font-size:14px;box-shadow:0 0 0 3px rgba(207,245,62,.3);border:1px solid #b9e01f}.hd .menu-btn{margin-inline-start:0}}
/* mobile drawer: not plain white */
.drawer.open{background:linear-gradient(180deg,#fff 0%,#f4f8fd 100%);border-top:3px solid #CFF53E;box-shadow:0 30px 60px -20px rgba(32,40,104,.35)}
.drawer.open > a:not(.inv-btn),.drawer.open details{border-bottom-color:#e2e8f2}
.drawer a.inv-btn.btn-sig.d-cta,.drawer a.inv-btn.btn-sig.d-cta:hover{display:flex;justify-content:center;width:100%;color:#202868;background:#CFF53E;border:1px solid #b9e01f;padding:15px 20px;font-size:16px;margin-top:24px;box-shadow:0 0 0 4px rgba(207,245,62,.3),0 14px 28px -12px rgba(77,102,0,.6)}
.drawer a.inv-btn--secondary{display:flex;justify-content:center;width:100%;margin-top:12px;color:#202868!important;border:1px solid #c9d3e6}
.hd .cta-m{white-space:nowrap}
.drawer a.inv-btn.btn-sig.d-cta.d-top{margin:0 0 14px}

/* ---------- section rhythm: dark bands and lime tint ---------- */
section.s.dk{background:radial-gradient(70% 90% at 0% 0%,#26319a 0%,transparent 60%),linear-gradient(160deg,#1b2266 0%,#141a52 60%,#10153f 100%);color:#c9d3ee;overflow:hidden}
section.s.dk::before{background-image:radial-gradient(rgba(160,205,249,.22) 1px,transparent 1.3px);background-size:22px 22px;mask-image:radial-gradient(80% 70% at 50% 40%,#000,transparent);-webkit-mask-image:radial-gradient(80% 70% at 50% 40%,#000,transparent);animation:dk-pan 40s linear infinite}
section.s.dk::after{content:"";position:absolute;z-index:-1;width:620px;height:620px;right:-180px;bottom:-260px;border-radius:50%;background:radial-gradient(circle,rgba(207,245,62,.20),transparent 62%);filter:blur(10px);animation:dk-drift 18s ease-in-out infinite alternate;pointer-events:none}
section.s.dk h2,section.s.dk h3:not(.card h3):not(.tool-card h3){color:#fff}
section.s.dk .lead,section.s.dk .sh p{color:#c9d3ee}
section.s.dk .eyebrow{color:#CFF53E}
section.s.dk .sh a{color:#CFF53E}
section.s.sig{background:radial-gradient(60% 80% at 100% 0%,rgba(207,245,62,.28),transparent 60%),radial-gradient(50% 70% at 0% 100%,rgba(24,120,216,.10),transparent 65%),linear-gradient(180deg,#fbfde9 0%,#f6faf0 100%)}
section.s.sig::before{background-image:radial-gradient(rgba(77,102,0,.16) 1px,transparent 1.3px);background-size:20px 20px;mask-image:linear-gradient(120deg,transparent 30%,#000 100%);-webkit-mask-image:linear-gradient(120deg,transparent 30%,#000 100%);animation:dk-pan 50s linear infinite}
@keyframes dk-pan{to{background-position:220px 110px}}
@keyframes dk-drift{from{transform:translate(0,0) scale(1)}to{transform:translate(-120px,-60px) scale(1.15)}}
/* softer seam between tinted neighbours */
section.s.mesh+section.s.alt,section.s.alt+section.s.mesh{border-top:1px solid rgba(24,120,216,.08)}

/* ---------- header: permanent lime rule ---------- */
.hd{border-bottom:0!important}
.hd::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;pointer-events:none;background:linear-gradient(90deg,rgba(207,245,62,0) 0%,#CFF53E 14%,#d9f86a 50%,#CFF53E 86%,rgba(207,245,62,0) 100%);box-shadow:0 2px 12px rgba(207,245,62,.45)}

/* ---------- no gap before the footer ---------- */
.ft2{margin-top:0!important}

/* ---------- floating consultation button that docks into the footer ---------- */
.fixcta{position:fixed!important;right:22px;bottom:22px;left:auto!important;z-index:80;display:inline-flex!important;align-items:center;gap:10px;padding:13px 20px 13px 16px;border-radius:999px;background:#CFF53E;color:#202868;font:600 15px "Plus Jakarta Sans",sans-serif;text-decoration:none;border:1px solid #b9e01f;box-shadow:0 0 0 5px rgba(207,245,62,.25),0 18px 36px -12px rgba(32,40,104,.55);transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .35s,box-shadow .25s}
.fixcta:hover{transform:translateY(-2px);box-shadow:0 0 0 7px rgba(207,245,62,.32),0 22px 40px -12px rgba(32,40,104,.6)}
.fixcta .cal-i{flex:none}
.fixcta::after{content:"";position:absolute;inset:-5px;border-radius:999px;border:2px solid #CFF53E;animation:fc-pulse 2.8s ease-out infinite;pointer-events:none}
@keyframes fc-pulse{0%{opacity:.8;transform:scale(1)}80%,100%{opacity:0;transform:scale(1.18)}}
html.at-foot .fixcta{opacity:0;transform:translateY(40px) scale(.85);pointer-events:none}
html:not(.scrolled) .fixcta{opacity:0;transform:translateY(30px);pointer-events:none}
@media (max-width:900px){.fixcta{left:16px!important;right:16px;bottom:14px;justify-content:center}}
.f-follow{grid-template-columns:1fr 1fr 1.3fr 1.05fr!important}
@media (max-width:1100px){.f-follow{grid-template-columns:1fr 1fr!important}}
@media (max-width:560px){.f-follow{grid-template-columns:1fr!important}}
.ft2 .fl.fl-book{background:#CFF53E;border-color:#CFF53E;color:#202868}
.ft2 .fl.fl-book b{color:#202868}.ft2 .fl.fl-book small{color:#4D6600}
.ft2 .fl.fl-book:hover{background:#dcfa6a;transform:translateY(-2px)}
html.at-foot .ft2 .fl.fl-book{animation:fl-dock .7s cubic-bezier(.2,.7,.2,1)}
@keyframes fl-dock{0%{box-shadow:0 0 0 0 rgba(207,245,62,.7);transform:scale(.96)}60%{box-shadow:0 0 0 12px rgba(207,245,62,0);transform:scale(1.02)}100%{transform:scale(1)}}

/* ---------- calendly fallback only when the script cannot load ---------- */
.cal-fb{display:none}
html.cal-off .cal-fb{display:flex}
html.cal-off .cal-card .calendly-inline-widget{display:none}
.cal-card .calendly-inline-widget{border-radius:16px;overflow:hidden}
@media (prefers-reduced-motion:reduce){section.s.dk::before,section.s.dk::after,section.s.sig::before,.fixcta::after{animation:none}}
/* keep the floating CTA clear of the cookie banner */
@media (min-width:901px){body:has(.ck) .fixcta{right:auto;left:22px}}
@media (max-width:900px){body:has(.ck) .fixcta{opacity:0;pointer-events:none}}
section.s.alt{background:linear-gradient(180deg,#eaf2fd 0%,#f1efff 100%)}
/* Calendly: the widget is always shown; the link below is a quiet backup */
.cal-fb{display:flex!important;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.cal-fb b{font-size:14px;color:#202868}
html.cal-off .cal-card .calendly-inline-widget{display:block}
.cal-card .calendly-inline-widget iframe{display:block;width:100%;height:100%;min-height:700px}
.cal-card .cal-w{border-radius:16px;overflow:hidden;min-width:300px;height:700px}
.cal-card .cal-w iframe{display:block;width:100%;height:100%;border:0}
@media (max-width:900px){.cal-card .cal-w{height:1000px}}
/* privacy page */
.legal{max-width:860px}
.legal h2{margin-top:36px}
.legal-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;color:var(--text-tertiary);font-size:14px}
.legal-t{overflow-x:auto;border:1px solid var(--border-subtle);border-radius:14px;background:#fff;margin:14px 0}
.legal-t table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.legal-t th{background:#202868;color:#fff;text-align:left;padding:10px 12px;font-weight:600}
.legal-t th:first-child{box-shadow:inset 3px 0 0 #CFF53E}
.legal-t td{padding:10px 12px;border-top:1px solid var(--border-subtle);vertical-align:top}
.legal-t code{font-family:"JetBrains Mono",monospace;font-size:12.5px;background:#f2f6fc;padding:2px 6px;border-radius:6px}
.legal-r details{border:1px solid var(--border-subtle);border-radius:12px;background:#fff;margin:8px 0;padding:0 16px}
.legal-r summary{padding:14px 0;font-weight:600;color:var(--text-heading);cursor:pointer}
.legal-r .a{padding:0 0 14px;color:var(--text-secondary)}
.leader .web{position:absolute;right:122px;bottom:14px;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;background:#CFF53E;color:#202868;text-decoration:none;font:600 13px "Plus Jakarta Sans",sans-serif;border:1px solid #b9e01f;box-shadow:0 10px 24px -10px rgba(77,102,0,.7);transition:transform .2s,box-shadow .2s}
.leader .web:hover{transform:translateY(-1px);box-shadow:0 14px 28px -10px rgba(77,102,0,.8)}
[dir=rtl] .leader .web{right:auto;left:122px}
/* cookie banner: brand accent */
.ck{border-top:3px solid #CFF53E!important;box-shadow:0 24px 60px -20px rgba(32,40,104,.45)!important}
.leader .web{transform:translateY(6px)}
.leader:hover .web{transform:none}
.leader .web:hover{transform:translateY(-1px)}
/* persistent cookie settings button (withdraw consent any time) */
.ck-fab{position:fixed;left:18px;bottom:18px;z-index:79;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#202868;color:#CFF53E;border:2px solid #CFF53E;box-shadow:0 12px 26px -10px rgba(32,40,104,.6);cursor:pointer;transition:transform .2s}
.ck-fab:hover{transform:translateY(-2px) rotate(-12deg)}
body:has(.ck) .ck-fab{display:none}
[dir=rtl] .ck-fab{left:auto;right:18px}
@media (max-width:900px){.ck-fab{bottom:84px;left:14px;width:42px;height:42px}}
@media print{.ck-fab{display:none}}
