/* BefreeConnect — hero visuals: photo heroes and illustrated scenes. Colours come from main.css tokens. */
/* hero visual (service pages) */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.hero-visual{--a:#3c37fd;--b:#76caff;position:relative;min-height:360px;display:grid;place-items:center}
.hero-visual.v-build-integrate{--a:#262184;--b:#ff668d}
.hero-visual.v-run-protect{--a:#ff668d;--b:#262184}
.hero-visual.v-teams{--a:#76caff;--b:#059669}
.hv-blob{position:absolute;border-radius:28px;background:linear-gradient(135deg,var(--a),var(--b));opacity:.9;filter:saturate(1.1)}
.hv-blob.b1{width:230px;height:260px;right:6%;top:6%;transform:rotate(8deg)}
.hv-blob.b2{width:180px;height:180px;left:8%;bottom:4%;transform:rotate(-10deg);opacity:.55}
.hv-card{position:relative;background:#fff;color:var(--navy);border-radius:16px;box-shadow:0 30px 60px -24px rgba(0,0,0,.55)}
.hv-main{width:min(320px,86%);padding:20px 22px 18px;z-index:2;animation:hvfloat 6s ease-in-out infinite}
.hv-title{margin:0 0 14px;font-weight:700;font-size:.95rem;color:var(--a)}
.hv-main ul{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.hv-main li{display:flex;align-items:center;gap:10px;font-size:.84rem;font-weight:500;color:var(--navy-2);line-height:1.25}
.hv-main li svg{flex:none;color:var(--a)}
.hv-main li.done svg{color:#059669}
.spin{flex:none;width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(60,55,253,.2);border-top-color:var(--a);animation:hvspin 1s linear infinite}
.hv-bar{height:6px;border-radius:6px;background:#eceefa;overflow:hidden}
.hv-bar i{display:block;height:100%;width:72%;border-radius:6px;background:linear-gradient(90deg,var(--a),var(--b))}
.hv-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;padding:10px 16px;font-size:.8rem;font-weight:600;white-space:nowrap}
.hv-chip svg{color:#059669;flex:none}
.hv-chip.c1{top:8%;left:2%;animation:hvfloat 5s ease-in-out -1s infinite}
.hv-chip.c2{right:0;top:46%;animation:hvfloat 7s ease-in-out -2s infinite}
.hv-chip.c3{left:6%;bottom:6%;animation:hvfloat 6s ease-in-out -3s infinite}
.dot{width:10px;height:10px;border-radius:50%;background:#059669;box-shadow:0 0 0 4px rgba(5,150,105,.25)}
.spark{display:flex;align-items:flex-end;gap:3px;height:18px}
.spark b{width:5px;border-radius:2px;background:linear-gradient(var(--a),var(--b))}
.spark b:nth-child(1){height:40%}.spark b:nth-child(2){height:70%}.spark b:nth-child(3){height:55%}.spark b:nth-child(4){height:90%}.spark b:nth-child(5){height:75%}
@keyframes hvfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes hvspin{to{transform:rotate(360deg)}}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-visual{min-height:300px;margin-top:12px}
  .hv-blob.b1{width:170px;height:200px}.hv-blob.b2{width:130px;height:130px}
}
@media (max-width:480px){.hv-chip.c3{display:none}.hv-chip{padding:8px 12px;font-size:.74rem}}
@media (prefers-reduced-motion:reduce){.hv-card,.spin{animation:none!important}}
.hv-chip.c2{top:auto;bottom:5%;right:1%}
.hv-chip.c3{bottom:-1%;left:2%}
.hero-visual{min-height:380px}

/* ===== service hero scenes ===== */
.hv-scene .hv-card{position:absolute}
.hv-scene .hv-main{position:relative}
.hv-scene .tk{flex:none;color:#059669}
.ln{display:block;height:7px;border-radius:5px;background:#e6e8f6;margin:7px 0}
.ln.h{background:linear-gradient(90deg,var(--a),var(--b));height:9px}
.hv-chip .sep{width:1px;height:14px;background:#d9dcef}

/* ai-consulting */
.mx{width:min(300px,84%);padding:18px 20px 20px}
.matrix{position:relative;height:200px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:6px;margin:6px 0 0 18px}
.matrix i{border-radius:10px;background:#f1f2fb;font-style:normal;font-size:.7rem;font-weight:700;color:var(--a);padding:8px}
.matrix i.q1{background:linear-gradient(135deg,rgba(60,55,253,.14),rgba(18,181,203,.18))}
.matrix .ax{position:absolute;font-size:.66rem;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.matrix .ax.y{left:-22px;top:50%;transform:rotate(-90deg) translateX(50%);transform-origin:left top;white-space:nowrap;left:-8px;top:60%}
.matrix .ax.x{bottom:-18px;left:50%;transform:translateX(-50%)}
.pt{position:absolute;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--a),var(--b));box-shadow:0 0 0 4px rgba(60,55,253,.15)}
/* scoped to .pt: bare .p1-.p5 also matched the Our Team faces (.pf.p1-.p6) and faded/misplaced them */
.pt.p1{left:16%;top:18%}.pt.p2{left:32%;top:34%;opacity:.7}.pt.p3{left:70%;top:22%;opacity:.5}.pt.p4{left:22%;top:72%;opacity:.5}.pt.p5{left:74%;top:70%;opacity:.35}
.road{display:flex;gap:3px}.road b{width:14px;height:8px;border-radius:3px;background:var(--a)}.road b:nth-child(2){opacity:.65}.road b:nth-child(3){opacity:.35}

/* rpa */
.flow{position:absolute;top:8%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:0;z-index:3;width:92%;justify-content:center}
.nd{position:relative!important;display:grid;place-items:center;gap:4px;padding:12px 14px;min-width:78px;text-align:center}
.nd b{color:var(--a);display:grid}.nd span{font-size:.72rem;font-weight:600}
.nd.bot{background:linear-gradient(135deg,var(--a),var(--b));color:#fff}.nd.bot b{color:#fff}
.wire{flex:1;min-width:20px;height:3px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.85) 0 6px,transparent 6px 12px);animation:hvdash 1s linear infinite}
.rpa{width:min(250px,70%);margin-top:90px;padding:16px 18px}
@keyframes hvdash{to{background-position:12px 0}}

/* document processing */
.doc{left:6%;top:18%;width:150px;padding:14px;z-index:2;overflow:hidden;transform:rotate(-4deg)}
.doc .hl{height:10px;border-radius:4px;background:rgba(255,193,7,.45);margin:4px 0}.doc .hl2{background:rgba(5,150,105,.4)}
.scan{position:absolute;left:0;right:0;height:26px;background:linear-gradient(180deg,transparent,rgba(60,55,253,.35),transparent);animation:hvscan 3s ease-in-out infinite}
@keyframes hvscan{0%,100%{top:-10%}50%{top:90%}}
.arr{position:absolute;left:38%;top:42%;z-index:3}
.fields{margin-left:34%;margin-top:20px;width:min(220px,60%);padding:16px 18px}
.fields dl{margin:0;display:grid;gap:2px}.fields dt{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.fields dd{margin:0 0 6px}

/* chat (gen AI + helpdesk) */
.chat,.tick{width:min(300px,84%);padding:18px 20px}
.bub{border-radius:14px;padding:10px 14px;font-size:.8rem;margin:8px 0;max-width:88%;line-height:1.35}
.bub.me{background:linear-gradient(135deg,var(--a),var(--b));color:#fff;margin-left:auto;border-bottom-right-radius:4px}
.bub.ai{background:#f1f2fb;border-bottom-left-radius:4px;color:var(--navy-2)}
.bub .src{display:block;margin-top:8px;font-size:.68rem;font-weight:600;color:var(--a)}
.typing{display:flex;gap:4px;padding:6px 4px}.typing i{width:7px;height:7px;border-radius:50%;background:var(--a);opacity:.4;animation:hvtype 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes hvtype{50%{opacity:1;transform:translateY(-3px)}}
.pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.pl{font-size:.68rem;font-weight:700;padding:4px 10px;border-radius:999px;background:#f1f2fb;color:var(--muted)}.pl.a{background:rgba(5,150,105,.15);color:#0f9a77}.pl.b{background:rgba(60,55,253,.14);color:var(--a)}

/* analytics */
.dash{width:min(320px,86%);padding:18px 20px}
.bars{display:flex;align-items:flex-end;gap:10px;height:120px;margin:6px 0 10px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.bars b{flex:1;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--a),var(--b));transform-origin:bottom;animation:hvgrow 1.2s ease both}
.bars b:nth-child(odd){opacity:.6}
@keyframes hvgrow{from{transform:scaleY(.1)}}
.trend{width:100%;height:44px;display:block}

/* migration */
.mig{position:absolute;top:10%;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:0;z-index:3}
.db{position:relative!important;display:grid;place-items:center;gap:4px;padding:14px 18px}.db b{color:var(--a);display:grid}.db.new b{color:#059669}.db span{font-size:.72rem;font-weight:700}
.stream{display:flex;gap:7px;padding:0 12px}.stream i{width:9px;height:9px;border-radius:50%;background:#fff;opacity:.35;animation:hvstream 1.4s infinite}
.stream i:nth-child(2){animation-delay:.2s}.stream i:nth-child(3){animation-delay:.4s}.stream i:nth-child(4){animation-delay:.6s}
@keyframes hvstream{50%{opacity:1;transform:scale(1.35)}}
.prog{width:min(260px,72%);margin-top:150px;padding:16px 18px}

/* code */
.code{width:min(330px,90%);background:#12163a;color:#cfd4ff;padding:0}
.wbar{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid rgba(128,128,170,.25)}
.wbar i{width:9px;height:9px;border-radius:50%;background:#ff6a6a}.wbar i:nth-child(2){background:#ffc14a}.wbar i:nth-child(3){background:#3ad29f}
.wbar span{margin-left:10px;font-size:.72rem;opacity:.7}
.code pre{margin:0;padding:16px 18px 20px;font:500 .78rem/1.7 ui-monospace,Consolas,monospace;overflow:hidden}
.code .k{color:#ff8fc8}.code .f{color:#7fd8ff}.code .c{color:#7a82b8}
.browser .wbar span{color:var(--muted)}

/* finance integration */
.sync{position:absolute;top:10%;left:0;right:0;display:flex;align-items:center;justify-content:center;z-index:3;gap:10px}
.app{position:relative!important;width:120px;padding:14px;text-align:left}.app b{display:block;font-size:.9rem;color:var(--a);margin-bottom:6px}.a2 b{color:#e0561f}
.swap{animation:hvspin 6s linear infinite}
.rows{margin-top:140px;width:min(260px,72%);padding:16px 18px}

/* web/app */
.browser{left:4%;top:16%;width:min(300px,68%);transform:rotate(-2deg);padding:0;overflow:hidden;z-index:2}
.pg{padding:14px}.pg .hero{display:block;height:70px;border-radius:10px;background:linear-gradient(135deg,var(--a),var(--b));margin-bottom:10px}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.three i{height:44px;border-radius:8px;background:#eef0fb}
.phone{right:5%;bottom:8%;width:112px;padding:18px 12px 14px;border-radius:22px;z-index:3;transform:rotate(5deg)}
.phone .notch{display:block;width:34px;height:5px;border-radius:5px;background:#dfe2f4;margin:0 auto 10px}
.phone .pic{display:block;height:58px;border-radius:10px;background:linear-gradient(135deg,var(--b),var(--a));margin-bottom:8px}
.btn-s{display:block;height:22px;border-radius:999px;background:linear-gradient(90deg,var(--a),var(--b));margin-top:10px}

/* managed IT */
.stat{width:min(290px,82%);padding:18px 20px}
.stat ul{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:11px}
.stat li{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;font-size:.82rem;font-weight:500}
.stat em{font-style:normal;font-size:.72rem;font-weight:700;color:#0f9a77}
.sd{width:10px;height:10px;border-radius:50%;background:#059669;box-shadow:0 0 0 4px rgba(5,150,105,.2)}.sd.warn{background:#ffb02e;box-shadow:0 0 0 4px rgba(255,176,46,.25)}
.stat li:last-child em{color:#c77a00}

/* cloud */
.cloud{position:relative;z-index:2;filter:drop-shadow(0 30px 30px rgba(0,0,0,.35));animation:hvfloat 6s ease-in-out infinite}

/* cybersecurity */
.shield{position:relative;z-index:2;filter:drop-shadow(0 30px 30px rgba(0,0,0,.4));animation:hvfloat 6s ease-in-out infinite}
.rings{position:absolute;inset:0;display:grid;place-items:center}
.rings i{position:absolute;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);animation:hvpulse 3.2s ease-out infinite}
.rings i:nth-child(1){width:200px;height:200px}.rings i:nth-child(2){width:290px;height:290px;animation-delay:.8s}.rings i:nth-child(3){width:380px;height:380px;animation-delay:1.6s}
@keyframes hvpulse{0%{opacity:.9;transform:scale(.7)}100%{opacity:0;transform:scale(1.1)}}

/* teams */
.team{width:min(300px,84%);padding:18px 20px}
.mem{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:.84rem;font-weight:500}
.mem:last-child{border:0;color:var(--muted)}
.mem em{font-style:normal;font-size:.68rem;font-weight:700;color:#0f9a77;background:rgba(5,150,105,.14);padding:3px 9px;border-radius:999px}
.av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--a),var(--b));color:#fff;font-size:.72rem}
.av.b{background:linear-gradient(135deg,#262184,#ff668d)}.av.c{background:linear-gradient(135deg,#76caff,#059669)}
.add .av{background:#f1f2fb;color:var(--a);font-size:1.1rem}

@media (max-width:480px){
  .matrix{height:160px}.doc{width:120px}.mig .db{padding:10px 12px}.app{width:100px}.cloud{width:200px;height:auto}.shield{width:130px;height:auto}
  .rings i:nth-child(3){display:none}
}
.s-rpa-automation .c1,.s-data-migration .c1,.s-finance-integration .c1{top:auto;left:auto;right:1%;bottom:6%}
.s-document-processing .arr{display:none}
.cloud{width:300px;height:auto}

/* ===== scenes: home, hubs, company, products, industries, cases ===== */
.hv-scene .tl{position:absolute;display:grid;place-items:center;gap:4px;padding:12px 16px;min-width:92px;text-align:center}
.tl b{color:var(--a);display:grid}.tl span{font-size:.74rem;font-weight:700}
.bigstat{display:grid;gap:2px;margin:4px 0 10px}.bigstat strong{font-size:2.2rem;line-height:1;letter-spacing:-.03em;background:linear-gradient(90deg,var(--a),var(--b));-webkit-background-clip:text;background-clip:text;color:transparent}.bigstat span{font-size:.8rem;color:var(--muted);font-weight:600}

/* home orbit */
.orbit{position:relative;width:min(400px,100%);aspect-ratio:1;display:grid;place-items:center}
.ring{position:absolute;border-radius:50%;border:1.5px dashed rgba(255,255,255,.3)}
.ring.r1{inset:14%}.ring.r2{inset:-2%;border-style:solid;border-color:rgba(255,255,255,.14)}
.core{position:relative;z-index:2;width:128px;height:128px;border-radius:50%;background:linear-gradient(135deg,var(--a),var(--b));color:#fff;display:grid;place-items:center;align-content:center;gap:4px;box-shadow:0 0 0 14px rgba(255,255,255,.1),0 30px 50px -20px rgba(0,0,0,.6);animation:hvfloat 6s ease-in-out infinite}
.core svg{width:32px;height:32px}.core span{font-size:.76rem;font-weight:700}
.orbit .tl{min-width:86px;z-index:3;animation:hvfloat 6s ease-in-out infinite}
.o1{left:0;top:10%}.o2{right:0;top:14%;animation-delay:-1.5s!important}.o3{right:2%;bottom:10%;animation-delay:-3s!important}.o4{left:2%;bottom:12%;animation-delay:-4.5s!important}

/* services hub quad */
.quad{width:min(320px,88%);padding:18px 20px}
.q4{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qb{border-radius:12px;padding:14px 12px;color:#fff;display:grid;gap:8px;font-size:.78rem;font-weight:700;min-height:86px;align-content:space-between}
.qb svg{width:22px;height:22px}
.qb.a{background:linear-gradient(135deg,#3c37fd,#76caff)}.qb.b{background:linear-gradient(135deg,#262184,#ff668d)}.qb.c{background:linear-gradient(135deg,#ff668d,#262184)}.qb.d{background:linear-gradient(135deg,#76caff,#059669)}

/* products hub */
.apps{width:min(340px,92%);padding:18px 20px}
.ap{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ap div{display:grid;justify-items:center;gap:6px;padding:12px 6px;border-radius:12px;background:#f1f3f9;text-align:center;font-size:.68rem;font-weight:700;line-height:1.2}
.ap b{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--a),var(--b));color:#fff;display:grid;place-items:center}

/* industries hub */
.ind{position:relative;width:min(340px,92%);height:280px}
.ind .tl{padding:18px 20px;min-width:130px}
.ind .tl b{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--a),var(--b));color:#fff;place-items:center}
.i1{left:0;top:0}.i2{right:0;top:30px}.i3{left:14px;bottom:0}.i4{right:6px;bottom:24px}

/* case hub results */
.res{width:min(300px,84%);padding:18px 22px}
.rr{display:grid;gap:6px;margin:10px 0}.rr span{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}

/* about timeline */
.tline{width:min(310px,86%);padding:18px 22px}
.tline ol{list-style:none;margin:0;padding:0 0 0 18px;border-left:3px solid #e6e8f6;display:grid;gap:16px}
.tline li{position:relative;display:grid;gap:2px}
.tline li::before{content:"";position:absolute;left:-27px;top:5px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--a)}
.tline li.now::before{background:var(--a);box-shadow:0 0 0 5px rgba(60,55,253,.2)}
.tline b{font-size:1.15rem;color:var(--a)}.tline span{font-size:.8rem;color:var(--navy-2);line-height:1.3}

/* team faces */
.faces{position:relative;width:min(380px,96%);height:320px}
.pf{position:absolute;border-radius:50%;object-fit:cover;object-position:top;border:5px solid #fff;box-shadow:0 20px 40px -16px rgba(0,0,0,.5);background:#fff;animation:hvfloat 6s ease-in-out infinite}
.p1{width:130px;height:130px;left:6%;top:6%}.p2{width:104px;height:104px;left:42%;top:0;animation-delay:-1s}.p3{width:120px;height:120px;right:2%;top:14%;animation-delay:-2s}
.p4{width:96px;height:96px;left:0;bottom:6%;animation-delay:-3s}.p5{width:118px;height:118px;left:32%;bottom:0;animation-delay:-4s}.p6{width:92px;height:92px;right:6%;bottom:8%;animation-delay:-5s}

/* how we work stages */
.steps6{width:min(290px,84%);padding:18px 22px}
.steps6 ol{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.steps6 li{display:flex;align-items:center;gap:10px;font-size:.84rem;font-weight:500}
.steps6 li.now{font-weight:700;color:var(--a)}
.steps6 li:not(.done):not(.now){color:var(--muted)}
.ring-s{flex:none;width:18px;height:18px;border-radius:50%;border:2px solid #d9dcef}

/* security + care lists */
.comp,.care{width:min(300px,84%);padding:20px 22px}
.comp ul,.care ul,.loan ul,.call ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.comp li,.care li,.loan li,.call li{display:flex;align-items:center;gap:10px;font-size:.84rem;font-weight:500}
.lk,.hb{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--a),var(--b));color:#fff;display:grid;place-items:center;margin-bottom:12px}

/* contact */
.book{width:min(290px,84%);padding:18px 22px}
.cal-h{display:flex;align-items:center;gap:10px;color:var(--a);margin-bottom:14px}.cal-h b{font-size:.98rem;color:var(--navy)}
.book ol{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.book li{display:flex;align-items:center;gap:12px;font-size:.86rem;font-weight:500}
.book li b{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--a),var(--b));color:#fff;display:grid;place-items:center;font-size:.76rem}

/* beactive app */
.appwin{position:relative!important;display:flex;width:min(340px,92%);height:230px;background:#fff;border-radius:16px;box-shadow:0 30px 60px -24px rgba(0,0,0,.55);overflow:hidden;z-index:2}
.sb{width:54px;background:linear-gradient(180deg,var(--a),var(--b));display:grid;align-content:start;gap:14px;padding:16px 0;justify-items:center}
.sb i{width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.35)}.sb i.on{background:#fff}
.mn{flex:1;padding:16px}.tp{margin-bottom:10px}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.cards3 i{height:50px;border-radius:10px;background:#f1f2fb}
.bars.sm{height:70px;margin:0;border:0}

/* calling agent */
.call{width:min(280px,80%);padding:18px 22px}
.wave{display:flex;align-items:center;justify-content:center;gap:5px;height:50px;margin-bottom:10px}
.wave i{width:6px;border-radius:4px;background:linear-gradient(var(--a),var(--b));animation:hvwave 1.1s ease-in-out infinite}
.wave i:nth-child(1){height:30%}.wave i:nth-child(2){height:70%;animation-delay:.1s}.wave i:nth-child(3){height:45%;animation-delay:.2s}.wave i:nth-child(4){height:95%;animation-delay:.3s}.wave i:nth-child(5){height:60%;animation-delay:.4s}.wave i:nth-child(6){height:85%;animation-delay:.5s}.wave i:nth-child(7){height:40%;animation-delay:.6s}.wave i:nth-child(8){height:65%;animation-delay:.7s}
@keyframes hvwave{50%{transform:scaleY(.45)}}

/* statements report + knowledge */
.rep{margin-left:30%}.fields dd.fl .ln{background:linear-gradient(90deg,#ffb02e,#ff668d)}
.bub.tk2{display:flex;align-items:center;gap:8px;background:rgba(60,55,253,.1);color:var(--a);font-weight:600;margin-right:auto}

/* accounting workpapers */
.wp{width:min(320px,88%);padding:18px 22px}
.tbl2{display:grid;grid-template-columns:1fr auto;gap:12px 10px;font-size:.82rem;align-items:center}
.tbl2 em{font-style:normal;font-size:.68rem;font-weight:700;padding:3px 10px;border-radius:999px}
.tbl2 .ok{background:rgba(5,150,105,.15);color:#0f9a77}.tbl2 .rv{background:rgba(255,176,46,.2);color:#b36b00}

/* mortgage gauge */
.loan{width:min(290px,82%);padding:18px 22px}
.gauge{position:relative;margin:4px 0 12px;text-align:center}.gauge svg{width:100%;max-width:200px}.gauge b{display:block;font-size:.78rem;color:var(--muted);margin-top:-6px}

/* ndis */
.ndis{width:min(310px,86%);padding:18px 22px}
.stack{display:grid;gap:10px;margin:10px 0 14px}.stack i{display:block;height:12px;border-radius:8px;background:linear-gradient(90deg,var(--a),var(--b))}.stack i:nth-child(2){opacity:.7}.stack i:nth-child(3){opacity:.45}
.mrow{display:flex;align-items:center;gap:6px;font-size:.66rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.mrow em{flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--a) 0 4px,transparent 4px 8px)}

/* case studies */
.ba{width:min(280px,80%);padding:18px 22px}
.col2{display:flex;gap:30px;align-items:flex-end;justify-content:center;margin-top:14px}
.col2>div{display:grid;justify-items:center;gap:6px;font-size:.76rem;font-weight:600;color:var(--muted)}
.cbar{display:block;width:56px;border-radius:10px 10px 0 0}.cbar.before{background:#d9dcef}.cbar.after{background:linear-gradient(180deg,var(--a),var(--b))}
.col2 strong{font-size:1.05rem;color:var(--navy)}
.rgc,.clock{display:grid;place-items:center}
.rgc.hv-main{padding:22px 30px}.rc{position:absolute;text-align:center;display:grid}.rc strong{font-size:1.5rem;color:var(--navy)}.rc span{font-size:.72rem;color:var(--muted);font-weight:600}
.hv-main.rgc{position:relative}
.dn{width:min(290px,82%);padding:18px 22px}.dn svg{width:100%;height:60px;display:block}
.fr{width:min(300px,84%);padding:18px 22px}
.sites{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:10px 0 14px}.sites i{aspect-ratio:1;border-radius:50%;background:linear-gradient(135deg,var(--a),var(--b))}.sites i.off{opacity:.25}
.clock{width:min(260px,74%);padding:22px;text-align:center;gap:6px}

@media (max-width:480px){
  .orbit .tl{min-width:72px;padding:8px 10px}.core{width:100px;height:100px}
  .ind{height:240px}.faces{height:260px}.p1{width:100px;height:100px}.p2{width:80px;height:80px}.p3{width:96px;height:96px}.p4{width:76px;height:76px}.p5{width:92px;height:92px}.p6{width:72px;height:72px}
  .appwin{height:200px}
}
.s-home .c1{top:-3%;left:auto;right:6%}
.s-our-team .c1{top:-2%;left:0}
.s-our-team .c3{bottom:-2%}

/* web and app scene */
.dsys{left:2%;top:14%;width:min(250px,56%);padding:16px 18px;z-index:2;transform:rotate(-2deg)}
.sw{display:flex;gap:6px;margin:8px 0 12px}.sw i{flex:1;height:26px;border-radius:8px}
.ctl{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.72rem;font-weight:700}
.bt1{padding:7px 14px;border-radius:999px;background:linear-gradient(90deg,var(--a),var(--b));color:#fff}
.bt2{padding:6px 13px;border-radius:999px;border:1.5px solid var(--a);color:var(--a)}
.tg{width:34px;height:20px;border-radius:999px;background:var(--a);position:relative;flex:none}.tg i{position:absolute;right:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff}
.tg.off{background:#d9dcef}.tg.off i{right:auto;left:3px}
.inp{flex:1;padding:6px 10px;border:1.5px solid #e1e4f5;border-radius:8px;color:var(--muted);font-weight:500}
.type{display:flex;align-items:center;gap:12px}.type b{font-size:1.8rem;color:var(--navy);line-height:1}.type span{flex:1}
.appscr{right:6%;bottom:4%;width:156px;padding:12px 12px 0;border-radius:24px;z-index:3;transform:rotate(4deg);overflow:hidden;position:absolute}
.ah{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:.78rem}
.ah b{flex:1;color:var(--navy)}.hbg{width:16px;height:2px;background:var(--navy);box-shadow:0 5px 0 var(--navy),0 -5px 0 var(--navy)}
.av2{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--a),var(--b))}
.kpi{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.kpi i{height:44px;border-radius:10px;background:linear-gradient(135deg,var(--a),var(--b))}.kpi i:last-child{background:#eef0fb}
.lst{display:grid;gap:8px}.lst>div{display:flex;align-items:center;gap:8px}.lst span{flex:1}.lst .ln{margin:4px 0;height:6px}
.ic{width:26px;height:26px;border-radius:8px;background:var(--a);flex:none}.ic.b{background:var(--b)}.ic.c{background:#ff668d}
.tabs3{display:flex;justify-content:space-around;margin:12px -12px 0;padding:10px 0;border-top:1px solid var(--line)}
.tabs3 i{width:18px;height:18px;border-radius:6px;background:#dfe2f4}.tabs3 i.on{background:var(--a)}
@media (max-width:480px){.dsys{width:60%}.appscr{width:130px}}

/* ===== photo hero: rounded photo, offset colour blocks, floating info card ===== */
.hv-photo{display:block;min-height:0;padding:28px 24px 34px 30px}
.hv-photo .ph-blob{position:absolute;border-radius:30px;z-index:0}
.hv-photo .pb1{width:44%;height:50%;right:0;top:0;background:var(--a)}
.hv-photo .pb2{width:36%;height:42%;left:0;bottom:0;background:#c7d2fe}
.ph-img{position:relative;z-index:1;border-radius:30px;overflow:hidden;aspect-ratio:5/4;box-shadow:0 40px 70px -30px rgba(0,0,0,.6)}
.ph-img img{width:100%;height:100%;object-fit:cover;display:block}
.ph-card{position:absolute;z-index:2;right:0;bottom:6px;display:flex;align-items:center;gap:12px;background:#fff;color:var(--navy);padding:12px 18px 12px 12px;border-radius:16px;box-shadow:0 24px 50px -20px rgba(0,0,0,.55);animation:hvfloat 6s ease-in-out infinite}
.ph-card b{width:42px;height:42px;border-radius:12px;background:#c7d2fe;color:var(--navy);display:grid;place-items:center;flex:none}
.ph-card strong{display:block;font-size:.95rem;line-height:1.2}.ph-card span{display:block;font-size:.8rem;color:var(--muted)}
@media (max-width:900px){.hv-photo{padding:20px 14px 30px}.ph-card{right:6px}}

/* ===== cover hero: full-width photo on the right ===== */
.hero-cover{min-height:clamp(520px,66vh,720px);display:flex;align-items:center;background:var(--navy)}
.hero-cover::before{content:"";position:absolute;inset:0;background:var(--cover) right center/cover no-repeat;z-index:0}
.hero-cover::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 30%,rgba(11,16,48,.82) 48%,rgba(11,16,48,.25) 72%,rgba(11,16,48,.05) 100%)}
.hero-cover .hero-art{display:none}
.hero-cover>.wrap{position:relative;z-index:2;width:100%}
.hero-cover .hero-copy{max-width:640px}
.hero-cover .h1{background:none;-webkit-text-fill-color:#fff;color:#fff}
.cover-card{position:absolute;z-index:3;right:clamp(16px,6vw,110px);bottom:clamp(20px,6vh,60px);display:flex;align-items:center;gap:14px;background:#fff;color:var(--navy);padding:14px 22px 14px 14px;border-radius:18px;box-shadow:0 30px 60px -24px rgba(0,0,0,.6);animation:hvfloat 6s ease-in-out infinite}
.cover-card b{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--accent),var(--brand-2));color:#fff;display:grid;place-items:center;flex:none}
.cover-card strong{display:block;font-size:1.08rem;line-height:1.2}.cover-card span{display:block;font-size:.88rem;color:var(--muted)}
@media (max-width:900px){
  .hero-cover::before{background-position:70% center}
  .hero-cover::after{background:linear-gradient(180deg,rgba(11,16,48,.55),rgba(11,16,48,.92) 55%,var(--navy))}
  .hero-cover{align-items:flex-end;padding-top:240px}
  .cover-card{position:relative;right:auto;bottom:auto;margin:24px var(--gut) 0;align-self:flex-start}
  .hero-cover{flex-direction:column;align-items:stretch}
}

/* BeActive + BeSecure scenes */
.wf{width:min(310px,86%);padding:18px 20px}
.tiles3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px}
.tiles3 div{background:#f1f3f9;border-radius:10px;padding:8px 9px}.tiles3 span{display:block;font-size:.6rem;font-weight:700;color:var(--muted);line-height:1.2;text-transform:uppercase;letter-spacing:.03em}
.tiles3 .ln{height:9px;margin:8px 0 0}
.segbar{display:flex;height:12px;border-radius:8px;overflow:hidden;gap:2px}
.segbar i{display:block}.segbar .s1,.leg .s1{background:var(--a)}.segbar .s2,.leg .s2{background:var(--b)}.segbar .s3,.leg .s3{background:#ffb02e}.segbar .s4,.leg .s4{background:#d9dcef}
.segbar .s1{flex:68}.segbar .s2{flex:14}.segbar .s3{flex:11}.segbar .s4{flex:7}
.leg{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 12px;font-size:.66rem;font-weight:600;color:var(--muted)}.leg b{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}
.exc{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:10px;background:rgba(255,176,46,.14);font-size:.76rem;font-weight:600;color:#9a5b00}.exc i{width:8px;height:8px;border-radius:50%;background:#ffb02e}
.lp{width:min(300px,84%);padding:18px 20px}
.lph{display:flex;justify-content:space-between;align-items:center}.lph em{font-style:normal;font-size:.66rem;font-weight:700;color:#0f9a77;background:rgba(5,150,105,.15);padding:3px 9px;border-radius:999px}
.lpg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
.lpg div{display:grid;justify-items:center;gap:6px;padding:10px 4px;border-radius:12px;background:#f1f3f9;font-size:.64rem;font-weight:700;text-align:center;line-height:1.2}
.lpg b{width:36px;height:36px;border-radius:10px;color:#fff;display:grid;place-items:center;font-size:1rem}

/* security scene: keep the top chip clear of the card heading */
.s-security-compliance .c1{top:-4%}

/* ===== Befree palette overrides (scenes sit on the Dark Blue hero) ===== */
.hero-visual{--a:#3c37fd;--b:#76caff}
.hero-visual.v-build-integrate{--a:#262184;--b:#3c37fd}
.hero-visual.v-run-protect{--a:#262184;--b:#ff668d}
.hero-visual.v-teams{--a:#3c37fd;--b:#3c37fd}
.hv-card,.appwin{box-shadow:0 1px 2px rgba(15,23,42,.06),0 18px 40px -18px rgba(15,23,42,.28);border:1px solid var(--line)}
.hv-blob{background:rgba(118,202,255,.18);opacity:1;filter:none}
.hv-blob.b2{background:rgba(255,171,87,.25);opacity:1}
.ring{border-color:rgba(255,255,255,.3)}.ring.r2{border-color:rgba(255,255,255,.14)}
.core{box-shadow:0 0 0 14px rgba(60,55,253,.08),0 24px 40px -20px rgba(15,23,42,.35)}
.pf{box-shadow:0 14px 30px -16px rgba(15,23,42,.4)}
/* photo hero: the photo sits in an app window (title bar shows the page path), status card pinned below */
.hv-photo{display:block;min-height:0;padding:0 0 30px}
.hv-photo .ph-blob,.hv-photo::before{display:none}
.hv-photo .win{position:relative;border:1px solid rgba(255,255,255,.18);border-radius:12px;overflow:hidden;background:#1a1240;box-shadow:0 40px 80px -40px rgba(0,0,0,.9),0 0 80px -24px rgba(60,55,253,.6)}
.hv-photo .win-bar{border-bottom:1px solid rgba(255,255,255,.12)}
.ph-img{border-radius:0;box-shadow:none;aspect-ratio:16/11}
.ph-img img{filter:saturate(.9) contrast(1.05)}
.ph-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(17,11,41,.55)),linear-gradient(rgba(118,202,255,.05) 1px,transparent 1px) 0 0/100% 4px;pointer-events:none}
.ph-card{left:20px;right:auto;bottom:0;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#170f36;color:#fff;box-shadow:0 18px 40px -18px rgba(0,0,0,.8);animation:none;font-family:var(--font)}
.ph-card b{background:var(--brand);color:#fff;border-radius:8px}
.ph-card span{color:rgba(255,255,255,.6)}
.cover-card b{background:var(--brand)}
@media (max-width:900px){.ph-card{left:12px}}
/* the home console is not an illustration: no centring box or fixed height */
.hero-visual.console,.hero-visual.hv-photo{display:block;min-height:0;place-items:normal}
@media (min-width:901px){.hero-home .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.02fr)}}
@media (max-width:900px){.hero-visual.console{margin-top:8px}}

/* inner-page heroes: shorter illustration area (the base rule above sets 380px) */
.hero:not(.hero-home) .hero-visual{min-height:280px}
@media (max-width:900px){.hero:not(.hero-home) .hero-visual{min-height:240px}}
/* a real product screen in the hero: shown as captured, no photo treatment */
.hv-photo.is-ui .ph-img{aspect-ratio:800/585;background:#fff}
.hv-photo.is-ui .ph-img img{filter:none;object-position:top left}
.hv-photo.is-ui .ph-img::after{display:none}
/* float the screen, its card and chips like the illustrated product heroes */
.hv-photo.is-ui .win{animation:hvfloat 6s ease-in-out infinite}
.hv-photo.is-ui .ph-card{z-index:3;animation:hvfloat 5s ease-in-out -1.5s infinite}
.hv-photo.is-ui .hv-chip.c1{top:16%;left:-5%;bottom:auto;right:auto;animation:hvfloat 5s ease-in-out -1s infinite}
.hv-photo.is-ui .hv-chip.c2{top:44%;right:-4%;bottom:auto;left:auto;animation:hvfloat 7s ease-in-out -2s infinite}
@media (max-width:900px){.hv-photo.is-ui .hv-chip.c1{left:2%}.hv-photo.is-ui .hv-chip.c2{right:2%}}
@media (prefers-reduced-motion:reduce){.hv-photo.is-ui .win,.hv-photo.is-ui .ph-card{animation:none}}
