/* محافظ سراسری در برابر هرگونه اورفلوی افقی ناخواسته (مثل مشکل نیاز به زوم‌اوت مرورگر) */
html, body {
	overflow-x: hidden;
	max-width: 100%;
}

:root{

--black:#05070B;
--navy:#071A2E;
--gold:#CFA64A;
--white:#F5F7FA;

--glass:rgba(255,255,255,.08);

--border:rgba(255,255,255,.18);

--blur:28px;

--radius:28px;

}
:root{

--bg:#05070B;

--surface:rgba(255,255,255,.08);

--text:#ffffff;

--text-soft:rgba(255,255,255,.7);

--gold:#d1a746;

--gold-rgb:209,167,70;

--border:rgba(255,255,255,.15);

--overlay-a:var(--overlay-a);

--overlay-b:var(--overlay-b);

--overlay-c:var(--overlay-c);

}



/* LIGHT MODE */

[data-theme="light"]{

--bg:#f5f6f8;

--surface:rgba(255,255,255,.75);

--text:#111111;

--text-soft:#555;

--gold:#b58a2b;

--border:rgba(0,0,0,.12);

--overlay-a:rgba(255,255,255,.92);

--overlay-b:rgba(255,255,255,.55);

--overlay-c:rgba(255,255,255,.15);

}



/* RESET */

*{

margin:0;

padding:0;

box-sizing:border-box;

}



html{

scroll-behavior:smooth;

}



body{


background:var(--bg);


font-family:Inter,sans-serif;


overflow-x:hidden;


color:var(--text);


transition:

background .4s ease,

color .4s ease;

}



a{

text-decoration:none;

color:inherit;

}



button{

cursor:pointer;

font-family:inherit;

}



/* GLOBE */

.canvas-globe{

will-change:transform;

}



/* MOBILE */

@media(max-width:900px){


.canvas-globe{

width:100%;

height:420px;

}



.technology{

padding:

70px 20px;

}



}

:root{


--bg:#030509;

--surface:rgba(255,255,255,.08);

--text:#ffffff;

--text-soft:rgba(255,255,255,.75);

--gold:#CFA64A;


}



[data-theme="light"]{


--bg:#f5f6f8;

--surface:rgba(0,0,0,.06);

--text:#111;

--text-soft:#555;

--gold:#b58b2a;


}*{
box-sizing:border-box;
}


html,
body{

margin:0;

padding:0;

width:100%;

min-height:100%;

background:var(--bg);

color:var(--text);

transition:.4s;

font-family:Arial, Helvetica, sans-serif;

}


body{

overflow-x:hidden;

}


#root{

width:100%;

min-height:100vh;

margin:0;

padding:0;

display:block;

}


h1,
h2,
h3,
h4,
p{

margin:0;

}


button,
input,
textarea{

font-family:inherit;

}
.text-reveal{

overflow:hidden;

}
.counter {
  font-size: 16px;
  padding: 5px 10px;
  border-radius: 5px;
  color: var(--accent);
  background: var(--accent-bg);
  border: 2px solid transparent;
  transition: border-color 0.3s;
  margin-bottom: 24px;

  &:hover {
    border-color: var(--accent-border);
  }
  &:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
  }
}

.hero {
  position: relative;

  .base,
  .framework,
  .vite {
    inset-inline: 0;
    margin: 0 auto;
  }

  .base {
    width: 170px;
    position: relative;
    z-index: 0;
  }

  .framework,
  .vite {
    position: absolute;
  }

  .framework {
    z-index: 1;
    top: 34px;
    height: 28px;
    transform: perspective(2000px) rotateZ(300deg) rotateX(44deg) rotateY(39deg)
      scale(1.4);
  }

  .vite {
    z-index: 0;
    top: 107px;
    height: 26px;
    width: auto;
    transform: perspective(2000px) rotateZ(300deg) rotateX(40deg) rotateY(39deg)
      scale(0.8);
  }
}

#center {
  display: flex;
  flex-direction: column;
  gap: 25px;
  place-content: center;
  place-items: center;
  flex-grow: 1;

  @media (max-width: 1024px) {
    padding: 32px 20px 24px;
    gap: 18px;
  }
}

#next-steps {
  display: flex;
  border-top: 1px solid var(--border);
  text-align: left;

  & > div {
    flex: 1 1 0;
    padding: 32px;
    @media (max-width: 1024px) {
      padding: 24px 20px;
    }
  }

  .icon {
    margin-bottom: 16px;
    width: 22px;
    height: 22px;
  }

  @media (max-width: 1024px) {
    flex-direction: column;
    text-align: center;
  }
}

#docs {
  border-right: 1px solid var(--border);

  @media (max-width: 1024px) {
    border-right: none;
    border-bottom: 1px solid var(--border);
  }
}

#next-steps ul {
  list-style: none;
  padding: 0;
  display: flex;
  gap: 8px;
  margin: 32px 0 0;

  .logo {
    height: 18px;
  }

  a {
    color: var(--text-h);
    font-size: 16px;
    border-radius: 6px;
    background: var(--social-bg);
    display: flex;
    padding: 6px 12px;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    transition: box-shadow 0.3s;

    &:hover {
      box-shadow: var(--shadow);
    }
    .button-icon {
      height: 18px;
      width: 18px;
    }
  }

  @media (max-width: 1024px) {
    margin-top: 20px;
    flex-wrap: wrap;
    justify-content: center;

    li {
      flex: 1 1 calc(50% - 8px);
    }

    a {
      width: 100%;
      justify-content: center;
      box-sizing: border-box;
    }
  }
}

#spacer {
  height: 88px;
  border-top: 1px solid var(--border);
  @media (max-width: 1024px) {
    height: 48px;
  }
}

.ticks {
  position: relative;
  width: 100%;

  &::before,
  &::after {
    content: '';
    position: absolute;
    top: -4.5px;
    border: 5px solid transparent;
  }

  &::before {
    left: 0;
    border-left-color: var(--border);
  }
  &::after {
    right: 0;
    border-right-color: var(--border);
  }
}

.navbar{

position:fixed;

top:25px;

left:50%;

transform:translateX(-50%);

width:92%;

height:74px;

display:flex;

align-items:center;

justify-content:space-between;

padding:0 28px;

border-radius:28px;


background:var(--surface);


backdrop-filter:blur(24px);


border:1px solid var(--border);


box-shadow:

0 10px 40px rgba(0,0,0,.35);


z-index:1000;

transition:.4s;

}



.logo{

display:flex;

flex-direction:column;

}



.logo span{

font-size:28px;

font-weight:800;

letter-spacing:4px;

color:var(--text);

}



.logo small{

font-size:11px;

letter-spacing:3px;

opacity:.75;

margin-top:-4px;

color:var(--text);

}



nav{

display:flex;

gap:42px;

}



nav a{

color:var(--text);

text-decoration:none;

font-size:15px;

transition:.35s;

position:relative;

}



nav a:hover{

color:var(--gold);

}



nav a::after{

content:"";

position:absolute;

left:0;

bottom:-6px;

width:0;

height:2px;

background:var(--gold);

transition:.35s;

}



nav a:hover::after{

width:100%;

}



.quote{

height:50px;

padding:0 28px;

border:none;

border-radius:18px;


background:var(--gold);


color:#111;


font-weight:700;

cursor:pointer;

transition:.35s;

}



