/* ═══════════════════════════════════════════════════════════════
   BAMI.NETWORK · HEADER + FOOTER v3
   Fisier separat - se incarca dupa /assets/css/style.css
   Pune in: /assets/css/header-footer.css
   ═══════════════════════════════════════════════════════════════ */

/* Reset legacy nav rules so v3 can take over cleanly */
#navbar.bami-nav .nav-menu > li > a::after { content: none !important; }

/* ── NAVBAR ── */
.bami-nav{
  position:fixed; top:0; left:0; right:0; z-index:9999;
  height:74px; display:flex; align-items:center; padding:0 2.5rem;
  background:linear-gradient(180deg, rgba(2,4,9,.72), rgba(2,4,9,.55));
  backdrop-filter:blur(28px) saturate(180%); -webkit-backdrop-filter:blur(28px) saturate(180%);
  border-bottom:1px solid rgba(0,212,255,.08);
  transition:height .35s var(--ease,cubic-bezier(.4,0,.2,1)),
             background .35s var(--ease,cubic-bezier(.4,0,.2,1)),
             border-color .35s var(--ease,cubic-bezier(.4,0,.2,1)),
             box-shadow .35s var(--ease,cubic-bezier(.4,0,.2,1));
}
.bami-nav.scrolled{
  height:64px;
  background:rgba(2,4,9,.94);
  border-bottom-color:rgba(0,212,255,.18);
  box-shadow:0 8px 40px rgba(0,0,0,.55);
}
.bami-nav .nav-inner{ max-width:1280px; width:100%; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }

/* animated sweep line at bottom of navbar */
.nav-sweep{
  position:absolute; left:0; right:0; bottom:0; height:1px; pointer-events:none;
  background:linear-gradient(90deg, transparent 0%, rgba(0,212,255,.5) 30%, rgba(124,58,237,.5) 70%, transparent 100%);
  background-size:200% 100%; animation:navSweep 6s linear infinite; opacity:.55;
}
@keyframes navSweep{ 0%{background-position:0% 0} 100%{background-position:200% 0} }

