:root{
  --background: 222 20% 10%;
  --foreground: 0 0% 98%;
  --card: 222 15% 15%;
  --muted-foreground: 0 0% 65%;
  --border: 222 15% 25%;
  --primary: 25 95% 53%;
  --hero-overlay-opacity: 0.45;
  --circuit-accent: 25 95% 53%;
  --circuit-bg: 222 20% 8%;
  --radius: 10px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:hsl(var(--background));
  color:hsl(var(--foreground));
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-x:clip;
}
html[dir="rtl"] body{font-family:Tahoma,'Vazirmatn',"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1400px;margin:0 auto;padding:0 16px}
.muted{color:hsl(var(--muted-foreground));font-size:14px}

.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  padding:18px 0;
  transition:all .25s ease;
  background:transparent;
}
.site-header.is-scrolled{
  padding:10px 0;
  background:hsla(var(--background),0.95);
  backdrop-filter:blur(12px);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{z-index:51}
.logo-text{font-weight:800;letter-spacing:-0.02em;font-size:22px;color:white}
.logo-accent{color:hsl(var(--primary))}

.nav-desktop{display:none;align-items:center;gap:28px}
.nav-links{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.nav-links a{font-size:14px;font-weight:600;color:#c7c7c7}
.nav-links a:hover{color:hsl(var(--primary))}
.nav-actions{display:flex;align-items:center;gap:14px}
.lang-toggle{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;border:0;color:#c7c7c7;
  font-weight:600;cursor:pointer;padding:8px 10px;border-radius:10px;
}
.lang-toggle:hover{color:hsl(var(--primary))}
.globe{font-size:14px;line-height:1}
.nav-mobile{display:flex;align-items:center;gap:10px;z-index:51}
.lang-toggle.mobile{padding:8px 8px}
.menu-toggle{
  background:transparent;border:0;color:white;
  font-size:22px;cursor:pointer;padding:8px 10px;border-radius:10px;
}
.menu-toggle:hover{background:rgba(255,255,255,.06)}

.mobile-menu{
  display:none;
  position:absolute;top:100%;left:0;right:0;
  background:hsla(var(--background),0.95);
  backdrop-filter:blur(14px);
  border-bottom:1px solid hsl(var(--border));
  box-shadow:0 18px 45px rgba(0,0,0,.5);
}
html.mobile-menu-open .mobile-menu{display:block}
.mobile-menu-inner{display:flex;flex-direction:column;gap:10px;padding:18px 0}
.mobile-menu-inner a{
  padding:12px 0;
  border-bottom:1px solid hsla(var(--border),.5);
  font-size:18px;font-weight:700;color:#e6e6e6;
}
.mobile-menu-inner a:hover{color:hsl(var(--primary))}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:12px;
  font-weight:800;
  transition:all .2s ease;
  border:1px solid transparent;
  cursor:pointer;
}
.btn-sm{padding:10px 14px;font-size:14px;border-radius:10px}
.btn-lg{padding:16px 22px;font-size:18px}
.btn-full{width:100%}
.btn-primary{
  background:hsl(var(--primary));
  color:white;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn-outline{
  background:transparent;
  border-color:hsl(var(--primary));
  color:hsl(var(--primary));
}
.btn-outline:hover{background:hsl(var(--primary));color:white}
.icon{line-height:1}
.glow{box-shadow:0 0 30px rgba(249,115,22,.35)}

.hero{
  min-height:100vh;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding-top:90px;
}
.hero-overlay{
  position:absolute;inset:0;
  background:hsl(var(--background));
  opacity:var(--hero-overlay-opacity);
  z-index:10;
}
.hero-content{position:relative;z-index:20;text-align:center}
.hero-title{
  margin:0 0 16px;
  font-size:48px;
  line-height:1.05;
  font-weight:900;
  color:white;
  text-shadow:0 10px 30px rgba(0,0,0,.6);
}
.hero-subtitle{
  display:block;
  margin-top:10px;
  color:hsl(var(--primary));
  font-size:34px;
}
.hero-desc{
  margin:0 auto 26px;
  max-width:900px;
  font-size:18px;
  color:#d6d6d6;
  font-weight:600;
  text-shadow:0 10px 30px rgba(0,0,0,.45);
}

.section{padding:90px 0}
.section-alt{background:rgba(255,255,255,.04)}
.section-alt-soft{background:rgba(255,255,255,.03)}
.section-head{text-align:center;margin-bottom:44px}
.section-title{margin:0 0 10px;font-size:38px;font-weight:900;color:white}
.section-desc{margin:0 auto;max-width:820px;color:hsl(var(--muted-foreground));font-size:18px}

.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:1fr}
.grid-3{grid-template-columns:1fr}
.grid-4{grid-template-columns:1fr}

.card{
  background:hsl(var(--card));
  border:1px solid hsl(var(--border));
  border-radius:16px;
  padding:22px;
  box-shadow:0 18px 40px rgba(0,0,0,.25);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  min-height: 100%;
}
.card:hover{transform:translateY(-3px);border-color:hsla(var(--primary),.6);box-shadow:0 22px 55px rgba(0,0,0,.35)}
.card.center{text-align:center}
.card-icon{
  width:56px;height:56px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:hsla(var(--primary),.10);
  color:hsl(var(--primary));
  font-size:24px;
  margin-bottom:14px;
}
.card-icon.round{border-radius:999px;width:70px;height:70px;margin:0 auto 16px;font-size:28px}
.card-title{margin:0 0 10px;font-size:20px;font-weight:900;color:white}
.card-desc{margin:0;color:hsl(var(--muted-foreground));font-size:15px;line-height:1.65}

.media-card{
  position:relative;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 18px 45px rgba(0,0,0,.35);
}
.media-card img{width:100%;height:360px;object-fit:cover;transform:scale(1);transition:transform .45s ease}
.media-card:hover img{transform:scale(1.08)}
.media-card.compact img{height:420px}
.media-overlay{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:20px;
  background:linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,.35), rgba(0,0,0,.05));
  opacity:0;transition:opacity .25s ease;
}
.media-card:hover .media-overlay{opacity:1}
.media-overlay h3{margin:0 0 8px;color:white;font-size:20px;font-weight:900}
.media-overlay p{margin:0;color:#d0d0d0}

.brands-grid{margin-top:18px}
.brand-card{
  background:hsl(var(--card));
  border:1px solid hsl(var(--border));
  border-radius:14px;
  padding:18px;
  text-align:center;
  font-weight:900;
  color:white;
  transition:all .2s ease;
}
.brand-card:hover{transform:translateY(-3px);border-color:hsla(var(--primary),.6);box-shadow:0 18px 45px rgba(0,0,0,.35);}

.stars{color:hsl(var(--primary));letter-spacing:2px;margin-bottom:12px}
.quote{margin:0 0 18px;color:#d0d0d0;font-style:italic;line-height:1.7}
.quote-meta{padding-top:14px;border-top:1px solid hsla(var(--border),.55)}
.quote-name{font-weight:900;color:white;font-size:18px}
.quote-service{color:hsl(var(--primary));font-weight:800;font-size:13px;margin-top:4px}

.contact-card{
  max-width:980px;
  margin:0 auto;
  background:hsl(var(--card));
  border:1px solid hsl(var(--border));
  border-radius:18px;
  padding:26px;
  box-shadow:0 22px 60px rgba(0,0,0,.4);
}
.contact-grid{display:grid;gap:16px;margin-bottom:18px}
.contact-item{display:flex;gap:14px;align-items:center}
.contact-icon{
  width:56px;height:56px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:hsla(var(--primary),.10);
  font-size:24px;
  color:hsl(var(--primary));
}
.contact-link{display:inline-block;font-size:28px;font-weight:900;color:hsl(var(--primary))}
.contact-link:hover{filter:brightness(1.1)}
.contact-text{font-size:22px;font-weight:900;color:white}
.contact-actions{display:grid;gap:12px}

.site-footer{
  border-top:1px solid hsl(var(--border));
  padding:26px 0;
  background:hsl(var(--background));
}
.footer-inner{text-align:center}
.footer-line{margin:0 0 8px;color:hsl(var(--muted-foreground))}
.footer-brand{color:white;font-weight:900}
.footer-small{margin:0;color:hsl(var(--muted-foreground));font-size:13px}

/* Reveal animations (Framer Motion feel) */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .6s ease, transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* Circuit background */
.circuit-wrap{
  position:absolute;inset:0;
  background:hsl(var(--circuit-bg));
  z-index:0;
}
.circuit-svg{position:absolute;inset:0;width:100%;height:100%;opacity:.75}
.circuit-base{stroke:hsla(var(--primary),.18);stroke-width:1.6}
.circuit-base circle{fill:hsla(var(--primary),.20)}
.circuit-glow{stroke:hsl(var(--circuit-accent));stroke-width:2.6;filter:drop-shadow(0 0 10px rgba(249,115,22,.65))}
.glow-path{
  stroke-dasharray:900;
  stroke-dashoffset:900;
  opacity:0;
  animation:dash 4s ease-in-out infinite;
}
.glow-path.p2{animation-duration:5s;animation-delay:1s}
.glow-path.p3{animation-duration:3.5s;animation-delay:2s}
.glow-path.p4{animation-duration:4.5s;animation-delay:.5s}
.glow-path.p5{animation-duration:4s;animation-delay:1.5s}

@keyframes dash{
  0%{stroke-dashoffset:900;opacity:0}
  15%{opacity:1}
  70%{opacity:1}
  100%{stroke-dashoffset:0;opacity:0}
}

.circuit-nodes{fill:hsl(var(--circuit-accent));filter:drop-shadow(0 0 12px rgba(249,115,22,.9))}
.node{opacity:.35;transform-origin:center;animation:pulse 2.6s ease-in-out infinite}
.node.n2{animation-delay:.5s;animation-duration:3s}
.node.n3{animation-delay:1s;animation-duration:2.8s}
.node.n4{animation-delay:1.5s;animation-duration:3.2s}
.node.n5{animation-delay:.8s;animation-duration:3.4s}
.node.n6{animation-delay:1.2s;animation-duration:2.9s}

@keyframes pulse{
  0%,100%{opacity:.35;transform:scale(1)}
  50%{opacity:1;transform:scale(1.35)}
}

/* Responsive */
@media (min-width: 900px){
  .nav-desktop{display:flex}
  .nav-mobile{display:none}
  .grid-2{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-4{grid-template-columns:repeat(4,1fr)}
  .hero-title{font-size:64px}
  .hero-subtitle{font-size:44px}
  .hero-desc{font-size:20px}
  .contact-grid{grid-template-columns:1fr 1fr}
  .contact-actions{grid-template-columns:1fr 1fr}
}
/* Mobile fix: show gallery overlay because touch devices don't hover */

/* Mobile: make Featured Work text always visible */
@media (hover: none) and (pointer: coarse) {
  .media-overlay{
    opacity: 1 !important;
  }
}