.quote:hover{

transform:translateY(-3px);

box-shadow:

0 10px 30px rgba(var(--gold-rgb),.4);

}



.mobile{

display:none;

background:none;

border:none;

color:var(--text);

font-size:24px;

cursor:pointer;

}



/* THEME BUTTON */

.theme-toggle{


width:45px;

height:45px;

border-radius:50%;


border:1px solid var(--border);


background:var(--surface);


color:var(--text);


display:flex;

align-items:center;

justify-content:center;


cursor:pointer;


transition:.35s;


}


.theme-toggle:hover{

color:var(--gold);

transform:rotate(20deg);

}



/* SCROLL */

.navbar.scrolled{


top:15px;

height:62px;

width:88%;


background:var(--surface);


border-color:var(--border);


box-shadow:

0 15px 50px rgba(0,0,0,.5);


}



.navbar.scrolled .logo span{

font-size:24px;

}



.navbar.scrolled nav{

gap:35px;

}



.quote,
.btn-primary,
.btn-secondary{

transition:

transform .35s ease,

box-shadow .35s ease;

}



.quote:hover,
.btn-primary:hover{

box-shadow:

0 15px 40px rgba(var(--gold-rgb),.35);

}





@media(max-width:1000px){


.navbar{

width:92%;

height:68px;

padding:0 20px;

}



nav{

position:absolute;

top:85px;

left:0;

width:100%;


display:flex;

flex-direction:column;

gap:25px;


padding:30px;


border-radius:25px;


background:var(--surface);


border:1px solid var(--border);


backdrop-filter:blur(30px);


opacity:0;

pointer-events:none;


transform:translateY(-20px);


transition:.4s;


}



nav.active{

opacity:1;

pointer-events:auto;

transform:translateY(0);

}



.quote{

display:none;

}



.mobile{

display:block;

}



}
.navbar{

position:fixed;

top:25px;

left:50%;

transform:translateX(-50%);

width:92%;

height:74px;

display:flex;

align-items:center;

justify-content:space-between;

padding:0 28px;

border-radius:28px;

background:rgba(255,255,255,.08);

backdrop-filter:blur(24px);

-webkit-backdrop-filter:blur(24px);

border:1px solid rgba(255,255,255,.15);

box-shadow:0 10px 40px rgba(0,0,0,.35);

z-index:1000;

}



.logo{

display:flex;

flex-direction:column;

color:var(--text);

}


.logo span{

font-size:28px;

font-weight:800;

letter-spacing:4px;

}


.logo small{

font-size:11px;

letter-spacing:3px;

opacity:.75;

}



nav{

display:flex;

gap:42px;

}



nav a{

color:var(--text);

text-decoration:none;

font-size:15px;

position:relative;

}



nav a:hover{

color:var(--gold);

}



.nav-actions{

display:flex;

align-items:center;

gap:15px;

}



.theme-toggle{

width:45px;
height:45px;

border-radius:50%;

border:1px solid var(--border);

background:var(--surface);

color:var(--text);

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

cursor:pointer;

transition:.35s;

}


.theme-toggle:hover{

color:var(--gold);

transform:rotate(20deg);

}



.quote{

height:50px;

padding:0 28px;

border:none;

border-radius:18px;

background:var(--gold);

color:#111;

font-weight:700;

cursor:pointer;

}



.mobile{

display:none;

background:none;

border:none;

color:var(--text);

font-size:24px;

}



.navbar.scrolled{

top:15px;

height:62px;

width:88%;

background:rgba(5,7,12,.75);

}



@media(max-width:1000px){


.navbar{

width:92%;

height:68px;

padding:0 20px;

}



nav{

position:absolute;

top:85px;

left:0;

width:100%;

display:flex;

flex-direction:column;

gap:25px;

padding:30px;

border-radius:25px;

background:rgba(5,7,12,.85);

backdrop-filter:blur(30px);

opacity:0;

pointer-events:none;

transform:translateY(-20px);

}



nav.active{

opacity:1;

pointer-events:auto;

transform:translateY(0);

}



.quote{

display:none;

}



.mobile{

display:block;

}

}
.footer{

padding:90px 8% 35px;

background:#05070c;

border-top:1px solid rgba(255,255,255,.08);

}

.footer-top{

display:flex;

justify-content:space-between;

gap:80px;

padding-bottom:60px;

}

.footer-brand{

max-width:420px;

}

.footer-brand h2{

font-size:42px;

letter-spacing:4px;

margin-bottom:20px;

color:var(--gold);

}

.footer-brand p{

line-height:1.9;

opacity:.75;

}

.footer-links{

display:grid;

grid-template-columns:repeat(3,180px);

gap:40px;

}

.footer-links h4{

margin-bottom:20px;

color:var(--gold);

}

.footer-links a,

.footer-links p{

display:block;

margin-bottom:12px;

color:#d9d9d9;

text-decoration:none;

opacity:.8;

transition:.3s;

}

.footer-links a:hover{

color:var(--gold);

padding-left:8px;

}

.footer-bottom{

padding-top:30px;

border-top:1px solid rgba(255,255,255,.08);

display:flex;

justify-content:space-between;

align-items:center;

font-size:13px;

opacity:.65;

}

@media(max-width:900px){

.footer-top{

flex-direction:column;

}

.footer-links{

grid-template-columns:1fr;

}

.footer-bottom{

flex-direction:column;

gap:12px;

text-align:center;

}

}
.hero{

min-height:100vh;

height:auto;

position:relative;

display:flex;

align-items:center;

padding:120px 8% 100px;

overflow:hidden;

color:var(--text);

}


/* BACKGROUND */

.hero-image{

position:absolute;

inset:0;

z-index:0;

background:

linear-gradient(
90deg,
var(--overlay-a),
var(--overlay-b),
var(--overlay-c)
),

url("../images/rig-background.jpg");

background-size:cover;

background-position:60% center;

}



/* CONTENT */

.hero-content{

position:relative;

z-index:20;

max-width:750px;

margin-top:40px;

}



/* TAG */

.hero-tag{

display:inline-block;

padding:10px 20px;

border-radius:50px;

background:var(--surface);

border:1px solid var(--border);

backdrop-filter:blur(20px);

font-size:12px;

letter-spacing:2px;

margin-bottom:30px;

color:var(--text);

}



/* TITLE */

.hero h1{

font-size:76px;

line-height:.95;

font-weight:800;

letter-spacing:-3px;

margin:0 0 30px;

color:var(--text);

}



/* TEXT */

.hero p{

font-size:19px;

line-height:1.8;

max-width:600px;

color:var(--text-soft);

margin-bottom:40px;

}



/* BUTTONS */

.hero-buttons{

display:flex;

gap:20px;

}



.btn-primary{

height:58px;

padding:0 35px;

border-radius:20px;

border:none;

background:var(--gold);

color:#111;

font-weight:700;

cursor:pointer;

}



.btn-secondary{

height:58px;

padding:0 35px;

border-radius:20px;

background:var(--surface);

border:1px solid var(--border);

color:var(--text);

backdrop-filter:blur(20px);

cursor:pointer;

}



/* STATS */

.hero-stats{

display:flex;

gap:25px;

margin-top:40px;

}



.stat-card{

width:180px;

padding:22px;

border-radius:25px;


background:var(--surface);


border:1px solid var(--border);


backdrop-filter:blur(15px);


box-shadow:

0 15px 40px rgba(0,0,0,.25);

}



