
:root{--bg:#050505;--bg2:#090909;--panel:#0d0d0d;--white:#f7f7f7;--text:#c9c9c9;--muted:#777;--dim:#505050;--line:#242424;--max:1220px;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.5;overflow-x:hidden}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 44px));margin:auto}.eyebrow,.section-no,.micro{font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:#707070}.section{padding:125px 0;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.show{opacity:1;transform:none}

/* Header */
header{position:fixed;z-index:100;left:0;right:0;top:0;background:rgba(5,5,5,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}nav{height:78px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;width:205px;height:58px;overflow:hidden}.logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.nav{display:flex;align-items:center;gap:25px;font-size:12px;color:#aaa}.nav a:hover{color:#fff}.nav .user-link{color:#ddd}.nav .auth-name{color:#aaa;font-size:11px;letter-spacing:.04em}.nav .cta-link{border:1px solid #666;padding:11px 15px;color:#fff}.nav .cta-link:hover{border-color:#fff}.menu{display:none;border:0;background:none;color:#fff;font-size:25px}

/* Hero */
.hero{min-height:100svh;display:grid;align-items:center;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:800px;height:800px;border-radius:50%;right:-300px;top:80px;background:radial-gradient(circle,rgba(255,255,255,.11),transparent 64%)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:center;padding-top:80px}.hero h1{font-size:clamp(58px,8.3vw,116px);line-height:.86;letter-spacing:-.075em;margin:17px 0 0;max-width:900px}.hero h1 span{color:#777}.hero-copy{font-size:18px;color:#999;max-width:650px;margin:31px 0 0}.initiated{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-top:27px;padding-top:18px;border-top:1px solid #292929;color:#777;font-size:10px}.initiated strong{color:#d2d2d2;font-weight:600}.initiated i{font-style:normal;color:#444}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border:1px solid #fff;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;transition:.25s}.btn.primary{background:#fff;color:#000}.btn.primary:hover{background:#ddd}.btn.secondary{border-color:#333;color:#bbb}.btn.secondary:hover{border-color:#777;color:#fff}.hero-visual{height:540px;display:grid;place-items:center;position:relative}.orbit{width:min(440px,74vw);aspect-ratio:1;border:1px solid #303030;border-radius:50%;position:relative;box-shadow:0 0 0 65px rgba(255,255,255,.012),0 0 0 130px rgba(255,255,255,.007);animation:spin 35s linear infinite}.orbit:before,.orbit:after{content:"";position:absolute;border:1px solid #333;border-radius:50%;inset:55px}.orbit:after{inset:115px;border-color:#292929}.core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:140px;height:140px;border-radius:50%;background:#fff;color:#000;display:grid;place-items:center;box-shadow:0 0 0 12px rgba(255,255,255,.04),0 0 80px rgba(255,255,255,.12)}.core strong{font-size:25px;letter-spacing:.15em}.core small{position:absolute;bottom:28px;color:#777;font-size:7px;letter-spacing:.18em}.dot{position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 7px #080808}.d1{top:-6px;left:50%}.d2{top:15%;right:18%}.d3{right:-6px;top:50%}.d4{bottom:14%;right:18%}.d5{bottom:-6px;left:50%}.d6{bottom:14%;left:18%}.d7{left:-6px;top:50%}.d8{top:15%;left:18%}@keyframes spin{to{transform:rotate(360deg)}}

/* Marquee */
.marquee{overflow:hidden;border-bottom:1px solid var(--line);white-space:nowrap}.marquee-track{display:inline-flex;gap:60px;padding:17px 0;color:#5d5d5d;font-size:9px;letter-spacing:.2em;text-transform:uppercase;animation:move 25s linear infinite}@keyframes move{to{transform:translateX(-50%)}}

/* Shared */
.two-col{display:grid;grid-template-columns:.72fr 1.28fr;gap:75px}.headline{font-size:clamp(43px,5.7vw,78px);line-height:.91;letter-spacing:-.065em;margin:17px 0 0}.headline span{color:#777}.lead{font-size:18px;color:#999;max-width:720px}.copy{font-size:16px;color:#888;max-width:750px}.copy strong{color:#ddd}

/* About */
.about{background:linear-gradient(180deg,#090909,#060606)}.cards3{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:70px}.info-card{padding:30px;border-right:1px solid var(--line);min-height:270px}.info-card:last-child{border-right:0}.info-card h3{font-size:28px;margin:65px 0 10px}.info-card p{font-size:13px;color:#777;max-width:320px}

/* How */
.process{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-top:70px}.step{padding:28px 22px;min-height:250px;border-right:1px solid var(--line)}.step:last-child{border-right:0}.step h3{font-size:21px;margin:65px 0 10px}.step p{font-size:13px;color:#777}

/* Network */
.network{background:radial-gradient(circle at 70% 45%,rgba(255,255,255,.06),transparent 29%),#070707}.network:before{content:"NETWORK";position:absolute;right:-50px;top:90px;font-size:clamp(100px,17vw,250px);font-weight:900;letter-spacing:-.08em;color:rgba(255,255,255,.018)}.network-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px;align-items:center;position:relative}.network-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:40px}.stat{border-top:1px solid #2b2b2b;padding:17px 0}.stat strong{display:block;font-size:25px}.stat span{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#666}.network-map{position:relative;min-height:590px;display:grid;place-items:center}.ring{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.ring.one{width:370px;height:370px}.ring.two{width:560px;height:560px}.network-core{width:145px;height:145px;border-radius:50%;background:#fff;color:#000;display:grid;place-items:center;z-index:3;box-shadow:0 0 0 12px rgba(255,255,255,.04),0 0 70px rgba(255,255,255,.13)}.network-core strong{font-size:24px;letter-spacing:.14em}.network-core small{position:absolute;bottom:29px;font-size:7px;letter-spacing:.17em;color:#777}.node{position:absolute;width:180px;padding:17px;border:1px solid #303030;background:rgba(8,8,8,.93);backdrop-filter:blur(8px);z-index:5;transition:.3s}.node:hover{transform:translateY(-7px);border-color:#888;background:#111}.node .nno{font-size:8px;color:#666;letter-spacing:.16em}.node h3{font-size:15px;line-height:1.1;margin:9px 0 5px}.node p{font-size:10px;line-height:1.4;color:#777;margin:0}.n1{top:1%;left:7%}.n2{top:16%;right:0}.n3{top:45%;right:-2%}.n4{bottom:2%;right:6%}.n5{bottom:0;left:9%}.n6{top:45%;left:-2%}.network-bottom{border-top:1px solid #262626;margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;gap:25px}.network-bottom p{font-size:13px;color:#777;max-width:700px;margin:0}.network-bottom a{font-size:10px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}

/* =========================================================
   REDESIGNED OPPORTUNITY SECTION
   ========================================================= */
.opportunity{
  background:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.045),transparent 24%),
    radial-gradient(circle at 88% 72%,rgba(255,255,255,.035),transparent 28%),
    #050505;
}
.op-head{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(320px,1.18fr);
  gap:80px;
  align-items:end;
  margin-bottom:58px;
}
.op-title{
  font-size:clamp(52px,7vw,102px);
  line-height:.84;
  letter-spacing:-.075em;
  margin:18px 0 0;
  max-width:850px;
}
.op-title span{color:#666}
.op-intro{
  max-width:590px;
  justify-self:end;
  color:#8c8c8c;
  font-size:17px;
  line-height:1.7;
  border-left:1px solid #303030;
  padding-left:25px;
}
.op-intro strong{display:block;color:#e2e2e2;font-size:20px;line-height:1.25;margin-bottom:10px}

/* bento opportunity cards */
.op-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:minmax(105px,auto);
  gap:12px;
}
.op-card{
  position:relative;
  min-height:255px;
  padding:27px;
  border:1px solid #292929;
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.008)),
    #080808;
  overflow:hidden;
  transition:
    transform .35s var(--ease),
    border-color .35s var(--ease),
    background .35s var(--ease);
}
.op-card:nth-child(1){grid-column:span 7;grid-row:span 2}
.op-card:nth-child(2){grid-column:span 5;grid-row:span 2}
.op-card:nth-child(3){grid-column:span 5;grid-row:span 2}
.op-card:nth-child(4){grid-column:span 7;grid-row:span 2}
.op-card:nth-child(5){grid-column:span 4;grid-row:span 2}
.op-card:nth-child(6){grid-column:span 4;grid-row:span 2}

.op-card:before{
  content:"";
  position:absolute;
  width:260px;height:260px;
  right:-110px;bottom:-145px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:50%;
  transition:.45s;
}
.op-card:after{
  content:"";
  position:absolute;
  width:90px;height:90px;
  right:35px;bottom:25px;
  border:1px solid rgba(255,255,255,.045);
  border-radius:50%;
}
.op-card:hover{
  transform:translateY(-6px);
  border-color:#777;
  background:
    linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.015)),
    #0a0a0a;
}
.op-card:hover:before{transform:scale(1.14);border-color:rgba(255,255,255,.16)}

.op-index{
  position:relative;
  z-index:2;
  font-size:9px;
  letter-spacing:.18em;
  color:#666;
}
.op-icon{
  position:absolute;
  z-index:3;
  right:24px;top:22px;
  width:40px;height:40px;
  border:1px solid #3b3b3b;
  border-radius:50%;
  display:grid;place-items:center;
  color:#b8b8b8;
  font-size:15px;
  transition:.3s;
}
.op-card:hover .op-icon{
  background:#fff;
  color:#000;
  border-color:#fff;
}
.op-card h3{
  position:relative;
  z-index:2;
  font-size:clamp(25px,2.5vw,37px);
  line-height:.98;
  letter-spacing:-.045em;
  max-width:440px;
  margin:72px 0 12px;
}
.op-card p{
  position:relative;
  z-index:2;
  font-size:13px;
  line-height:1.55;
  color:#777;
  max-width:430px;
  margin:0;
}
.op-link{
  position:absolute;
  z-index:4;
  left:27px;bottom:23px;
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#aaa;
}
.op-link:after{content:"  ↗";color:#666}

/* feature engine */
.engine{
  grid-column:1/-1;
  position:relative;
  min-height:590px;
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  background:#f4f4f1;
  color:#050505;
  overflow:hidden;
  border:1px solid #e6e6e3;
  margin-top:2px;
}
.engine:before{
  content:"NOIRG";
  position:absolute;
  right:-35px;bottom:-135px;
  font-size:280px;
  line-height:.8;
  font-weight:950;
  letter-spacing:-.09em;
  color:rgba(0,0,0,.035);
}
.engine:after{
  content:"";
  position:absolute;
  left:44%;
  top:45px;bottom:45px;
  width:1px;background:#ddd;
}
.engine-left{
  position:relative;z-index:2;
  padding:58px 52px;
  display:flex;flex-direction:column;justify-content:space-between;
  background:
    radial-gradient(circle at 0 100%,rgba(0,0,0,.065),transparent 30%),
    #f4f4f1;
}
.engine-left h3{
  max-width:570px;
  margin:38px 0 0;
  font-size:clamp(46px,5.4vw,82px);
  line-height:.84;
  letter-spacing:-.075em;
}
.engine-left h3 span{color:#777}
.engine-manifesto{
  max-width:440px;
  margin:30px 0 0;
  color:#666;
  font-size:15px;
  line-height:1.65;
}
.signature{
  display:flex;align-items:center;gap:12px;
  margin-top:50px;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#777;
}
.signature i{width:38px;height:1px;background:#aaa}

.engine-right{
  position:relative;z-index:2;
  padding:58px 52px;
  display:flex;flex-direction:column;justify-content:center;
}
.engine-kicker{
  font-size:10px;
  letter-spacing:.2em;
  color:#777;
  text-transform:uppercase;
  margin-bottom:18px;
}
.engine-right h4{
  margin:0 0 24px;
  font-size:31px;
  line-height:1;
  letter-spacing:-.045em;
}
.engine-network{
  position:relative;
  min-height:255px;
  max-width:540px;
  margin-bottom:18px;
}
.engine-network:before,
.engine-network:after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  border:1px solid #d5d5d2;
  border-radius:50%;
}
.engine-network:before{width:205px;height:205px}
.engine-network:after{width:355px;height:355px}
.engine-core{
  position:absolute;
  z-index:4;
  left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:84px;height:84px;
  border-radius:50%;
  background:#050505;color:#fff;
  display:grid;place-items:center;
  font-size:13px;font-weight:800;
  letter-spacing:.14em;
  box-shadow:0 0 0 10px rgba(0,0,0,.035);
}
.eline{
  position:absolute;
  left:50%;top:50%;
  height:1px;width:160px;
  background:#bcbcb8;
  transform-origin:left center;
  z-index:1;
}
.el1{transform:rotate(-30deg)}
.el2{transform:rotate(30deg)}
.el3{transform:rotate(90deg)}
.el4{transform:rotate(150deg)}
.el5{transform:rotate(210deg)}
.el6{transform:rotate(270deg)}
.chip{
  position:absolute;z-index:5;
  min-width:116px;
  padding:10px 12px;
  background:#fff;
  border:1px solid #d2d2cf;
  font-size:9px;
  line-height:1.2;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:#444;
  box-shadow:0 5px 18px rgba(0,0,0,.045);
  transition:.25s;
}
.chip:hover{
  background:#050505;
  color:#fff;
  border-color:#050505;
  transform:translateY(-3px);
}
.c1{left:0;top:18px}
.c2{right:0;top:18px}
.c3{right:0;top:111px}
.c4{right:18px;bottom:14px}
.c5{left:18px;bottom:14px}
.c6{left:0;top:111px}
.engine-copy{
  max-width:510px;
  color:#666;
  font-size:14px;
  line-height:1.65;
}
.engine-actions{
  display:flex;align-items:center;gap:18px;
  margin-top:23px;
}
.engine-cta{
  display:inline-flex;align-items:center;
  min-height:46px;padding:0 18px;
  background:#050505;color:#fff;
  font-size:10px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;
  transition:.25s;
}
.engine-cta:hover{background:#333;transform:translateY(-2px)}
.engine-note{
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#888;
}
.op-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  border-top:1px solid #252525;
  margin-top:58px;
  padding-top:21px;
}
.op-bottom p{color:#777;font-size:13px;max-width:700px;margin:0}

/* Opportunity section responsive */
@media(max-width:900px){
  .op-head{grid-template-columns:1fr;gap:25px}
  .op-intro{justify-self:start}
  .op-grid{grid-template-columns:1fr}
  .op-card,
  .op-card:nth-child(1),
  .op-card:nth-child(2),
  .op-card:nth-child(3),
  .op-card:nth-child(4),
  .op-card:nth-child(5),
  .op-card:nth-child(6){
    grid-column:auto;
    grid-row:auto;
    min-height:225px;
  }
  .engine{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .engine:after{display:none}
  .engine-left,.engine-right{padding:44px 28px}
  .engine-left{min-height:410px}
  .engine-right{padding-top:30px}
  .engine-network{min-height:275px}
  .op-bottom{display:block}
  .op-bottom .section-no{margin-top:17px}
}
@media(max-width:520px){
  .op-title{font-size:51px}
  .op-intro{font-size:15px;padding-left:17px}
  .op-intro strong{font-size:18px}
  .op-card{padding:23px;min-height:210px!important}
  .op-card h3{font-size:27px;margin-top:62px}
  .op-link{left:23px}
  .engine-left,.engine-right{padding:35px 21px}
  .engine-left{min-height:360px}
  .engine-left h3{font-size:45px}
  .engine-network{
    transform:scale(.84);
    transform-origin:center;
    margin:-12px -38px 0;
  }
  .engine-actions{align-items:flex-start;flex-direction:column;gap:10px}
}

/* Industries / FAQ */
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:65px}.industry{border:1px solid var(--line);background:#080808;padding:25px;min-height:155px;transition:.3s}.industry:hover{border-color:#777;transform:translateY(-4px)}.industry h3{font-size:19px;margin:0 0 8px}.industry p{font-size:13px;color:#777;margin:0}.keywords{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.keywords span{border:1px solid #2c2c2c;padding:7px 9px;color:#777;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.faq{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:65px}details{border:1px solid var(--line);background:#080808;padding:0 22px}summary{cursor:pointer;list-style:none;padding:21px 0;font-weight:700}summary::-webkit-details-marker{display:none}summary:after{content:"+";float:right;color:#777;font-size:20px}details[open] summary:after{content:"−"}details p{color:#777;font-size:14px;padding:0 0 21px;margin:0}

/* CTA/Footer */
.cta{background:#fff;color:#000;padding:135px 0}.cta h2{font-size:clamp(46px,6.2vw,84px);line-height:.92;letter-spacing:-.06em;max-width:1050px;margin:17px 0}.cta p{color:#555;font-size:18px;max-width:720px}.cta .btn{background:#000;color:#fff;border-color:#000;margin-top:10px}footer{padding:55px 0}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer-logo{font-size:25px;font-weight:900;letter-spacing:.18em}.footer-desc{color:#666;font-size:13px}.footer-links{display:flex;gap:23px;flex-wrap:wrap;color:#888;font-size:12px}.copyright{border-top:1px solid var(--line);margin-top:45px;padding-top:17px;color:#555;font-size:11px}



/* =========================================================
   NOIRG BUY / SELL OPPORTUNITIES
   Added without changing the existing NOIRG sections.
   ========================================================= */
.buy-sell{
  background:
    radial-gradient(circle at 15% 20%,rgba(255,255,255,.045),transparent 24%),
    radial-gradient(circle at 85% 75%,rgba(255,255,255,.035),transparent 28%),
    #070707;
}
.buy-sell-head{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(320px,1.18fr);
  gap:80px;
  align-items:end;
  margin-bottom:58px;
}
.buy-sell-title{
  font-size:clamp(52px,7vw,102px);
  line-height:.84;
  letter-spacing:-.075em;
  margin:18px 0 0;
  max-width:850px;
}
.buy-sell-title span{color:#666}
.buy-sell-intro{
  max-width:590px;
  justify-self:end;
  color:#8c8c8c;
  font-size:17px;
  line-height:1.7;
  border-left:1px solid #303030;
  padding-left:25px;
}
.buy-sell-intro strong{
  display:block;
  color:#e2e2e2;
  font-size:20px;
  line-height:1.25;
  margin-bottom:10px;
}
.bs-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.bs-card{
  position:relative;
  min-height:390px;
  padding:32px;
  border:1px solid #292929;
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.008)),
    #080808;
  overflow:hidden;
  transition:transform .35s var(--ease),border-color .35s var(--ease),background .35s var(--ease);
}
.bs-card:before{
  content:"";
  position:absolute;
  width:390px;height:390px;
  right:-175px;bottom:-210px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:50%;
  transition:.45s;
}
.bs-card:after{
  content:"";
  position:absolute;
  width:150px;height:150px;
  right:42px;bottom:30px;
  border:1px solid rgba(255,255,255,.045);
  border-radius:50%;
}
.bs-card:hover{
  transform:translateY(-6px);
  border-color:#777;
  background:
    linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.015)),
    #0a0a0a;
}
.bs-card:hover:before{transform:scale(1.1);border-color:rgba(255,255,255,.16)}
.bs-index{
  position:relative;z-index:2;
  font-size:9px;letter-spacing:.18em;color:#666;
}
.bs-icon{
  position:absolute;z-index:3;right:27px;top:25px;
  width:46px;height:46px;
  border:1px solid #3b3b3b;border-radius:50%;
  display:grid;place-items:center;
  color:#b8b8b8;font-size:17px;
  transition:.3s;
}
.bs-card:hover .bs-icon{background:#fff;color:#000;border-color:#fff}
.bs-card h3{
  position:relative;z-index:2;
  font-size:clamp(38px,4vw,60px);
  line-height:.9;
  letter-spacing:-.06em;
  max-width:430px;
  margin:95px 0 15px;
}
.bs-card h3 span{color:#777}
.bs-card p{
  position:relative;z-index:2;
  font-size:14px;line-height:1.6;color:#777;
  max-width:470px;margin:0;
}
.bs-items{
  position:relative;z-index:3;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:28px;
  max-width:520px;
}
.bs-item{
  border-top:1px solid #292929;
  padding-top:11px;
  color:#999;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.bs-cta{
  margin-top:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:25px 28px;
  border:1px solid #292929;
  background:#0a0a0a;
}
.bs-cta-copy{color:#777;font-size:13px;line-height:1.5;max-width:680px}
.bs-cta-copy strong{color:#ddd}
.bs-actions{display:flex;gap:9px;flex-wrap:wrap;flex:0 0 auto}
.bs-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:46px;padding:0 18px;
  border:1px solid #fff;background:#fff;color:#000;
  font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  transition:.25s;
}
.bs-btn:hover{background:#ddd}
.bs-btn.alt{border-color:#333;background:transparent;color:#bbb}
.bs-btn.alt:hover{border-color:#777;color:#fff}
.bs-flow{
  margin-top:45px;
  padding-top:20px;
  border-top:1px solid #252525;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.bs-flow-step{padding:18px 17px;border:1px solid #242424;background:#090909;min-height:125px}
.bs-flow-step .micro{color:#666}
.bs-flow-step h4{font-size:17px;line-height:1;margin:24px 0 8px}
.bs-flow-step p{font-size:11px;color:#777;line-height:1.45;margin:0}

@media(max-width:900px){
  .buy-sell-head{grid-template-columns:1fr;gap:25px}
  .buy-sell-intro{justify-self:start}
  .bs-grid{grid-template-columns:1fr}
  .bs-card{min-height:330px}
  .bs-flow{grid-template-columns:1fr 1fr}
  .bs-cta{display:block}
  .bs-actions{margin-top:18px}
}
@media(max-width:520px){
  .buy-sell-title{font-size:51px}
  .buy-sell-intro{font-size:15px;padding-left:17px}
  .buy-sell-intro strong{font-size:18px}
  .bs-card{padding:23px;min-height:310px}
  .bs-card h3{font-size:43px;margin-top:78px}
  .bs-icon{right:20px;top:19px}
  .bs-items{grid-template-columns:1fr}
  .bs-cta{padding:22px}
  .bs-actions{flex-direction:column}
  .bs-btn{width:100%}
  .bs-flow{grid-template-columns:1fr;gap:8px}
}

/* =========================================================
   NOIRG JOBS
   Added as a native NOIRG module without changing the
   existing colour system, typography or visual language.
   ========================================================= */
.jobs-section{
  background:
    radial-gradient(circle at 12% 22%,rgba(255,255,255,.04),transparent 24%),
    radial-gradient(circle at 88% 78%,rgba(255,255,255,.03),transparent 28%),
    #050505;
}
.jobs-head{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(320px,1.18fr);
  gap:80px;
  align-items:end;
  margin-bottom:58px;
}
.jobs-title{
  font-size:clamp(52px,7vw,102px);
  line-height:.84;
  letter-spacing:-.075em;
  margin:18px 0 0;
  max-width:850px;
}
.jobs-title span{color:#666}
.jobs-intro{
  max-width:590px;
  justify-self:end;
  color:#8c8c8c;
  font-size:17px;
  line-height:1.7;
  border-left:1px solid #303030;
  padding-left:25px;
}
.jobs-intro strong{
  display:block;
  color:#e2e2e2;
  font-size:20px;
  line-height:1.25;
  margin-bottom:10px;
}
.jobs-grid{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:12px;
}
.jobs-main-card{
  position:relative;
  min-height:390px;
  padding:32px;
  border:1px solid #292929;
  background:
    linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.008)),
    #080808;
  overflow:hidden;
  transition:transform .35s var(--ease),border-color .35s var(--ease),background .35s var(--ease);
}
.jobs-main-card:before{
  content:"JOBS";
  position:absolute;
  right:-25px;
  bottom:-65px;
  font-size:170px;
  line-height:.8;
  font-weight:950;
  letter-spacing:-.09em;
  color:rgba(255,255,255,.025);
}
.jobs-main-card:hover{transform:translateY(-6px);border-color:#777}
.jobs-index{position:relative;z-index:2;font-size:9px;letter-spacing:.18em;color:#666}
.jobs-main-card h3{
  position:relative;
  z-index:2;
  font-size:clamp(38px,4.5vw,66px);
  line-height:.9;
  letter-spacing:-.06em;
  max-width:650px;
  margin:85px 0 15px;
}
.jobs-main-card h3 span{color:#777}
.jobs-main-card p{
  position:relative;
  z-index:2;
  font-size:14px;
  line-height:1.65;
  color:#777;
  max-width:620px;
  margin:0;
}
.jobs-items{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
  margin-top:28px;
  max-width:620px;
}
.jobs-item{
  border-top:1px solid #292929;
  padding-top:11px;
  color:#999;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.jobs-side{
  display:grid;
  gap:12px;
}
.jobs-action-card{
  min-height:189px;
  padding:27px;
  border:1px solid #292929;
  background:#080808;
  transition:.3s;
}
.jobs-action-card:hover{border-color:#777;transform:translateY(-4px)}
.jobs-action-card .jobs-action-no{font-size:9px;letter-spacing:.18em;color:#666}
.jobs-action-card h4{font-size:25px;line-height:1;margin:43px 0 9px;letter-spacing:-.04em}
.jobs-action-card p{font-size:11px;color:#777;line-height:1.5;margin:0 0 17px}
.jobs-link{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 14px;
  border:1px solid #fff;
  background:#fff;
  color:#000;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:.25s;
}
.jobs-link:hover{background:#ddd}
.jobs-link.alt{background:transparent;color:#bbb;border-color:#333}
.jobs-link.alt:hover{border-color:#777;color:#fff}
.jobs-flow{
  margin-top:12px;
  padding:25px 28px;
  border:1px solid #292929;
  background:#0a0a0a;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.jobs-flow-step{padding:10px 12px;border-left:1px solid #292929}
.jobs-flow-step:first-child{border-left:0}
.jobs-flow-step .micro{color:#666}
.jobs-flow-step strong{display:block;font-size:15px;margin-top:10px;color:#ddd}
.jobs-flow-step span{display:block;font-size:10px;color:#777;margin-top:4px;line-height:1.4}
.jobs-cta{
  margin-top:12px;
  padding:25px 28px;
  border:1px solid #292929;
  background:#0a0a0a;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}
.jobs-cta-copy{font-size:13px;line-height:1.5;color:#777;max-width:700px}
.jobs-cta-copy strong{color:#ddd}
.jobs-actions{display:flex;gap:9px;flex-wrap:wrap;flex:0 0 auto}

@media(max-width:900px){
  .jobs-head{grid-template-columns:1fr;gap:25px}
  .jobs-intro{justify-self:start}
  .jobs-grid{grid-template-columns:1fr}
  .jobs-main-card{min-height:330px}
  .jobs-side{grid-template-columns:1fr 1fr}
  .jobs-flow{grid-template-columns:1fr 1fr}
  .jobs-flow-step:nth-child(3){border-left:0}
  .jobs-cta{display:block}
  .jobs-actions{margin-top:18px}
}
@media(max-width:520px){
  .jobs-title{font-size:51px}
  .jobs-intro{font-size:15px;padding-left:17px}
  .jobs-intro strong{font-size:18px}
  .jobs-main-card{padding:23px;min-height:310px}
  .jobs-main-card h3{font-size:43px;margin-top:78px}
  .jobs-items{grid-template-columns:1fr}
  .jobs-side{grid-template-columns:1fr}
  .jobs-action-card{min-height:180px;padding:23px}
  .jobs-action-card h4{margin-top:38px}
  .jobs-cta{padding:22px}
  .jobs-actions{flex-direction:column}
  .jobs-link{width:100%}
  .jobs-flow{grid-template-columns:1fr;gap:8px;padding:20px}
  .jobs-flow-step,.jobs-flow-step:nth-child(3){border-left:0;border-top:1px solid #292929;padding:15px 0}
  .jobs-flow-step:first-child{border-top:0}
}

/* =========================================================
   NOIRG REQUIREMENT SELECTOR
   ========================================================= */
.requirements{
  background:#f4f4f1;
  color:#050505;
  position:relative;
  overflow:hidden;
}
.requirements:before{
  content:"NOIRG";
  position:absolute;
  right:-30px;
  top:25px;
  font-size:220px;
  line-height:.8;
  font-weight:950;
  letter-spacing:-.09em;
  color:rgba(0,0,0,.035);
  pointer-events:none;
}
.req-head{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:70px;
  align-items:end;
  margin-bottom:48px;
}
.req-head .section-no{color:#777}
.req-title{
  font-size:clamp(48px,6.5vw,88px);
  line-height:.86;
  letter-spacing:-.075em;
  margin:17px 0 0;
}
.req-title span{color:#858585}
.req-intro{
  max-width:500px;
  justify-self:end;
  color:#666;
  font-size:15px;
  line-height:1.7;
  border-left:1px solid #cfcfcb;
  padding-left:23px;
}
.req-intro strong{
  display:block;
  color:#111;
  font-size:20px;
  line-height:1.25;
  margin-bottom:9px;
}
.req-board{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.req-card{
  position:relative;
  min-height:145px;
  padding:21px;
  border:1px solid #d5d5d1;
  background:#fafaf8;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  cursor:default;
  transition:.28s ease;
}
.req-card:nth-child(1),
.req-card:nth-child(5),
.req-card:nth-child(9){
  background:#050505;
  color:#fff;
  border-color:#050505;
}
.req-card:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 30px rgba(0,0,0,.09);
  border-color:#888;
}
.req-card:after{
  content:"";
  position:absolute;
  width:75px;
  height:75px;
  right:-27px;
  bottom:-30px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:50%;
}
.req-card:nth-child(1):after,
.req-card:nth-child(5):after,
.req-card:nth-child(9):after{
  border-color:rgba(255,255,255,.13);
}
.req-number{
  font-size:9px;
  letter-spacing:.16em;
  color:#888;
}
.req-card:nth-child(1) .req-number,
.req-card:nth-child(5) .req-number,
.req-card:nth-child(9) .req-number{color:#777}
.req-symbol{
  position:absolute;
  right:17px;
  top:16px;
  width:34px;
  height:34px;
  border:1px solid #d2d2ce;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:15px;
}
.req-card:nth-child(1) .req-symbol,
.req-card:nth-child(5) .req-symbol,
.req-card:nth-child(9) .req-symbol{
  border-color:#3c3c3c;
  color:#fff;
}
.req-card h3{
  margin:27px 0 0;
  font-size:20px;
  line-height:1;
  letter-spacing:-.035em;
  max-width:180px;
}
.req-card p{
  margin:7px 0 0;
  color:#777;
  font-size:11px;
  line-height:1.45;
  max-width:210px;
}
.req-card:nth-child(1) p,
.req-card:nth-child(5) p,
.req-card:nth-child(9) p{color:#999}
.req-cta{
  grid-column:1/-1;
  margin-top:5px;
  padding:26px 28px;
  border:1px solid #d5d5d1;
  background:#fff;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
}
.req-cta-text{
  font-size:17px;
  line-height:1.35;
  color:#555;
}
.req-cta-text strong{color:#050505}
.req-action{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 19px;
  background:#050505;
  color:#fff;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:.25s;
}
.req-action:hover{
  background:#333;
  transform:translateY(-2px);
}
.req-footer{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid #d2d2ce;
  color:#777;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

/* responsive */
@media(max-width:900px){
  .req-head{
    grid-template-columns:1fr;
    gap:24px;
  }
  .req-intro{justify-self:start}
  .req-board{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .requirements:before{font-size:120px;top:90px}
  .req-title{font-size:49px}
  .req-board{grid-template-columns:1fr 1fr;gap:8px}
  .req-card{min-height:150px;padding:17px}
  .req-card h3{font-size:17px}
  .req-cta{
    align-items:flex-start;
    flex-direction:column;
    padding:22px;
  }
  .req-action{width:100%}
  .req-footer{
    display:block;
    line-height:1.8;
  }
}

/* Mobile */
@media(max-width:900px){
.container{width:min(var(--max),calc(100% - 32px))}.logo{width:170px;height:54px}.menu{display:block}.nav{display:none;position:fixed;top:78px;left:0;right:0;padding:22px 20px;background:#050505;border-bottom:1px solid #222;flex-direction:column;align-items:flex-start;gap:19px}.nav.open{display:flex}.hero{min-height:auto;padding:125px 0 70px}.hero-grid,.two-col,.network-layout,.op-head{grid-template-columns:1fr;gap:35px}.hero-visual{order:-1;height:290px}.orbit{width:250px}.section{padding:85px 0}.cards3,.process,.industry-grid,.faq{grid-template-columns:1fr}.info-card,.step{border-right:0;border-bottom:1px solid var(--line)}.info-card h3,.step h3{margin-top:45px}.network-map{min-height:610px}.ring.one{width:270px;height:270px}.ring.two{width:400px;height:400px}.network-core{width:120px;height:120px}.node{width:145px;padding:13px}.node h3{font-size:13px}.node p{font-size:9px}.n1{top:0;left:0}.n2{top:9%;right:0}.n3{top:43%;right:0}.n4{bottom:0;right:0}.n5{bottom:0;left:0}.n6{top:43%;left:0}.network-bottom,.op-bottom,.footer-top{display:block}.network-bottom a{display:inline-block;margin-top:18px}.op-grid{grid-template-columns:1fr}.op-card,.op-card:nth-child(2),.op-card:nth-child(5){transform:none;min-height:210px}.engine{grid-column:auto;grid-template-columns:1fr;min-height:auto}.engine:after{display:none}.engine-left,.engine-right{padding:42px 28px}.engine-left{min-height:390px}.engine-right{padding-top:28px}.engine-network{min-height:245px}.engine-bottom{position:static;padding:0 28px 25px}.engine-actions{align-items:flex-start;flex-direction:column;gap:10px}.cta{padding:90px 0}.footer-links{margin-top:25px}}
@media(max-width:520px){.hero h1{font-size:54px}.hero-copy{font-size:16px}.actions .btn{width:100%}.hero-visual{height:250px}.network-map{min-height:560px}.ring.one{width:220px;height:220px}.ring.two{width:330px;height:330px}.network-core{width:105px;height:105px}.network-core strong{font-size:19px}.node{width:132px}.node h3{font-size:12px}.node p{font-size:8px}.engine-left,.engine-right{padding:34px 21px}.engine-left{min-height:355px}.engine-left h3{font-size:43px}.engine-network{transform:scale(.88);transform-origin:center;margin:-5px -20px 0}.engine-actions{margin-top:10px}.engine-note{line-height:1.4}.op-feature{min-height:520px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit,.marquee-track{animation:none}.reveal{transition:none}}



/* Industries only: preserves existing NOIRG colour/theme and content concept */
#industries .industries-modern-head{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(220px,.65fr);
  gap:45px;
  align-items:end;
  margin-bottom:38px;
}
#industries .industries-modern-head .lead{
  max-width:720px;
  margin-top:18px;
}
#industries .industries-modern-link{
  justify-self:end;
  color:#111;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-bottom:1px solid #111;
  padding-bottom:8px;
}
#industries .industries-modern-link span,
#industries .industries-modern-footer>a span{
  display:inline-block;
  margin-left:6px;
  transition:transform .2s ease;
}
#industries .industries-modern-link:hover span,
#industries .industries-modern-footer>a:hover span{
  transform:translate(3px,-3px);
}
#industries .industries-modern-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid #222;
  border-left:1px solid #222;
}
#industries .industry-modern{
  position:relative;
  min-height:275px;
  padding:25px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  color:#111;
  background:#fff;
  border-right:1px solid #222;
  border-bottom:1px solid #222;
  transition:background .25s ease,color .25s ease,transform .25s ease;
}
#industries .industry-modern:before{
  content:"";
  position:absolute;
  width:155px;height:155px;
  right:-78px;bottom:-78px;
  border:1px solid #dedede;
  border-radius:50%;
  transition:transform .35s ease,border-color .25s ease;
}
#industries .industry-modern:hover{
  background:#0b0b0b;
  color:#fff;
  transform:translateY(-3px);
  z-index:2;
}
#industries .industry-modern:hover:before{
  transform:scale(1.35);
  border-color:#444;
}
#industries .industry-modern-no{
  position:relative;
  z-index:1;
  font-size:9px;
  font-weight:800;
  color:#777;
  letter-spacing:.15em;
}
#industries .industry-modern-mark{
  position:absolute;
  top:17px;
  right:20px;
  font-size:46px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.08em;
  color:#f0f0f0;
  transition:color .25s ease;
}
#industries .industry-modern:hover .industry-modern-mark{
  color:#171717;
}
#industries .industry-modern>div{
  position:relative;
  z-index:1;
  margin-top:30px;
}
#industries .industry-modern h3{
  margin:0 0 10px;
  max-width:300px;
  font-size:22px;
  line-height:1.02;
  letter-spacing:-.04em;
}
#industries .industry-modern p{
  max-width:330px;
  margin:0;
  color:#777;
  font-size:10px;
  line-height:1.7;
  transition:color .25s ease;
}
#industries .industry-modern:hover p{color:#aaa}
#industries .industry-modern-action{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  margin-top:20px;
  color:#555;
  font-size:8px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
#industries .industry-modern-action b{
  font-size:13px;
  font-weight:500;
  transition:transform .2s ease;
}
#industries .industry-modern:hover .industry-modern-action{color:#fff}
#industries .industry-modern:hover .industry-modern-action b{transform:translateX(4px)}

#industries .industry-modern-dark{
  background:#0b0b0b;
  color:#fff;
}
#industries .industry-modern-dark .industry-modern-no{color:#aaa}
#industries .industry-modern-dark .industry-modern-mark{color:#191919}
#industries .industry-modern-dark p{color:#aaa}
#industries .industry-modern-dark .industry-modern-action{color:#fff}
#industries .industry-modern-dark:hover{
  background:#fff;
  color:#111;
}
#industries .industry-modern-dark:hover .industry-modern-mark{color:#f0f0f0}
#industries .industry-modern-dark:hover p{color:#777}
#industries .industry-modern-dark:hover .industry-modern-action{color:#555}

#industries .industries-modern-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:1px;
  padding-top:18px;
  border-top:1px solid #222;
}
#industries .industries-modern-footer .keywords{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
#industries .industries-modern-footer .keywords span{
  display:inline-flex;
  padding:6px 9px;
  border:1px solid #d7d7d7;
  color:#666;
  background:#fff;
  font-size:7px;
  font-weight:750;
  letter-spacing:.09em;
  text-transform:uppercase;
}
#industries .industries-modern-footer>a{
  flex:0 0 auto;
  color:#111;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
@media(max-width:950px){
  #industries .industries-modern-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  #industries .industries-modern-head{
    display:block;
    margin-bottom:28px;
  }
  #industries .industries-modern-link{
    display:inline-block;
    margin-top:18px;
  }
  #industries .industries-modern-grid{grid-template-columns:1fr}
  #industries .industry-modern{min-height:235px;padding:21px}
  #industries .industry-modern h3{font-size:20px}
  #industries .industries-modern-footer{display:block}
  #industries .industries-modern-footer>a{
    display:inline-block;
    margin-top:14px;
  }
}




/* =========================================================
   NOIRG PREMIUM FOOTER
   Black / White NOIRG Theme
   Colourful Social Icons on Hover
   ========================================================= */

footer {
    position: relative;
    background:
        radial-gradient(
            circle at 12% 0%,
            rgba(255,255,255,.045),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 100%,
            rgba(255,255,255,.035),
            transparent 30%
        ),
        #050505;

    color: #fff;
    padding: 0;

    border-top: 1px solid #222;

    overflow: hidden;
}


/* Large background NOIRG */

footer::before {
    content: "NOIRG";

    position: absolute;

    right: -55px;
    bottom: -85px;

    font-size: clamp(180px, 25vw, 360px);

    line-height: .75;

    font-weight: 950;

    letter-spacing: -.09em;

    color: rgba(255,255,255,.018);

    pointer-events: none;

    user-select: none;
}


/* Footer container */

footer .container {
    position: relative;
    z-index: 2;
}


/* =========================================================
   FOOTER MAIN
   ========================================================= */

.footer-main {
    padding: 72px 0 0;
}


/* =========================================================
   FOOTER TOP
   ========================================================= */

.footer-top {
    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(250px, .85fr);

    gap: 80px;

    padding-bottom: 52px;

    border-bottom: 1px solid #222;
}


/* =========================================================
   BRAND
   ========================================================= */

.footer-brand {
    max-width: 580px;
}


.footer-logo {
    display: inline-flex;

    align-items: center;

    color: #fff;

    font-size: 28px;

    font-weight: 900;

    letter-spacing: .20em;

    line-height: 1;

    margin-bottom: 20px;
}


.footer-logo::after {
    content: "";

    width: 6px;
    height: 6px;

    margin-left: 8px;

    background: #fff;

    border-radius: 50%;
}


.footer-desc {
    color: #777;

    font-size: 13px;

    line-height: 1.7;

    max-width: 550px;

    margin: 0 0 10px;
}


/* =========================================================
   SMALL BRAND LINE
   ========================================================= */

.footer-line {
    display: flex;

    align-items: center;

    gap: 9px;

    margin-top: 24px;

    color: #444;

    font-size: 9px;

    font-weight: 600;

    letter-spacing: .15em;

    text-transform: uppercase;
}


.footer-line i {
    display: block;

    width: 32px;

    height: 1px;

    background: #333;
}


/* =========================================================
   FOOTER NAVIGATION
   ========================================================= */

.footer-nav-title {
    margin-bottom: 18px;

    color: #555;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .20em;

    text-transform: uppercase;
}


.footer-links {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(100px,1fr));

    gap: 13px 30px;

    color: #777;

    font-size: 12px;
}


.footer-links a {
    position: relative;

    display: inline-flex;

    align-items: center;

    width: fit-content;

    color: #777;

    text-decoration: none;

    transition:
        color .25s ease,
        transform .25s ease;
}


.footer-links a::before {
    content: "";

    width: 0;

    height: 1px;

    margin-right: 0;

    background: #fff;

    transition:
        width .25s ease,
        margin-right .25s ease;
}


.footer-links a:hover {
    color: #fff;

    transform: translateX(3px);
}


.footer-links a:hover::before {
    width: 11px;

    margin-right: 7px;
}


/* =========================================================
   SOCIAL MEDIA
   ========================================================= */

.footer-social-area {
    margin-top: 32px;
}


.footer-social-title {
    margin-bottom: 14px;

    color: #555;

    font-size: 9px;

    font-weight: 700;

    letter-spacing: .20em;

    text-transform: uppercase;
}


.footer-social {
    display: flex;

    flex-wrap: wrap;

    gap: 9px;
}


/* Social circle */

.footer-social a {
    position: relative;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: 43px;

    height: 43px;

    border: 1px solid #303030;

    border-radius: 50%;

    background: #080808;

    color: #aaa;

    text-decoration: none;

    transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}


.footer-social svg {
    width: 18px;

    height: 18px;

    display: block;

    fill: currentColor;

    transition:
        transform .25s ease;
}


.footer-social a:hover {
    transform: translateY(-4px);

    background: #fff;
}


.footer-social a:hover svg {
    transform: scale(1.08);
}


/* =========================================================
   INSTAGRAM
   ========================================================= */

.footer-social .instagram:hover {
    color: #E1306C;

    border-color: #E1306C;

    box-shadow:
        0 8px 25px rgba(225,48,108,.18);
}


/* =========================================================
   LINKEDIN
   ========================================================= */

.footer-social .linkedin:hover {
    color: #0A66C2;

    border-color: #0A66C2;

    box-shadow:
        0 8px 25px rgba(10,102,194,.18);
}


/* =========================================================
   FACEBOOK
   ========================================================= */

.footer-social .facebook:hover {
    color: #1877F2;

    border-color: #1877F2;

    box-shadow:
        0 8px 25px rgba(24,119,242,.18);
}


/* =========================================================
   YOUTUBE
   ========================================================= */

.footer-social .youtube:hover {
    color: #FF0000;

    border-color: #FF0000;

    box-shadow:
        0 8px 25px rgba(255,0,0,.18);
}


/* =========================================================
   WHATSAPP
   ========================================================= */

.footer-social .whatsapp:hover {
    color: #25D366;

    border-color: #25D366;

    box-shadow:
        0 8px 25px rgba(37,211,102,.18);
}


/* =========================================================
   SOCIAL TOOLTIP
   ========================================================= */

.footer-social a::after {
    content: attr(aria-label);

    position: absolute;

    left: 50%;

    bottom: -35px;

    transform:
        translateX(-50%)
        translateY(-4px);

    padding: 5px 8px;

    background: #fff;

    color: #000;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: .04em;

    white-space: nowrap;

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition: .2s ease;

    z-index: 20;
}


.footer-social a:hover::after {
    opacity: 1;

    visibility: visible;

    transform:
        translateX(-50%)
        translateY(0);
}


/* =========================================================
   FOOTER BOTTOM
   ========================================================= */

.footer-bottom {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;

    padding: 20px 0 24px;
}


.copyright {
    border: 0 !important;

    margin: 0 !important;

    padding: 0 !important;

    color: #4d4d4d;

    font-size: 10px;

    line-height: 1.7;
}


.copyright a {
    color: #666;

    text-decoration: none;

    transition: color .25s ease;
}


.copyright a:hover {
    color: #fff;
}


.footer-bottom-right {
    color: #444;

    font-size: 9px;

    font-weight: 600;

    letter-spacing: .16em;

    text-transform: uppercase;

    white-space: nowrap;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 900px) {

    .footer-main {
        padding-top: 60px;
    }

    .footer-top {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .footer-links {
        max-width: 480px;
    }

    .footer-bottom {
        align-items: flex-start;

        flex-direction: column;

        gap: 10px;
    }

}


@media (max-width: 520px) {

    .footer-main {
        padding-top: 50px;
    }

    .footer-top {
        padding-bottom: 40px;
    }

    .footer-logo {
        font-size: 24px;
    }

    .footer-desc {
        font-size: 12px;
    }

    .footer-links {
        grid-template-columns: 1fr 1fr;

        gap: 14px 20px;
    }

    .footer-social a {
        width: 41px;

        height: 41px;
    }

    .footer-bottom-right {
        font-size: 8px;

        white-space: normal;
    }

    footer::before {
        right: -25px;

        bottom: -25px;

        font-size: 140px;
    }

}




/* =========================================
   FLOATING NOIRG · TOP BUTTON
   ========================================= */

.back-to-top {
    position: fixed;
    right: 25px;
    bottom: 25px;
    z-index: 99999;

    width: 85px;
    height: 58px;

    border: 1px solid #333;
    border-radius: 8px;

    background: #050505;
    color: #ffffff;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    cursor: pointer;

    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);

    opacity: 1;
    visibility: visible;

    transition: all 0.25s ease;
}

.back-to-top:hover {
    background: #000000;
    border-color: #666666;
    color: #ffffff;

    transform: translateY(-4px);

    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
}

.back-to-top .top-arrow {
    font-size: 18px;
    line-height: 16px;
    font-weight: 700;
}

.back-to-top .top-text {
    font-size: 10px;
    line-height: 14px;
    font-weight: 800;
    letter-spacing: 0.15em;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 520px) {

    .back-to-top {
        right: 16px;
        bottom: 16px;

        width: 72px;
        height: 52px;

        border-radius: 7px;
    }

    .back-to-top .top-arrow {
        font-size: 16px;
    }

    .back-to-top .top-text {
        font-size: 9px;
        letter-spacing: 0.12em;
    }
}