/* ── LOGO ── */
.bami-nav .nav-logo{ display:flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0; }
.bami-nav .logo-mark{
  position:relative; width:42px; height:42px; border-radius:12px;
  background:linear-gradient(145deg, #061021, #0c1424);
  border:1px solid rgba(0,212,255,.25); display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 24px rgba(0,212,255,.22), inset 0 1px 0 rgba(255,255,255,.06);
  flex-shrink:0; overflow:visible;
  transition:transform .5s var(--spring,cubic-bezier(.34,1.56,.64,1)), box-shadow .35s ease;
}
.bami-nav .nav-logo:hover .logo-mark{ transform:rotate(-6deg) scale(1.05); box-shadow:0 0 38px rgba(0,212,255,.45); }
.bami-nav .logo-mark::before{ display:none; }
.bami-nav .logo-svg{ width:30px; height:30px; position:relative; z-index:2; }
.logo-ring{
  position:absolute; border-radius:50%; pointer-events:none;
  border:1px solid rgba(0,212,255,.35);
}
.logo-ring-1{ inset:-4px; animation:ringPulse 2.6s ease-in-out infinite; }
.logo-ring-2{ inset:-8px; border-color:rgba(124,58,237,.25); animation:ringPulse 2.6s ease-in-out .8s infinite; }
@keyframes ringPulse{ 0%,100%{transform:scale(1); opacity:.7} 50%{transform:scale(1.12); opacity:1} }

.lnode{ transform-origin:20px 19px; animation:nodeBlink 4s ease-in-out infinite; }
.lnode-2{ animation-delay:.4s } .lnode-3{ animation-delay:.8s } .lnode-4{ animation-delay:1.2s }
.lnode-5{ animation-delay:1.6s } .lnode-6{ animation-delay:2s }
@keyframes nodeBlink{ 0%,100%{opacity:.4} 50%{opacity:1} }

.bami-nav .logo-name{
  font-family:'Orbitron',monospace; font-size:1.02rem; font-weight:700;
  color:#ddeeff; letter-spacing:.12em; line-height:1;
  white-space:nowrap;
}
.bami-nav .logo-name .logo-dot{
  color:#00d4ff; display:inline-block; animation:dotBlink 1.6s ease-in-out infinite;
}
@keyframes dotBlink{ 0%,100%{opacity:1; text-shadow:0 0 12px rgba(0,212,255,.7)} 50%{opacity:.55; text-shadow:none} }

/* ── DESKTOP MENU ── */
.bami-nav .nav-menu{
  display:flex; align-items:center; gap:.4rem; list-style:none; margin:0; padding:0;
  flex:1; justify-content:center;
}
.bami-nav .nav-menu .nav-link{
  position:relative; display:inline-flex; align-items:center; gap:6px;
  color:#a8b8ce; font-size:.88rem; font-weight:500; letter-spacing:.04em;
  padding:.55rem 1rem; border-radius:10px; text-decoration:none;
  transition:color .25s ease, background .25s ease;
}
.bami-nav .nav-menu .nav-link:hover{ color:#ddeeff; background:rgba(255,255,255,.03); }
.bami-nav .nav-menu .nav-link .nav-chev{ font-size:.6rem; opacity:.6; transition:transform .3s ease; }
.bami-nav .has-dropdown:hover .nav-chev{ transform:rotate(180deg); }

/* active underline (gradient) */
.bami-nav .nav-menu .nav-link.is-active{ color:#fff; }
.bami-nav .nav-menu .nav-link.is-active::before,
.bami-nav .nav-menu .nav-link:hover::before{
  content:''; position:absolute; left:14%; right:14%; bottom:2px; height:2px; border-radius:2px;
  background:linear-gradient(90deg, #00d4ff, #7c3aed);
  box-shadow:0 0 10px rgba(0,212,255,.5);
  transform-origin:center; animation:linkUnderline .35s var(--ease) both;
}
.bami-nav .nav-menu .nav-link:hover::before{ opacity:.7; }
@keyframes linkUnderline{ from{transform:scaleX(0)} to{transform:scaleX(1)} }

/* dropdown */
.bami-nav .nav-dropdown{
  position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%) translateY(8px);
  min-width:280px; padding:.55rem;
  background:rgba(10,16,32,.92); backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(0,212,255,.14); border-radius:16px;
  box-shadow:0 24px 60px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.04);
  opacity:0; visibility:hidden; transition:all .25s var(--ease); z-index:100;
}
.bami-nav .has-dropdown:hover .nav-dropdown{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); }
.bami-nav .nav-dropdown a{
  display:flex; align-items:center; gap:11px; padding:9px 13px; border-radius:9px;
  color:#a8b8ce; font-size:.86rem; font-weight:500; text-decoration:none;
  border:1px solid transparent; transition:all .2s;
}
.bami-nav .nav-dropdown a i{ width:18px; text-align:center; color:#00d4ff; font-size:.82rem; opacity:.85; }
.bami-nav .nav-dropdown a:hover{ background:rgba(0,212,255,.07); color:#fff; border-color:rgba(0,212,255,.12); padding-left:18px; }
.bami-nav .nav-dropdown a.is-active{ background:rgba(0,212,255,.08); color:#fff; border-color:rgba(0,212,255,.18); }

/* ── ACTIONS ── */
.bami-nav .nav-actions{ display:flex; align-items:center; gap:.55rem; flex-shrink:0; }

/* Language flags (desktop only) */
.lang-flags{ display:flex; align-items:center; gap:4px; padding:4px; border-radius:11px; background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.05); }
.lang-flag{
  display:flex; width:28px; height:20px; border-radius:5px; overflow:hidden;
  filter:grayscale(.7) opacity(.55); transition:all .3s var(--ease);
  cursor:pointer; border:1px solid transparent;
}
.lang-flag svg{ width:100%; height:100%; display:block; }
.lang-flag:hover{ filter:grayscale(0) opacity(.95); transform:translateY(-1px); }
.lang-flag.is-on{ filter:grayscale(0) opacity(1); border-color:rgba(0,212,255,.5); box-shadow:0 0 0 2px rgba(0,212,255,.15), 0 0 12px rgba(0,212,255,.35); }

/* Account icon (replaces button) */
.acc-wrap{ position:relative; }
.acc-btn{
  width:40px; height:40px; border-radius:50%; border:1px solid rgba(0,212,255,.25);
  background:rgba(0,212,255,.06); color:#a8e9ff; cursor:pointer; padding:0;
  display:inline-flex; align-items:center; justify-content:center; font-size:.95rem;
  position:relative; transition:all .3s var(--spring);
}
.acc-btn:hover{ background:rgba(0,212,255,.12); border-color:rgba(0,212,255,.5); color:#fff; transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,212,255,.25); }
.acc-btn-auth{ background:linear-gradient(135deg, rgba(0,212,255,.18), rgba(124,58,237,.18)); }
.acc-avatar{
  width:30px; height:30px; border-radius:50%;
  background:linear-gradient(135deg, #00d4ff, #7c3aed);
  color:#fff; font-family:'Orbitron',monospace; font-size:.72rem; font-weight:800;
  display:flex; align-items:center; justify-content:center; letter-spacing:.02em;
}
.acc-pulse{
  position:absolute; bottom:1px; right:1px; width:9px; height:9px; border-radius:50%;
  background:#00e5a0; border:2px solid #02050d;
  animation:accPulse 2s ease-in-out infinite;
}
@keyframes accPulse{ 0%,100%{box-shadow:0 0 0 0 rgba(0,229,160,.5)} 50%{box-shadow:0 0 0 6px rgba(0,229,160,0)} }

.acc-dropdown{
  position:absolute; top:calc(100% + 12px); right:0; min-width:240px;
  background:rgba(10,16,32,.96); backdrop-filter:blur(24px);
  border:1px solid rgba(0,212,255,.14); border-radius:14px;
  box-shadow:0 24px 60px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.04);
  padding:.4rem; z-index:200;
  opacity:0; visibility:hidden; transform:translateY(8px) scale(.97);
  transition:all .25s var(--ease);
}
.acc-wrap.open .acc-dropdown{ opacity:1; visibility:visible; transform:translateY(0) scale(1); }
.acc-dropdown a{
  display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:9px;
  color:#a8b8ce; font-size:.86rem; font-weight:500; text-decoration:none;
  transition:all .2s;
}
.acc-dropdown a i{ width:16px; text-align:center; color:#00d4ff; font-size:.82rem; }
.acc-dropdown a:hover{ background:rgba(0,212,255,.07); color:#fff; padding-left:16px; }
.acc-dropdown a.is-admin{ color:#f59e0b; } .acc-dropdown a.is-admin i{ color:#f59e0b; }
.acc-dropdown a.is-danger{ color:#ff7a8c; } .acc-dropdown a.is-danger i{ color:#ff7a8c; }
.acc-divider{ height:1px; background:rgba(255,255,255,.06); margin:.35rem .3rem; }

.acc-head{ display:flex; gap:10px; align-items:center; padding:10px 12px 12px; border-bottom:1px solid rgba(255,255,255,.05); margin-bottom:.4rem; }
.acc-head-avatar{ width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,#00d4ff,#7c3aed); color:#fff; font-family:'Orbitron',monospace; font-size:.78rem; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.acc-head-info{ display:flex; flex-direction:column; gap:1px; min-width:0; }
.acc-head-info strong{ color:#fff; font-size:.86rem; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:160px; }
.acc-head-info span{ color:#6e90b0; font-size:.72rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:160px; }

/* Guest dropdown */
.acc-dropdown-guest{ min-width:240px; padding:1rem; }
.acc-guest-head{ margin-bottom:.85rem; }
.acc-guest-head strong{ display:block; color:#fff; font-family:'Orbitron',monospace; font-size:.92rem; letter-spacing:.04em; margin-bottom:.2rem; }
.acc-guest-head span{ color:#6e90b0; font-size:.78rem; line-height:1.5; }
.acc-cta{ display:flex; align-items:center; justify-content:center; gap:8px; padding:11px 14px; border-radius:10px; font-size:.85rem; font-weight:600; text-decoration:none; margin-top:.5rem; transition:all .25s; }
.acc-cta-primary{ background:linear-gradient(135deg,#00d4ff,#7c3aed); color:#fff; box-shadow:0 4px 16px rgba(0,212,255,.3); }
.acc-cta-primary:hover{ transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,212,255,.45); color:#fff; }
.acc-cta-ghost{ background:rgba(255,255,255,.03); color:#a8b8ce; border:1px solid rgba(255,255,255,.08); }
.acc-cta-ghost:hover{ background:rgba(0,212,255,.07); color:#fff; border-color:rgba(0,212,255,.25); }

/* nav CTA fine-tune */
.bami-nav .nav-cta{ padding:10px 18px; font-size:.85rem; }
.bami-nav .nav-cta i{ font-size:.78rem; }

/* hamburger */
.bami-nav .hamburger{ display:none; flex-direction:column; gap:5px; cursor:pointer; padding:9px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); border-radius:9px; }
.bami-nav .hamburger span{ display:block; width:20px; height:1.8px; background:#ddeeff; border-radius:2px; transition:all .3s var(--ease); }
.bami-nav .hamburger.active span:nth-child(1){ transform:rotate(45deg) translate(4px,4.5px); }
.bami-nav .hamburger.active span:nth-child(2){ opacity:0; transform:scaleX(0); }
.bami-nav .hamburger.active span:nth-child(3){ transform:rotate(-45deg) translate(4px,-4.5px); }

/* ── MOBILE MENU ── */
.mobile-overlay{ position:fixed !important; inset:0 !important; background:rgba(2,4,9,.6); backdrop-filter:blur(6px); opacity:0; visibility:hidden; transition:opacity .35s ease; z-index:9997; }
.mobile-overlay.on{ opacity:1; visibility:visible; }

.mobile-menu{
  position:fixed !important;
  top:0 !important; right:0 !important; bottom:0 !important; left:auto !important;
  width:min(380px, 88vw) !important;
  background:linear-gradient(180deg, #050810 0%, #020409 100%) !important;
  border-left:1px solid rgba(0,212,255,.1);
  z-index:9998 !important;
  padding:1.25rem !important;
  display:flex !important; flex-direction:column !important;
  transform:translateX(100%) !important;
  transition:transform .42s cubic-bezier(.4,0,.2,1) !important;
  overflow-y:auto;
  pointer-events:none;
  visibility:hidden;
}
.mobile-menu.open{ transform:translateX(0) !important; pointer-events:auto; visibility:visible; }

.mob-head{ display:flex; align-items:center; justify-content:space-between; padding:.5rem .25rem 1rem; border-bottom:1px solid rgba(255,255,255,.05); margin-bottom:1rem; }
.mob-close{ width:36px; height:36px; border-radius:9px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.03); color:#ddeeff; cursor:pointer; font-size:.95rem; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.mob-close:hover{ background:rgba(255,77,109,.1); border-color:rgba(255,77,109,.3); color:#ff7a8c; }

.mobile-nav-links{ list-style:none; display:flex; flex-direction:column; gap:.25rem; padding:0; margin:0; }
.mobile-nav-links > li > a, .mob-section-toggle{
  display:flex; align-items:center; gap:12px; width:100%;
  padding:.85rem 1rem; border-radius:11px;
  color:#a8b8ce; font-size:.93rem; font-weight:500;
  border:1px solid transparent; background:none; cursor:pointer; text-align:left;
  text-decoration:none; transition:all .25s;
  font-family:inherit;
}
.mobile-nav-links > li > a > i, .mob-section-toggle > span > i{ width:20px; text-align:center; color:#00d4ff; font-size:.85rem; flex-shrink:0; }
.mobile-nav-links > li > a:hover, .mob-section-toggle:hover{ color:#fff; background:rgba(0,212,255,.05); border-color:rgba(0,212,255,.12); }
.mobile-nav-links > li > a.is-active{ color:#fff; background:rgba(0,212,255,.08); border-color:rgba(0,212,255,.22); box-shadow:inset 3px 0 0 #00d4ff; padding-left:calc(1rem + 3px); }

/* services accordion */
.mob-section-toggle{ justify-content:space-between; }
.mob-section-toggle > span{ display:flex; align-items:center; gap:12px; }
.mob-section-chev{ font-size:.7rem; opacity:.6; transition:transform .3s; }
.mob-section.open .mob-section-chev{ transform:rotate(180deg); }
.mob-section-body{ max-height:0; overflow:hidden; transition:max-height .35s ease; padding-left:.75rem; display:flex; flex-direction:column; gap:.2rem; }
.mob-section.open .mob-section-body{ max-height:500px; padding-top:.3rem; padding-bottom:.4rem; }
.mob-section-body a{
  display:flex; align-items:center; gap:11px; padding:.65rem .85rem; border-radius:9px;
  color:#7e95ad; font-size:.85rem; text-decoration:none; transition:all .2s;
  border:1px solid transparent;
}
.mob-section-body a i{ width:18px; text-align:center; color:#00d4ff; font-size:.78rem; opacity:.7; }
.mob-section-body a:hover{ color:#fff; background:rgba(0,212,255,.04); }
.mob-section-body a.is-active{ color:#fff; background:rgba(0,212,255,.08); border-color:rgba(0,212,255,.18); }

/* mobile language */
.mob-lang-row{ margin-top:1.25rem; padding-top:1rem; border-top:1px solid rgba(255,255,255,.05); }
.mob-lang-label{ display:block; font-family:'Exo 2',sans-serif; font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(255,255,255,.35); margin-bottom:.65rem; padding:0 .25rem; }
.mob-lang-opts{ display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.mob-lang-opt{
  display:flex; align-items:center; gap:9px; padding:.7rem .85rem;
  border-radius:10px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06);
  color:#a8b8ce; font-size:.84rem; font-weight:600; text-decoration:none; transition:all .25s;
}
.mob-lang-opt svg{ width:22px; height:14px; border-radius:3px; flex-shrink:0; box-shadow:0 0 0 1px rgba(255,255,255,.05); }
.mob-lang-opt:hover{ color:#fff; border-color:rgba(0,212,255,.2); }
.mob-lang-opt.is-on{ color:#fff; background:rgba(0,212,255,.08); border-color:rgba(0,212,255,.35); box-shadow:0 0 0 1px rgba(0,212,255,.15); }

/* mobile account card */
.mob-account-card{ display:flex; gap:11px; align-items:center; padding:1rem; margin-top:1rem; border-radius:13px; background:linear-gradient(135deg, rgba(0,212,255,.06), rgba(124,58,237,.06)); border:1px solid rgba(0,212,255,.15); }
.mob-acc-avatar{ width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg,#00d4ff,#7c3aed); color:#fff; font-family:'Orbitron',monospace; font-size:.85rem; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.mob-acc-info{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.mob-acc-info strong{ color:#fff; font-size:.92rem; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mob-acc-info span{ color:#6e90b0; font-size:.74rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.mob-acc-actions{ display:flex; flex-direction:column; gap:.4rem; margin-top:.75rem; }
.mob-acc-link{
  display:flex; align-items:center; gap:11px; padding:.75rem 1rem; border-radius:10px;
  color:#a8b8ce; font-size:.88rem; font-weight:500; text-decoration:none;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); transition:all .2s;
}
.mob-acc-link i{ width:18px; text-align:center; color:#00d4ff; font-size:.85rem; }
.mob-acc-link:hover{ color:#fff; background:rgba(0,212,255,.06); border-color:rgba(0,212,255,.15); }
.mob-acc-link.is-primary{ background:linear-gradient(135deg, rgba(0,212,255,.18), rgba(124,58,237,.18)); color:#fff; border-color:rgba(0,212,255,.3); }
.mob-acc-link.is-admin{ color:#f59e0b; } .mob-acc-link.is-admin i{ color:#f59e0b; }
.mob-acc-link.is-danger{ color:#ff7a8c; } .mob-acc-link.is-danger i{ color:#ff7a8c; }

.mob-cta{ margin-top:1.25rem; justify-content:center; width:100%; }

/* ── RESPONSIVE BREAKPOINTS ── */
@media(max-width:1100px){
  .bami-nav .nav-menu{ gap:.1rem; }
  .bami-nav .nav-menu .nav-link{ padding:.5rem .75rem; font-size:.84rem; }
  .bami-nav .nav-cta span{ display:none; }
  .bami-nav .nav-cta{ width:40px; height:40px; padding:0; justify-content:center; border-radius:50%; }
}
@media(max-width:960px){
  html,body{ overflow-x:hidden; }
  .bami-nav{ padding:0 1.5rem; }
  .bami-nav .nav-menu{ display:none; }
  .lang-flags{ display:none; }       /* limbi doar in meniul mobil pe tablet */
  .bami-nav .hamburger{ display:flex; }
}
@media(max-width:520px){
  .bami-nav{ padding:0 1rem; height:64px; }
  .bami-nav.scrolled{ height:56px; }
  .bami-nav .logo-name{ font-size:.92rem; letter-spacing:.08em; }
  .bami-nav .logo-mark{ width:38px; height:38px; }
  .bami-nav .logo-svg{ width:26px; height:26px; }
  .bami-nav .nav-cta{ display:none; }     /* CTA mutat in mobile menu */
}

/* push body content below fixed navbar (only if needed) */
body{ padding-top:0; }

/* Hide mobile drawer on desktop (>960px) regardless of legacy CSS */
@media(min-width:961px){
  .mobile-menu{ display:none !important; }
  .mobile-overlay{ display:none !important; }
}

/* ═══════════════════════════════════════════════════════════════
   FOOTER v3
   ═══════════════════════════════════════════════════════════════ */
.bami-footer{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg, #050810 0%, #02060e 100%);
  border-top:none;
  padding:0 0 2.5rem; margin-top:0;
}
.bami-footer::before{
  content:''; position:absolute; top:0; left:0; right:0; height:140px;
  background:linear-gradient(180deg, transparent 0%, #050810 100%);
  z-index:1; pointer-events:none; opacity:.85;
}
.bami-footer .container{ position:relative; z-index:2; padding-top:2.5rem; }
.bf-glow{ position:absolute; border-radius:50%; filter:blur(110px); pointer-events:none; opacity:.18; }
.bf-glow-1{ top:-60px; left:-60px; width:260px; height:260px; background:radial-gradient(circle, #00d4ff, transparent 70%); opacity:.09; }
.bf-glow-2{ bottom:-60px; right:-60px; width:280px; height:280px; background:radial-gradient(circle, #7c3aed, transparent 70%); opacity:.09; }
.bf-grid{
  position:absolute; inset:0; pointer-events:none; opacity:.4;
  background-image:
    linear-gradient(rgba(0,212,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,212,255,.04) 1px, transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(ellipse at 50% 0%, #000 30%, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse at 50% 0%, #000 30%, transparent 75%);
}

/* TOP CTA STRIP */
.bf-top{
  display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center;
  padding:2.5rem 2.5rem; margin-bottom:4rem;
  border-radius:24px; position:relative; overflow:hidden;
  background:linear-gradient(135deg, rgba(0,212,255,.06), rgba(124,58,237,.06));
  border:1px solid rgba(0,212,255,.15);
  margin-top:-4rem; box-shadow:0 24px 60px rgba(0,0,0,.4);
}
.bf-top::before{
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(0,212,255,.5), rgba(124,58,237,.5), transparent);
}
.bf-top-eyebrow{ display:inline-block; font-family:'Exo 2',sans-serif; font-size:.7rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#00d4ff; margin-bottom:.5rem; }
.bf-top-title{ font-family:'Orbitron',monospace; font-size:clamp(1.4rem, 2.8vw, 2.1rem); font-weight:800; line-height:1.2; color:#fff; margin:0; }
.bf-top-title .grad{ background:linear-gradient(135deg, #00d4ff, #7c3aed); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.bf-top-actions{ display:flex; gap:.75rem; flex-shrink:0; flex-wrap:wrap; }

@media(max-width:768px){
  .bf-top{ grid-template-columns:1fr; padding:1.75rem; gap:1.25rem; margin-top:-3rem; }
  .bf-top-actions .btn{ flex:1; justify-content:center; }
}

/* GRID */
.bami-footer .footer-grid{
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:3rem;
  margin-bottom:3.5rem;
}
.bami-footer .bf-brand-col .footer-desc{ margin:1.25rem 0 1.5rem; max-width:300px; line-height:1.7; }

.bami-footer .footer-col h5{
  font-family:'Orbitron',monospace; font-size:.72rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; color:#fff;
  margin:0 0 1.4rem; position:relative; padding-bottom:.75rem;
}
.bami-footer .footer-col h5::after{
  content:''; position:absolute; left:0; bottom:0; width:32px; height:2px; border-radius:2px;
  background:linear-gradient(90deg, #00d4ff, #7c3aed);
}

.bami-footer .footer-links{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.45rem; }
.bami-footer .footer-links a{
  display:inline-flex; align-items:center; gap:9px;
  color:#7e95ad; font-size:.86rem; text-decoration:none;
  transition:all .25s var(--ease); padding:.15rem 0;
}
.bami-footer .footer-links a i{ font-size:.7rem; color:rgba(0,212,255,.55); transition:transform .3s var(--ease), color .3s; }
.bami-footer .footer-links a:hover{ color:#00d4ff; padding-left:5px; }
.bami-footer .footer-links a:hover i{ color:#00d4ff; transform:translateX(3px); }

/* contact mini list */
.bf-contact-mini{ list-style:none; padding:0; margin:0 0 1.5rem; display:flex; flex-direction:column; gap:.6rem; }
.bf-contact-mini li{ display:flex; align-items:flex-start; gap:11px; color:#a8b8ce; font-size:.84rem; line-height:1.6; }
.bf-contact-mini li i{ width:18px; text-align:center; color:#00d4ff; margin-top:.18rem; flex-shrink:0; }
.bf-contact-mini a{ color:inherit; text-decoration:none; transition:color .2s; }
.bf-contact-mini a:hover{ color:#00d4ff; }

/* socials */
.bami-footer .footer-socials{ display:flex; gap:.55rem; }
.bami-footer .social-link{
  width:38px; height:38px; border-radius:10px;
  background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06);
  display:flex; align-items:center; justify-content:center;
  color:#7e95ad; font-size:.85rem; text-decoration:none;
  transition:all .3s var(--spring,cubic-bezier(.34,1.56,.64,1));
}
.bami-footer .social-link:hover{
  background:linear-gradient(135deg, rgba(0,212,255,.15), rgba(124,58,237,.15));
  border-color:rgba(0,212,255,.4); color:#fff; transform:translateY(-3px) rotate(-4deg);
  box-shadow:0 8px 24px rgba(0,212,255,.25);
}

/* newsletter */
.bf-news-desc{ color:#7e95ad; font-size:.85rem; line-height:1.65; margin:0 0 1rem; }
.bf-news-form{ display:flex; gap:.5rem; margin-bottom:1.25rem; }
.bf-news-form input{
  flex:1; padding:11px 14px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);
  border-radius:10px; color:#ddeeff; font-family:'Rajdhani',sans-serif; font-size:.88rem; outline:none;
  transition:all .25s;
}
.bf-news-form input::placeholder{ color:#4f6580; }
.bf-news-form input:focus{ border-color:rgba(0,212,255,.45); box-shadow:0 0 0 3px rgba(0,212,255,.1); background:rgba(0,212,255,.04); }
.bf-news-form button{
  width:42px; flex-shrink:0; border:none; border-radius:10px; cursor:pointer;
  background:linear-gradient(135deg, #00d4ff, #7c3aed); color:#fff; font-size:.88rem;
  transition:all .25s var(--spring);
}
.bf-news-form button:hover{ transform:translateY(-2px); box-shadow:0 8px 22px rgba(0,212,255,.4); }

.bf-trust{ display:flex; gap:.45rem; flex-wrap:wrap; }
.bf-trust-badge{
  display:inline-flex; align-items:center; gap:6px; padding:5px 11px; border-radius:100px;
  background:rgba(0,212,255,.05); border:1px solid rgba(0,212,255,.12);
  color:#a8e9ff; font-size:.7rem; font-weight:600; letter-spacing:.04em;
}
.bf-trust-badge i{ font-size:.72rem; color:#00d4ff; }

/* footer bottom */
.bami-footer .footer-bottom{
  padding-top:2rem; border-top:1px solid rgba(255,255,255,.05);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
}
.bami-footer .footer-copy{ font-size:.8rem; color:#6e90b0; margin:0; }
.bami-footer .footer-copy strong{ color:#a8e9ff; font-weight:600; letter-spacing:.04em; }
.bami-footer .footer-legal{ display:flex; gap:1.5rem; flex-wrap:wrap; }
.bami-footer .footer-legal a{ font-size:.8rem; color:#6e90b0; text-decoration:none; transition:color .2s; }
.bami-footer .footer-legal a:hover{ color:#00d4ff; }

@media(max-width:1100px){
  .bami-footer .footer-grid{ grid-template-columns:1fr 1fr; gap:2.5rem; }
}
@media(max-width:600px){
  .bami-footer{ padding:0 0 2rem; }
  .bami-footer .footer-grid{ grid-template-columns:1fr; gap:2rem; margin-bottom:2.5rem; }
  .bami-footer .footer-bottom{ flex-direction:column; text-align:center; }
  .bami-footer .footer-legal{ justify-content:center; }
  .bf-top-title{ font-size:1.4rem; }
}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  .nav-sweep, .logo-mark::before, .lnode, .logo-ring, .acc-pulse, .logo-name .logo-dot{ animation:none !important; }
}