.stat-card h2{

font-size:40px;

margin:0;

color:var(--gold);

}


.stat-card span{

font-size:13px;

opacity:.8;

color:var(--text);

}



/* MOBILE */

@media(max-width:900px){


.hero{

height:auto;

min-height:100vh;

padding:

130px 25px 80px;

align-items:flex-start;

}



.hero-image{

background-position:center;

}



.hero-content{

max-width:100%;

padding-top:30px;

}



.hero h1{

font-size:48px;

line-height:1;

letter-spacing:-2px;

margin-bottom:25px;

}



.hero p{

font-size:16px;

line-height:1.7;

max-width:100%;

margin-bottom:30px;

}



.hero-buttons{

flex-direction:column;

width:100%;

gap:15px;

}



.btn-primary,
.btn-secondary{

width:100%;

height:55px;

}



.hero-stats{

display:grid;

grid-template-columns:1fr;

gap:15px;

margin-top:40px;

}



.stat-card{

width:100%;

padding:20px;

}



.stat-card h2{

font-size:34px;

}


}
.hero-buttons,
.hero-stats,
.hero-tag,
.hero h1,
.hero p{

position:relative;

z-index:10;
}
.mouse-glow{

position:fixed;

width:500px;

height:500px;

border-radius:50%;

pointer-events:none;

transform:translate(-50%,-50%);

background:

radial-gradient(
circle,
rgba(0,180,255,.25),
transparent 65%
);

filter:blur(45px);

z-index:300;

}
.loader{

position:fixed;

inset:0;

background:#030509;

z-index:9999;

display:flex;

align-items:center;

justify-content:center;

flex-direction:column;

}


.loader-logo{

font-size:70px;

font-weight:800;

letter-spacing:8px;

color:white;

}


.loader-line{

margin-top:30px;

width:200px;

height:2px;

background:var(--gold);

animation:

load 1.5s infinite;

}


@keyframes load{


0%{

transform:scaleX(0);

transform-origin:left;

}


50%{

transform:scaleX(1);

}


100%{

transform:scaleX(0);

transform-origin:right;

}

}

.services{

padding:140px 8%;

background:

radial-gradient(
circle at 80% 0%,
rgba(0,160,255,.15),
transparent 35%
),

var(--bg);

color:var(--text);

}



/* HEADER */

.services-header{

max-width:700px;

margin-bottom:80px;

}



.services-header span{

color:var(--gold);

font-size:13px;

letter-spacing:4px;

font-weight:600;

display:inline-block;

padding:10px 20px;

border-radius:50px;

background:var(--surface);

border:1px solid var(--border);

backdrop-filter:blur(20px);
}



.services-header h2{

font-size:75px;

line-height:.95;

letter-spacing:-4px;

margin:25px 0;

color:var(--text);

}



.services-header p{

font-size:18px;

line-height:1.8;

color:var(--text-soft);

}



/* GRID */

.service-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}



/* GLASS CARD */

.service-card{

position:relative;

height:370px;

padding:38px;

border-radius:35px;


background:

linear-gradient(

135deg,

var(--surface),

rgba(255,255,255,.03)

);


border:

1px solid var(--border);


backdrop-filter:blur(35px);


overflow:hidden;


transition:

transform .45s ease,
border .45s ease,
box-shadow .45s ease,
background .45s ease;

}



/* LIGHT EFFECT */

.service-card::before{

content:"";

position:absolute;

width:300px;

height:300px;

top:-160px;

right:-120px;


background:

radial-gradient(

circle,

rgba(255,255,255,.35),

transparent 65%

);


opacity:0;

transition:.5s;

}



/* GOLD LINE */

.service-card::after{

content:"";

position:absolute;

bottom:0;

left:0;

width:0%;

height:3px;

background:var(--gold);

transition:.5s;

}



/* HOVER */

.service-card:hover{

transform:translateY(-18px);


border-color:

rgba(var(--gold-rgb),.7);


box-shadow:

0 35px 90px rgba(0,0,0,.45);

}



.service-card:hover::before{

opacity:1;

}


.service-card:hover::after{

width:100%;

}



/* NUMBER */

.service-number{

font-size:60px;

font-weight:800;


color:

rgba(255,255,255,.12);

}



/* TITLE */

.service-card h3{

font-size:28px;

margin:25px 0 15px;

color:var(--text);

}



.service-card p{

color:var(--text-soft);

line-height:1.8;

}



/* BUTTON */

.service-card button{

position:absolute;

bottom:35px;

background:none;

border:none;

color:var(--gold);

font-size:16px;

cursor:pointer;

transition:.3s;

}



.service-card button:hover{

transform:translateX(8px);

}



/* SECOND HOVER EFFECT */

.service-card:hover{

background:

rgba(255,255,255,.12);


border-color:

rgba(var(--gold-rgb),.5);


box-shadow:

0 25px 60px rgba(var(--gold-rgb),.18);

}



.service-card:hover h3{

color:var(--gold);

}



/* MOBILE */

@media(max-width:1000px){


.service-grid{

grid-template-columns:1fr;

}



.services-header h2{

font-size:50px;

}


}



@media(max-width:900px){


.services{

padding:

80px 25px;

}



.services-header{

text-align:center;

}



.services-header h2{

font-size:42px;

line-height:1.1;

}



.services-header p{

font-size:16px;

}



.service-grid{

grid-template-columns:1fr;

gap:20px;

}



.service-card{

width:100%;

padding:25px;

border-radius:22px;

}



.service-number{

font-size:14px;

}



.service-card h3{

font-size:24px;

}



.service-card p{

font-size:15px;

line-height:1.7;

}



.service-card button{

margin-top:20px;

width:100%;

height:50px;

}


}
.technology{

min-height:800px;

padding:140px 8%;

background:var(--bg);

display:flex;

flex-wrap:wrap;

align-items:center;

gap:60px;

color:var(--text);

overflow:hidden;

}



.technology-content{

flex:1;

}



.technology-content span{

color:var(--gold);

letter-spacing:4px;

font-size:13px;

display:inline-block;

padding:10px 20px;

border-radius:50px;

background:var(--surface);

border:1px solid var(--border);

backdrop-filter:blur(20px);
}



.technology-content h2{

font-size:65px;

line-height:1;

letter-spacing:-3px;

margin:30px 0;

}



.technology-content>p{

font-size:18px;

line-height:1.8;

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

}



.tech-items{

margin-top:50px;

display:flex;

flex-direction:column;

gap:25px;

}



.tech-items div{

display:flex;

align-items:center;

gap:30px;

}



.tech-items h3{

font-size:35px;

color:var(--gold);

margin:0;

}



.globe-placeholder{

width:700px;

max-width:100%;

aspect-ratio:1/1;

height:auto;

flex-shrink:0;

}



.canvas-globe{

width:100%;

height:100%;

position:relative;

}



.canvas-globe canvas{

border-radius:50%;

}



.marker-label{

position:absolute;

top:0;

left:0;

pointer-events:none;

transition:opacity .2s;

z-index:5;

background:rgba(10,15,20,.75);

border:1px solid rgba(var(--gold-rgb),.7);

padding:7px 14px;

border-radius:18px;

color:white;

font-size:12px;

white-space:nowrap;

backdrop-filter:blur(12px);

}



@media(max-width:1000px){

.technology{

flex-direction:column;

}


.technology-content h2{

font-size:45px;

}


.globe-placeholder{

width:400px;

height:400px;

}

}
.projects{

padding:140px 8%;

background:var(--bg);

color:var(--text);

}



/* HEADER */

.projects-header span{

color:var(--gold);

letter-spacing:4px;

font-size:13px;

}



.projects-header h2{

font-size:70px;

line-height:1;

margin:30px 0 80px;

letter-spacing:-3px;

color:var(--text);

}



/* GRID */

.project-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

}



/* CARD */

.project-card{

height:520px;

border-radius:35px;

overflow:hidden;

position:relative;

cursor:pointer;


background:var(--surface);


}



/* IMAGE */

.project-card img{

width:100%;

height:100%;

object-fit:cover;

transition:.8s;

}



/* OVERLAY */

.project-overlay{

position:absolute;

inset:0;


background:

linear-gradient(

transparent,

rgba(0,0,0,.9)

);


display:flex;

align-items:flex-end;

padding:35px;

}



/* TEXT */

.project-overlay span{

color:var(--gold);

}



.project-overlay h3{

font-size:28px;

margin:15px 0;

color:#fff;

}



.project-overlay p{

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

}



/* HOVER */

.project-card:hover img{

transform:scale(1.12);

}



/* MOBILE */

@media(max-width:1000px){


.project-grid{

grid-template-columns:1fr;

}


.projects{

padding:80px 25px;

}


.projects-header h2{

font-size:45px;

}


}
.projects-grid{

display:grid;

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

gap:35px;

margin-top:70px;

}

.project-card{

background:var(--surface);

border:1px solid var(--border);

border-radius:30px;

overflow:hidden;

transition:.4s;

backdrop-filter:blur(20px);

}

.project-card:hover{

transform:translateY(-10px);

border-color:var(--gold);

box-shadow:0 20px 50px rgba(0,0,0,.35);

}

.project-image{

position:relative;

height:320px;

overflow:hidden;

}

.project-image img{

width:100%;

height:100%;

object-fit:cover;

transition:.6s;

}

.project-card:hover img{

transform:scale(1.08);

}

.project-badge{

position:absolute;

top:20px;

left:20px;

padding:8px 18px;

border-radius:30px;

background:rgba(0,0,0,.5);

backdrop-filter:blur(20px);

color:#fff;

font-size:12px;

letter-spacing:1px;

}

.project-content{

padding:30px;

}

.project-location{

color:var(--gold);

font-size:13px;

letter-spacing:1px;

}

.project-content h3{

margin:15px 0;

font-size:30px;

}

.project-content p{

line-height:1.8;

opacity:.8;

margin-bottom:25px;

}

.project-content button{

background:none;

border:none;

color:var(--gold);

font-weight:700;

cursor:pointer;

font-size:15px;

}

@media(max-width:900px){

.projects-grid{

grid-template-columns:1fr;

}

.project-image{

height:260px;

}

}
.stats{

padding:140px 8%;

background:var(--bg);

color:var(--text);

overflow:hidden;

}



.stats-header span{

color:var(--gold);

letter-spacing:4px;

font-size:13px;

display:inline-block;

padding:10px 20px;

border-radius:50px;

background:var(--surface);

border:1px solid var(--border);

backdrop-filter:blur(20px);
}



.stats-header h2{

font-size:70px;

line-height:1;

letter-spacing:-3px;

margin:30px 0 80px;

}



/* GRID */

.stats-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

}



/* CARD */

.stat-block{

height:300px;

padding:40px 30px;


display:flex;

flex-direction:column;

justify-content:center;


background:

linear-gradient(
135deg,
rgba(255,255,255,.12),
rgba(255,255,255,.03)
);


border:1px solid rgba(255,255,255,.15);


border-radius:30px;


backdrop-filter:blur(25px);


transition:.4s;


}



.stat-block:hover{

transform:translateY(-15px);

border-color:var(--gold);

box-shadow:0 25px 60px rgba(0,0,0,.4);

}



/* BIG NUMBER */

.stat-block h3{

font-size:75px;

line-height:1;

margin:0 0 15px;

color:var(--gold);

font-weight:800;

letter-spacing:-3px;

}



/* TITLE */

.stat-block h4{

font-size:21px;

margin:0 0 12px;

}



/* DESCRIPTION */

.stat-block p{

font-size:14px;

line-height:1.7;

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

margin:0;

max-width:230px;

}



/* RESPONSIVE */


@media(max-width:1100px){


.stats-grid{

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

}


}



@media(max-width:700px){


.stats-grid{

grid-template-columns:1fr;

}


.stats-header h2{

font-size:45px;

}


.stat-block h3{

font-size:60px;

}


}
.about{

padding:150px 8%;

background:var(--bg);

color:var(--text);

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

}



/* IMAGE */

.about-image{

height:650px;

border-radius:40px;

overflow:hidden;

}



.about-image img{

width:100%;

height:100%;

object-fit:cover;

transition:.8s;

}



.about-image:hover img{

transform:scale(1.08);

}



/* CONTENT */

.about-content span{

color:var(--gold);

letter-spacing:4px;

font-size:13px;

}



.about-content h2{

font-size:65px;

line-height:1;

letter-spacing:-3px;

margin:30px 0;

color:var(--text);

}



.about-content p{

font-size:18px;

line-height:1.8;

color:var(--text-soft);

}



/* GLASS CARDS */

.about-cards{

display:flex;

gap:25px;

margin-top:50px;

}



.about-cards div{

padding:25px;

border-radius:25px;


background:var(--surface);


border:1px solid var(--border);


backdrop-filter:blur(20px);

}



.about-cards h3{

color:var(--gold);

margin-top:0;

}



/* MOBILE */

@media(max-width:1000px){


.about{

grid-template-columns:1fr;

padding:80px 25px;

}


.about-content h2{

font-size:45px;

}


.about-image{

height:450px;

}


.about-cards{

flex-direction:column;

}


}
.contact{

padding:150px 8% 80px;

background:var(--bg);

color:var(--text);

}



/* HEADER */

.contact-header span{

color:var(--gold);

letter-spacing:4px;

font-size:13px;

display:inline-block;

padding:10px 20px;

border-radius:50px;

background:var(--surface);

border:1px solid var(--border);

backdrop-filter:blur(20px);
}



.contact-header h2{

font-size:75px;

line-height:1;

letter-spacing:-4px;

margin:30px 0;

max-width:800px;

color:var(--text);

}



.contact-header p{

color:var(--text-soft);

font-size:18px;

}



/* GRID */

.contact-grid{

margin-top:80px;

display:grid;

grid-template-columns:1fr 1fr;

gap:50px;

}



/* INFO */

.contact-info{

display:flex;

flex-direction:column;

gap:30px;

}



.contact-info div{

padding:30px;

border-radius:25px;


background:var(--surface);


border:1px solid var(--border);

backdrop-filter:blur(20px);

}



.contact-info h3{

color:var(--gold);

margin:0 0 10px;

}



.contact-info p{

margin:0;

color:var(--text-soft);

}



/* FORM */

.contact-form{

display:flex;

flex-direction:column;

gap:20px;

}



.contact-form input,

.contact-form textarea{


padding:20px;

border-radius:20px;


border:1px solid var(--border);


background:var(--surface);


color:var(--text);


font-size:16px;

backdrop-filter:blur(15px);

}



.contact-form input::placeholder,

.contact-form textarea::placeholder{

color:var(--text-soft);

}



.contact-form textarea{

height:180px;

resize:none;

}



.contact-form button{

height:60px;

border-radius:20px;

border:none;


background:var(--gold);


color:#111;


font-weight:700;

font-size:16px;

cursor:pointer;

}



/* FOOTER */

.footer{

padding:40px 8%;


background:var(--bg);


color:var(--text);


display:flex;

justify-content:space-between;


border-top:

1px solid var(--border);

}



.footer h3{

color:var(--gold);

font-size:30px;

margin:0;

}



.footer p{

color:var(--text-soft);

}



/* MOBILE */

@media(max-width:900px){


.contact{

padding:90px 25px 50px;

}



.contact-grid{

grid-template-columns:1fr;

}



.contact-header h2{

font-size:45px;

}



.footer{

flex-direction:column;

gap:20px;

padding:40px 25px;

}


}

.about-page{

min-height:100vh;

position:relative;

padding:150px 8% 100px;

display:flex;

align-items:center;

background:

linear-gradient(
90deg,
var(--overlay-a),
var(--overlay-b)
),

url("../images/rig-background.jpg");

background-size:cover;

background-position:center;

color:var(--text);

overflow:hidden;

}



.about-content{

position:relative;

z-index:2;

max-width:900px;

}



.about-tag{

display:inline-block;

padding:10px 22px;

border-radius:50px;

background:var(--surface);

border:1px solid var(--border);

backdrop-filter:blur(20px);

font-size:12px;

letter-spacing:3px;

}



.about-content h1{

font-size:72px;

line-height:.95;

margin:30px 0;

font-weight:800;

}



.about-content p{

font-size:20px;

line-height:1.8;

max-width:750px;

color:var(--text-soft);

}



.about-cards{

display:flex;

gap:25px;

margin-top:50px;

}



.glass-card{

flex:1;

padding:30px;

border-radius:30px;

background:rgba(255,255,255,.08);

border:1px solid rgba(255,255,255,.15);

backdrop-filter:blur(25px);

}



.glass-card h3{

color:var(--gold);

font-size:24px;

}



.glass-card p{

font-size:15px;

}



@media(max-width:900px){

.about-content h1{

font-size:48px;

}


.about-cards{

flex-direction:column;

}


}
.services-page{

min-height:100vh;

padding:150px 8% 100px;

position:relative;

background:

linear-gradient(
90deg,
var(--overlay-a),
var(--overlay-b)
),

url("../images/rig-background.jpg");


background-size:cover;

background-position:center;

color:var(--text);

}



.services-content{

max-width:1100px;

}



.services-tag{

display:inline-block;

padding:10px 22px;

border-radius:50px;

background:var(--surface);

border:1px solid var(--border);

backdrop-filter:blur(20px);

font-size:12px;

letter-spacing:3px;

}



.services-content h1{

font-size:72px;

line-height:.95;

margin:30px 0;

font-weight:800;

}



.services-content>p{

font-size:20px;

line-height:1.8;

max-width:750px;

color:var(--text-soft);

}





.services-grid{

margin-top:60px;

display:grid;

grid-template-columns:

repeat(3,1fr);

gap:25px;

}




.service-card-full{

padding:35px;

border-radius:30px;

background:

rgba(255,255,255,.08);


border:

1px solid rgba(255,255,255,.15);


backdrop-filter:

blur(25px);


transition:.35s;

}



.service-card-full:hover{

transform:translateY(-8px);

border-color:var(--gold);

box-shadow:

0 20px 50px rgba(var(--gold-rgb),.2);

}




.service-card-full h3{

font-size:24px;

color:var(--gold);

margin-bottom:15px;

}



.service-card-full p{

line-height:1.7;

font-size:15px;

color:var(--text-soft);

}



@media(max-width:1000px){


.services-content h1{

font-size:48px;

}


.services-grid{

grid-template-columns:1fr;

}


}
.projects-page{

min-height:100vh;

padding:150px 8% 100px;


background:

linear-gradient(
90deg,
var(--overlay-a),
var(--overlay-b)
),

url("../images/rig-background.jpg");


background-size:cover;

background-position:center;

color:var(--text);

}



.projects-content{

max-width:1200px;

}



.projects-tag{

display:inline-block;

padding:10px 22px;

border-radius:50px;

background:var(--surface);

border:1px solid var(--border);

backdrop-filter:blur(20px);

font-size:12px;

letter-spacing:3px;

}



.projects-content h1{

font-size:72px;

line-height:.95;

margin:30px 0;

font-weight:800;

}



.projects-content>p{

font-size:20px;

max-width:750px;

line-height:1.8;

color:var(--text-soft);

}



.projects-grid-full{

margin-top:60px;

display:grid;

grid-template-columns:

repeat(2,1fr);

gap:30px;

}



.project-card-full{

border-radius:35px;

overflow:hidden;

background:

rgba(255,255,255,.08);

border:

1px solid rgba(255,255,255,.15);

backdrop-filter:blur(25px);

transition:.4s;

}



.project-card-full:hover{

transform:translateY(-10px);

border-color:var(--gold);

box-shadow:

0 25px 60px rgba(var(--gold-rgb),.25);

}



.project-image-full{

height:260px;

background-size:cover;

background-position:center;

}



.project-info{

padding:30px;

}



.project-info h3{

font-size:26px;

color:var(--gold);

margin-bottom:15px;

}



.project-info span{

font-size:14px;

opacity:.8;

}



.project-info p{

margin-top:15px;

color:var(--text-soft);

}




@media(max-width:900px){


.projects-content h1{

font-size:48px;

}


.projects-grid-full{

grid-template-columns:1fr;

}


}
.technology-page{

min-height:100vh;

padding:150px 8% 100px;

background:

linear-gradient(
90deg,
var(--overlay-a),
var(--overlay-b)
),

url("../images/rig-background.jpg");


background-size:cover;

background-position:center;

color:var(--text);

}



.technology-content-full{

max-width:1100px;

}



.technology-tag{

display:inline-block;

padding:10px 22px;

border-radius:50px;

background:var(--surface);

border:1px solid var(--border);

backdrop-filter:blur(20px);

font-size:12px;

letter-spacing:3px;

}



.technology-content-full h1{

font-size:72px;

line-height:.95;

font-weight:800;

margin:30px 0;

}



.technology-content-full>p{

font-size:20px;

line-height:1.8;

max-width:750px;

color:var(--text-soft);

}




.technology-grid{

margin-top:60px;

display:grid;

grid-template-columns:

repeat(3,1fr);

gap:25px;

}




.technology-card{

padding:35px;

border-radius:30px;

background:

rgba(255,255,255,.08);

border:

1px solid rgba(255,255,255,.15);

backdrop-filter:blur(25px);

transition:.35s;

}




.technology-card:hover{

transform:translateY(-8px);

border-color:var(--gold);

box-shadow:

0 20px 50px rgba(var(--gold-rgb),.25);

}




.technology-card h3{

color:var(--gold);

font-size:24px;

margin-bottom:15px;

}



.technology-card p{

color:var(--text-soft);

line-height:1.7;

}




@media(max-width:1000px){

.technology-content-full h1{

font-size:48px;

}


.technology-grid{

grid-template-columns:1fr;

}


}
.careers-page{

min-height:100vh;

padding:150px 8% 100px;

background:

linear-gradient(
90deg,
var(--overlay-a),
var(--overlay-b)
),

url("../images/rig-background.jpg");


background-size:cover;

background-position:center;

color:var(--text);

}



.careers-content{

max-width:1100px;

}



.careers-tag{

display:inline-block;

padding:10px 22px;

border-radius:50px;

background:var(--surface);

border:1px solid var(--border);

backdrop-filter:blur(20px);

font-size:12px;

letter-spacing:3px;

}



.careers-content h1{

font-size:72px;

line-height:.95;

font-weight:800;

margin:30px 0;

}



.careers-content>p{

font-size:20px;

max-width:700px;

line-height:1.8;

color:var(--text-soft);

}



.jobs-grid{

margin-top:60px;

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}



.job-card{

padding:35px;

border-radius:30px;

background:

rgba(255,255,255,.08);

border:

1px solid rgba(255,255,255,.15);

backdrop-filter:blur(25px);

transition:.35s;

}



.job-card:hover{

transform:translateY(-8px);

border-color:var(--gold);

}



.job-card h3{

color:var(--gold);

font-size:24px;

margin-bottom:20px;

}



.job-card p{

color:var(--text-soft);

line-height:1.7;

}



.job-card button{

margin-top:25px;

height:45px;

padding:0 25px;

border:none;

border-radius:15px;

background:var(--gold);

font-weight:700;

cursor:pointer;

}



@media(max-width:900px){

.careers-content h1{

font-size:48px;

}


.jobs-grid{

grid-template-columns:1fr;

}

}
.contact-page{

min-height:100vh;

padding:150px 8% 100px;


background:

linear-gradient(
90deg,
var(--overlay-a),
var(--overlay-b)
),

url("../images/rig-background.jpg");


background-size:cover;

background-position:center;

color:var(--text);

}



.contact-content{

display:grid;

grid-template-columns:1fr 450px;

gap:60px;

align-items:center;

}




.contact-tag{

display:inline-block;

padding:10px 22px;

border-radius:50px;

background:var(--surface);

border:1px solid var(--border);

backdrop-filter:blur(20px);

font-size:12px;

letter-spacing:3px;

}



.contact-info-full h1{

font-size:72px;

line-height:.95;

margin:30px 0;

font-weight:800;

}



.contact-info-full>p{

font-size:20px;

line-height:1.8;

max-width:600px;

color:var(--text-soft);

}




.contact-details{

margin-top:40px;

display:flex;

gap:35px;

}



.contact-details h3{

color:var(--gold);

margin-bottom:8px;

}



.contact-details p{

color:var(--text-soft);

font-size:14px;

}





.contact-form-full{

padding:40px;

border-radius:35px;

background:

rgba(255,255,255,.08);

border:

1px solid rgba(255,255,255,.15);

backdrop-filter:blur(30px);

}



.contact-form-full input,
.contact-form-full textarea{


width:100%;

margin-bottom:20px;

padding:16px 20px;

border-radius:18px;

border:

1px solid var(--border);


background:

var(--surface);


color:var(--text);

outline:none;

}



.contact-form-full textarea{

height:140px;

resize:none;

}



.contact-form-full button{

width:100%;

height:55px;

border:none;

border-radius:18px;

background:var(--gold);

color:#111;

font-weight:700;

cursor:pointer;

}



@media(max-width:1000px){

.contact-content{

grid-template-columns:1fr;

}



.contact-info-full h1{

font-size:48px;

}



.contact-details{

flex-direction:column;

gap:20px;

}

}
.notfound{

min-height:100vh;

display:flex;

justify-content:center;

align-items:center;

background:var(--bg);

color:var(--text);

padding:40px;

text-align:center;

}

.notfound-content{

max-width:700px;

}

.notfound span{

font-size:150px;

font-weight:800;

color:var(--gold);

line-height:1;

display:block;

}

.notfound h1{

font-size:72px;

margin:20px 0;

line-height:1;

letter-spacing:-3px;

}

.notfound p{

font-size:18px;

line-height:1.8;

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

margin-bottom:45px;

}

.back-home{

display:inline-flex;

align-items:center;

justify-content:center;

height:58px;

padding:0 40px;

background:var(--gold);

border-radius:20px;

color:#111;

font-weight:700;

transition:.35s;

}

.back-home:hover{

transform:translateY(-5px);

box-shadow:0 20px 50px rgba(var(--gold-rgb),.35);

}

@media(max-width:900px){

.notfound span{

font-size:110px;

}

.notfound h1{

font-size:44px;

}

.notfound p{

font-size:16px;

}

}

/* =====================================================
   Reveal-on-scroll utility (added for WordPress port)
   ===================================================== */
.nepta-reveal {
	opacity: 0;
	transform: translateY(48px);
	transition: opacity .9s cubic-bezier(.16,.8,.24,1), transform .9s cubic-bezier(.16,.8,.24,1);
	will-change: opacity, transform;
}
.nepta-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}
.nepta-reveal-stagger.is-visible {
	transition-delay: var(--nepta-reveal-delay, 0ms);
}

/* =====================================================
   کارت‌های بزرگ Stats — عرض/ارتفاع مستقل از کارت‌های کوچک هیرو
   ===================================================== */
.stat-block {
	width: 100%;
}

/* =====================================================
   کادر شیشه‌ای فرم تماس در صفحه اصلی (تیزر خانه)
   ===================================================== */
.contact-form {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--radius, 28px);
	backdrop-filter: blur(20px);
	padding: 40px;
	box-shadow: 0 15px 40px rgba(0,0,0,.25);
}

/* =====================================================
   لوگوی سفارشی (از نمایش > شخصی‌سازی > هویت سایت)
   ===================================================== */
.nepta-logo-img {
	max-height: 44px;
	width: auto;
	display: block;
}
.footer-brand .nepta-footer-logo-img {
	max-height: 56px;
	width: auto;
	display: block;
	margin-bottom: 16px;
}


/* =====================================================================
   فوتر — طراحی جدید بر اساس مرجع: پنل‌های شیشه‌ای شناور، پس‌زمینه
   گرادیانت تیره آبی، گلوب کوچک چرخان، خط نور طلایی متحرک
   اولویت اول همچنان: بدون هیچ اورفلو افقی روی هر سایز صفحه
   ===================================================================== */

.footer-v3 {
	--fv3-blue: var(--gold);
	--fv3-blue-light: var(--gold);
	--fv3-glass-bg: rgba(255,255,255,.045);
	--fv3-glass-border: rgba(255,255,255,.08);

	position: relative;
	overflow: hidden;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: linear-gradient(160deg, #050b16 0%, #08182b 55%, #0b1220 100%);
	padding: 60px 0 0;
}

/* چند موج نور آبی محو در پس‌زمینه */
.footer-v3::before,
.footer-v3::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	filter: blur(110px);
	pointer-events: none;
	z-index: 0;
}
.footer-v3::before {
	width: 480px; height: 480px;
	top: -160px; left: -120px;
	background: radial-gradient(circle, rgba(47,111,237,.20), transparent 70%);
}
.footer-v3::after {
	width: 520px; height: 520px;
	bottom: -200px; right: -140px;
	background: radial-gradient(circle, rgba(47,111,237,.16), transparent 70%);
}

.fv3-inner {
	position: relative;
	z-index: 1;
	padding: 0 6%;
	box-sizing: border-box;
	width: 100%;
}

/* ---------- پنل شیشه‌ای مشترک (CTA و بدنه اصلی) ---------- */
.fv3-cta,
.fv3-main {
	position: relative;
	background: var(--fv3-glass-bg);
	border: 1px solid var(--fv3-glass-border);
	border-radius: 26px;
	backdrop-filter: blur(22px);
	box-shadow: 0 30px 60px rgba(0,0,0,.35);
	overflow: hidden;
}

/* ---------- نوار CTA ---------- */
.fv3-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding: 46px 50px;
	margin-bottom: 34px;
	flex-wrap: wrap;
}
.fv3-cta-flare {
	position: absolute;
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(111,168,255,.55), transparent 70%);
	filter: blur(18px);
	pointer-events: none;
}
.fv3-cta-flare-tl { top: -30px; left: 60px; }
.fv3-cta-flare-tr { top: -30px; right: 90px; }
.fv3-cta-bgimg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center right;
	opacity: .16;
	filter: grayscale(40%) brightness(.9);
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 30%, black 75%);
	mask-image: linear-gradient(90deg, transparent 0%, transparent 30%, black 75%);
	z-index: 0;
}
.fv3-cta-content {
	position: relative;
	z-index: 1;
	max-width: 640px;
}
.fv3-cta-tag {
	display: block;
	color: var(--fv3-blue-light);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 2.5px;
	margin-bottom: 14px;
}
.fv3-cta-content h2 {
	font-size: clamp(24px, 3.2vw, 40px);
	line-height: 1.25;
	font-weight: 800;
	color: var(--text);
	margin: 0 0 16px;
}
.fv3-accent { color: var(--fv3-blue-light); }
.fv3-cta-underline {
	display: block;
	width: 90px;
	height: 3px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--gold), transparent);
}
.fv3-cta-buttons {
	position: relative;
	z-index: 1;
	display: flex;
	gap: 16px;
	flex-shrink: 0;
	flex-wrap: wrap;
}
.fv3-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 15px 26px;
	border-radius: 14px;
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
	transition: .3s;
	white-space: nowrap;
}
.fv3-btn-solid {
	background: var(--fv3-blue);
	color: #fff;
	box-shadow: 0 10px 25px rgba(47,111,237,.35);
}
.fv3-btn-solid:hover {
	background: var(--fv3-blue-light);
	transform: translateY(-2px);
}
.fv3-btn-outline {
	background: transparent;
	border: 1px solid var(--fv3-glass-border);
	color: var(--text);
}
.fv3-btn-outline:hover {
	border-color: var(--fv3-blue-light);
	color: var(--fv3-blue-light);
	transform: translateY(-2px);
}
.fv3-btn svg { transition: transform .3s; }
.fv3-btn:hover svg { transform: translateX(3px); }

/* ---------- پنل اصلی ---------- */
.fv3-main {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 40px;
	padding: 50px;
}
.fv3-col-brand { grid-column: span 2; min-width: 0; }
.fv3-globe-col {
	grid-column: span 2;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-height: 160px;
}
.fv3-col { min-width: 0; }

.fv3-logo-fallback {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}
.fv3-logo-text {
	display: block;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: .5px;
	background: linear-gradient(90deg, var(--fv3-blue-light), var(--fv3-blue));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.fv3-logo-sub {
	display: block;
	font-size: 10.5px;
	letter-spacing: 3px;
	color: var(--text-soft);
	margin-top: 2px;
}
.fv3-tagline {
	color: var(--text-soft);
	font-size: 14px;
	line-height: 1.8;
	max-width: 320px;
	margin: 0 0 22px;
}

.fv3-social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.fv3-social-icon {
	width: 38px;
	height: 38px;
	border-radius: 11px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,.04);
	border: 1px solid var(--fv3-glass-border);
	color: var(--text);
	transition: .3s;
	flex-shrink: 0;
	line-height: 0;
}
.fv3-social-icon svg {
	width: 16px;
	height: 16px;
	display: block;
	flex-shrink: 0;
}
.fv3-social-icon:hover {
	background: var(--fv3-blue);
	border-color: var(--fv3-blue);
	transform: translateY(-3px);
}

.fv3-col h4 {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text);
	font-size: 13px;
	letter-spacing: 1.5px;
	margin: 0 0 22px;
	opacity: .9;
}
.fv3-col h4 svg { color: var(--fv3-blue-light); opacity: .9; }
.fv3-col a {
	position: relative;
	display: block;
	color: var(--text-soft);
	font-size: 14px;
	text-decoration: none;
	margin-bottom: 15px;
	max-width: 100%;
	overflow-wrap: anywhere;
	transition: color .25s;
}
.fv3-col a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 0;
	height: 1px;
	background: var(--gold);
	transition: width .3s ease;
}
.fv3-col a:hover { color: var(--text); }
.fv3-col a:hover::after { width: 100%; }

.fv3-contact-line {
	display: flex !important;
	align-items: center;
	gap: 9px;
}
.fv3-contact-line svg { color: var(--fv3-blue-light); flex-shrink: 0; opacity: .85; }
.fv3-contact-static { color: var(--text-soft); font-size: 14px; margin-bottom: 15px; opacity: .8; }

/* ---------- گلوب کوچک فوتر ---------- */
.nepta-globe-small {
	width: 150px;
	height: 150px;
	position: relative;
	z-index: 1;
}
.fv3-globe-ring {
	position: absolute;
	bottom: -6px;
	left: 50%;
	transform: translateX(-50%);
	width: 130px;
	height: 26px;
	border-radius: 50%;
	background: radial-gradient(ellipse, rgba(111,168,255,.45), transparent 70%);
	filter: blur(6px);
	z-index: 0;
}

/* ---------- خط نور طلایی متحرک ---------- */
.fv3-lightline {
	position: relative;
	height: 2px;
	width: 100%;
	background: rgba(255,255,255,.06);
	margin: 34px 0 30px;
	border-radius: 2px;
	overflow: hidden;
}
.fv3-lightline-sweep {
	position: absolute;
	top: 0;
	left: -30%;
	width: 30%;
	height: 100%;
	background: linear-gradient(90deg, transparent, var(--gold), transparent);
	animation: fv3-sweep 4.5s linear infinite;
}
@keyframes fv3-sweep {
	from { left: -30%; }
	to   { left: 130%; }
}
@media (prefers-reduced-motion: reduce) {
	.fv3-lightline-sweep { animation: none; left: 20%; }
}

/* ---------- ردیف پایین‌ترین (خارج از پنل‌ها) ---------- */
.fv3-bottom {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding: 0 6% 34px;
	font-size: 12.5px;
	color: var(--text-soft);
}
.fv3-bottom-copy { opacity: .75; letter-spacing: .5px; }
.fv3-bottom-brand {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text-soft);
	letter-spacing: 1px;
	opacity: .85;
}
.fv3-bottom-brand svg { color: var(--fv3-blue-light); }
.fv3-bottom-brand em {
	font-style: normal;
	color: var(--gold);
}
.fv3-bottom-links { display: flex; align-items: center; gap: 10px; }
.fv3-bottom-links a {
	color: var(--text-soft);
	text-decoration: none;
	transition: color .25s;
}
.fv3-bottom-links a:hover { color: var(--text); }
.fv3-bottom-links i { opacity: .3; font-style: normal; }

/* ---------- ریسپانسیو ---------- */
@media (max-width: 900px) {
	.fv3-cta { padding: 36px; }
	.fv3-main { padding: 36px; }
}
@media (max-width: 560px) {
	.footer-v3 { padding: 40px 0 0; }
	.fv3-cta { flex-direction: column; align-items: flex-start; padding: 30px 24px; }
	.fv3-main { padding: 30px 24px; grid-template-columns: 1fr 1fr; gap: 30px; }
	.fv3-col-brand,
	.fv3-globe-col { grid-column: 1 / -1; }
	.fv3-bottom { justify-content: center; text-align: center; padding: 0 6% 26px; }
}

/* ---------- دکمه بازگشت به بالا ---------- */
.footer-back-to-top {
	position: fixed;
	right: 26px;
	bottom: 26px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: var(--surface);
	border: 1px solid var(--border);
	backdrop-filter: blur(15px);
	color: var(--text);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(15px);
	transition: opacity .35s, transform .35s, border-color .3s, color .3s;
	z-index: 500;
}
.footer-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.footer-back-to-top:hover {
	color: #6fa8ff;
	border-color: #6fa8ff;
	box-shadow: 0 10px 25px rgba(47,111,237,.3);
}
@media (max-width: 560px) {
	.footer-back-to-top { right: 16px; bottom: 16px; width: 44px; height: 44px; }
}

/* تصویر واقعی داخل کارت‌های صفحه Services */
.service-card-full-image {
	width: 100%;
	aspect-ratio: 16/10;
	border-radius: 18px;
	overflow: hidden;
	margin-bottom: 22px;
}
.service-card-full-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .5s ease;
}
.service-card-full:hover .service-card-full-image img {
	transform: scale(1.06);
}

/* =====================================================================
   بخش «امکانات ما» — معرفی واقعی و عکس‌های واقعی محل کار (صفحه About)
   ===================================================================== */
.facility {
	padding: 120px 8%;
	background: var(--bg);
	display: grid;
	grid-template-columns: minmax(260px, 1fr) minmax(300px, 1.3fr);
	gap: 60px;
	align-items: center;
}
.facility-text span {
	display: block;
	color: var(--gold);
	letter-spacing: 3px;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 16px;
}
.facility-text h2 {
	font-size: clamp(28px, 3.2vw, 42px);
	color: var(--text);
	line-height: 1.25;
	margin: 0 0 20px;
}
.facility-text p {
	color: var(--text-soft);
	font-size: 15px;
	line-height: 1.9;
}
.facility-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
}
.facility-photo {
	border-radius: 20px;
	overflow: hidden;
	aspect-ratio: 4/3;
	border: 1px solid var(--border);
}
.facility-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .5s ease;
}
.facility-photo:hover img { transform: scale(1.05); }

@media (max-width: 900px) {
	.facility { grid-template-columns: 1fr; padding: 80px 6%; }
}

/* =====================================================================
   صفحه Clients — گرید لوگوی مشتریان واقعی
   ===================================================================== */
.clients-page {
	min-height: 100vh;
	padding: 150px 8% 100px;
	background: var(--bg);
	color: var(--text);
}
.clients-content { max-width: 1100px; }
.clients-tag {
	display: inline-block;
	padding: 10px 22px;
	border-radius: 50px;
	background: var(--surface);
	border: 1px solid var(--border);
	backdrop-filter: blur(20px);
	font-size: 12px;
	letter-spacing: 3px;
	color: var(--gold);
}
.clients-content h1 {
	font-size: clamp(36px, 5vw, 64px);
	line-height: 1.05;
	margin: 26px 0 20px;
	font-weight: 800;
}
.clients-content > p {
	font-size: 17px;
	line-height: 1.8;
	max-width: 700px;
	color: var(--text-soft);
	margin-bottom: 20px;
}
.clients-grid {
	margin-top: 50px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 22px;
}
.client-card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 20px;
	backdrop-filter: blur(15px);
	padding: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4/3;
	transition: .3s;
}
.client-card:hover {
	border-color: var(--gold);
	transform: translateY(-4px);
}
.client-card img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	filter: grayscale(15%);
}

/* =====================================================================
   صفحه Certifications (HSE & IMS) — گواهی‌نامه‌های واقعی
   ===================================================================== */
.certifications-page {
	min-height: 100vh;
	padding: 150px 8% 100px;
	background: var(--bg);
	color: var(--text);
}
.certifications-content { max-width: 1100px; }
.certifications-tag {
	display: inline-block;
	padding: 10px 22px;
	border-radius: 50px;
	background: var(--surface);
	border: 1px solid var(--border);
	backdrop-filter: blur(20px);
	font-size: 12px;
	letter-spacing: 3px;
	color: var(--gold);
}
.certifications-content h1 {
	font-size: clamp(36px, 5vw, 64px);
	line-height: 1.05;
	margin: 26px 0 20px;
	font-weight: 800;
}
.certifications-content > p {
	font-size: 17px;
	line-height: 1.8;
	max-width: 700px;
	color: var(--text-soft);
	margin-bottom: 20px;
}
.certifications-grid {
	margin-top: 50px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 26px;
}
.certification-card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: 22px;
	backdrop-filter: blur(15px);
	padding: 20px;
	transition: .3s;
}
.certification-card:hover {
	border-color: var(--gold);
	transform: translateY(-4px);
}
.certification-card-image {
	width: 100%;
	aspect-ratio: 3/4;
	border-radius: 14px;
	overflow: hidden;
	margin-bottom: 18px;
	background: #fff;
}
.certification-card-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.certification-card h3 {
	font-size: 17px;
	margin: 0 0 6px;
	color: var(--text);
}
.certification-card p {
	font-size: 13.5px;
	color: var(--text-soft);
	margin: 0;
}

@media (max-width: 700px) {
	.clients-page, .certifications-page { padding: 120px 6% 70px; }
}

/* =====================================================================
   یک تصویر پس‌زمینه ثابت برای کل صفحه اصلی (Home) — سکشن‌ها فقط روش
   رد می‌شن، نه اینکه هرکدوم عکس/رنگ پس‌زمینه جدا داشته باشن
   ===================================================================== */
.nepta-site-fixed-bg {
	position: fixed;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: center;
}
/* حالت «با صفحه اسکرول کنه» — به‌جای fixed، مطلق نسبت به کل ارتفاع بدنه صفحه */
body.nepta-fixed-bg-page {
	position: relative;
}
.nepta-site-fixed-bg.nepta-site-bg-scroll {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100vh;
}
.nepta-site-fixed-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--overlay-a);
}
/* اطمینان مطلق از اینکه محتوای صفحه همیشه بالای عکس پس‌زمینه ثابت بمونه،
   صرف‌نظر از هر نوع رفتار پیچیده استکینگ کانتکست */
.nepta-fixed-bg-page #site-content,
.nepta-fixed-bg-page .footer-v3 {
	position: relative;
	z-index: 1;
}

/* وقتی این کلاس روی body هست (فقط صفحه اصلی)، سکشن‌های اصلی صفحه شفاف
   میشن تا عکس ثابت پشت‌شون از بالا تا پایین یکدست دیده بشه */
.nepta-fixed-bg-page .hero-image { display: none; }
.nepta-fixed-bg-page .hero,
.nepta-fixed-bg-page .services,
.nepta-fixed-bg-page .technology,
.nepta-fixed-bg-page .projects,
.nepta-fixed-bg-page .stats,
.nepta-fixed-bg-page .contact {
	background: transparent !important;
}
.nepta-fixed-bg-page .about-page .about-overlay {
	opacity: .35;
}
