/* ============================================================
   ELXDEVICE — modern dark "smart-home / electronics" theme
   Neon lime-green glow, glassmorphism, drawn from the logo.
   ============================================================ */
:root{
  /* brand accents — shared by both themes */
  --lime:      #a4ce27;
  --lime-2:    #c3ec4a;
  --lime-3:    #d7ff5e;
  --lime-dk:   #7ba018;
  --radius:    18px;
  --maxw:      1180px;

  /* ---- LIGHT THEME (default) ---- */
  --cyan:      #159bb0;
  --bg:        #f4f8ec;
  --bg-radial: radial-gradient(120% 80% at 50% -10%,#e9f1d8 0%,var(--bg) 55%);
  --grid-c:    rgba(122,160,24,.07);
  --orb-lime:  rgba(164,206,39,.30);
  --orb-cyan:  rgba(47,208,230,.16);
  --orb-op:    .55;

  --panel:     rgba(255,255,255,.80);
  --panel-2:   rgba(255,255,255,.55);
  --stroke:    rgba(122,160,24,.24);
  --stroke-2:  rgba(28,40,18,.10);
  --glass:     rgba(255,255,255,.78);

  --text:      #1a2413;
  --muted:     #55604d;
  --muted-2:   #7d887a;

  --accent-text:   #5c7c10;
  --accent-shadow: 0 0 1px rgba(122,160,24,.25);
  --header-bg:     rgba(244,248,236,.82);
  --footer-bg:     rgba(238,243,228,.82);
  --contact-bg:    rgba(255,255,255,.7);

  --card-shadow:      0 20px 42px -24px rgba(60,80,20,.4);
  --card-shadow-hover:0 24px 50px -24px rgba(60,80,20,.35),0 0 40px -14px rgba(164,206,39,.55);
  --img-shadow:       0 26px 54px -26px rgba(40,60,15,.5);
  --img-border:       rgba(122,160,24,.32);
  --glow:      0 0 34px rgba(164,206,39,.4);
  --glow-soft: 0 0 44px rgba(164,206,39,.2);
}

/* ---- DARK THEME ---- */
:root[data-theme="dark"]{
  --cyan:      #2fd0e6;
  --bg:        #0a0d0b;
  --bg-radial: radial-gradient(120% 80% at 50% -10%,#12180f 0%,var(--bg) 55%);
  --grid-c:    rgba(164,206,39,.05);
  --orb-lime:  rgba(164,206,39,.55);
  --orb-cyan:  rgba(47,208,230,.35);
  --orb-op:    .5;

  --panel:     rgba(255,255,255,.045);
  --panel-2:   rgba(255,255,255,.03);
  --stroke:    rgba(164,206,39,.16);
  --stroke-2:  rgba(255,255,255,.08);
  --glass:     rgba(16,20,15,.82);

  --text:      #eef2e8;
  --muted:     #9aa79a;
  --muted-2:   #737e73;

  --accent-text:   #c3ec4a;
  --accent-shadow: 0 0 22px rgba(164,206,39,.55),0 0 4px rgba(164,206,39,.4);
  --header-bg:     rgba(10,13,11,.72);
  --footer-bg:     rgba(6,8,6,.6);
  --contact-bg:    rgba(10,13,11,.5);

  --card-shadow:      0 24px 50px -24px rgba(0,0,0,.8);
  --card-shadow-hover:0 24px 50px -24px rgba(0,0,0,.8),0 0 44px -12px rgba(164,206,39,.4);
  --img-shadow:       0 30px 70px -22px rgba(0,0,0,.8);
  --img-border:       rgba(164,206,39,.28);
  --glow:      0 0 40px rgba(164,206,39,.45);
  --glow-soft: 0 0 60px rgba(164,206,39,.22);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  transition:color .3s ease;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,.brand{font-family:"Montserrat",sans-serif}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px;position:relative;z-index:2}

/* ---------- Ambient background ---------- */
.bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:var(--bg-radial),var(--bg);transition:background .3s ease}
.bg .grid{position:absolute;inset:-2px;opacity:.6;
  background-image:
    linear-gradient(var(--grid-c) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-c) 1px,transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%,#000 0%,transparent 70%);
          mask-image:radial-gradient(120% 90% at 50% 0%,#000 0%,transparent 70%);
}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:var(--orb-op)}
.orb--1{width:520px;height:520px;top:-160px;right:-120px;
  background:radial-gradient(circle,var(--orb-lime),transparent 70%);animation:float1 16s ease-in-out infinite}
.orb--2{width:460px;height:460px;top:900px;left:-160px;
  background:radial-gradient(circle,var(--orb-cyan),transparent 70%);animation:float2 20s ease-in-out infinite}
.orb--3{width:600px;height:600px;top:2200px;right:-200px;
  background:radial-gradient(circle,var(--orb-lime),transparent 70%);animation:float1 22s ease-in-out infinite}
@keyframes float1{0%,100%{transform:translate(0,0)}50%{transform:translate(-40px,40px)}}
@keyframes float2{0%,100%{transform:translate(0,0)}50%{transform:translate(50px,-30px)}}

/* ---------- Buttons ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:15px 30px;border-radius:999px;font-weight:600;font-size:15px;
  transition:transform .18s ease,box-shadow .25s ease,background .25s ease,border-color .25s;
  cursor:pointer;border:1.5px solid transparent;isolation:isolate;
}
.btn--primary{
  color:#12210a;
  background:linear-gradient(135deg,var(--lime-3),var(--lime) 60%,var(--lime-dk));
  box-shadow:0 0 0 1px rgba(215,255,94,.4) inset, 0 10px 30px -8px rgba(164,206,39,.7), var(--glow-soft);
}
.btn--primary:hover{transform:translateY(-2px);
  box-shadow:0 0 0 1px rgba(215,255,94,.6) inset, 0 14px 34px -6px rgba(164,206,39,.9), 0 0 55px rgba(164,206,39,.6)}
.btn--ghost{color:var(--text);border-color:var(--stroke);background:rgba(164,206,39,.05);backdrop-filter:blur(6px)}
.btn--ghost:hover{transform:translateY(-2px);border-color:rgba(164,206,39,.6);
  box-shadow:0 0 30px rgba(164,206,39,.28);background:rgba(164,206,39,.1)}

/* ---------- Glow text ---------- */
.glow-text{color:var(--accent-text);text-shadow:var(--accent-shadow)}

/* ---------- Header ---------- */
.header{position:sticky;top:0;z-index:50;
  background:var(--header-bg);backdrop-filter:saturate(160%) blur(14px);
  border-bottom:1px solid var(--stroke-2);transition:background .3s ease}
.header__inner{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand__logo{height:38px;width:auto;filter:drop-shadow(0 0 14px rgba(164,206,39,.35))}
.nav{display:flex;align-items:center;gap:24px}
.nav a{position:relative;font-weight:500;font-size:15px;color:var(--muted);transition:color .15s,text-shadow .15s}
.nav a:hover{color:var(--text);text-shadow:0 0 16px rgba(164,206,39,.5)}
.nav a:not(.nav__cta).active{color:var(--text)}
.nav a:not(.nav__cta).active::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;border-radius:2px;
  background:var(--lime);box-shadow:0 0 10px var(--lime),0 0 4px var(--lime)}
.nav__cta{
  color:#12210a !important;font-weight:600;padding:10px 22px;border-radius:999px;
  background:linear-gradient(135deg,var(--lime-3),var(--lime));
  box-shadow:0 6px 22px -6px rgba(164,206,39,.7);transition:transform .15s,box-shadow .25s}
.nav__cta:hover{transform:translateY(-1px);box-shadow:0 8px 30px -4px rgba(164,206,39,.9),0 0 30px rgba(164,206,39,.5)}

.header__actions{display:flex;align-items:center;gap:12px}
.theme-toggle{position:relative;width:42px;height:42px;flex:0 0 auto;border-radius:50%;cursor:pointer;
  background:var(--panel);border:1px solid var(--stroke);color:var(--text);
  display:grid;place-items:center;transition:border-color .25s,box-shadow .25s,transform .15s,background .3s}
.theme-toggle:hover{border-color:rgba(164,206,39,.55);box-shadow:0 0 22px -4px rgba(164,206,39,.5);transform:translateY(-1px)}
.theme-toggle .ic{position:absolute;width:20px;height:20px;background:currentColor;transition:opacity .25s,transform .3s;
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.theme-toggle .ic--sun{-webkit-mask-image:var(--ic-sun);mask-image:var(--ic-sun);color:var(--lime-dk)}
.theme-toggle .ic--moon{-webkit-mask-image:var(--ic-moon);mask-image:var(--ic-moon)}
/* light theme → show moon (click to go dark); dark theme → show sun */
:root[data-theme="light"] .ic--sun{opacity:0;transform:rotate(-90deg) scale(.5)}
:root[data-theme="light"] .ic--moon{opacity:1;transform:none}
:root[data-theme="dark"]  .ic--sun{opacity:1;transform:none;color:var(--lime-2)}
:root[data-theme="dark"]  .ic--moon{opacity:0;transform:rotate(90deg) scale(.5)}

.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:26px;height:2.5px;background:var(--text);border-radius:2px;transition:.25s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ---------- Hero ---------- */
.hero{position:relative;padding:78px 0 92px}
.hero__inner{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.hero__eyebrow{display:inline-flex;align-items:center;gap:9px;
  font-size:13px;font-weight:600;letter-spacing:.04em;color:var(--accent-text);
  background:rgba(164,206,39,.1);border:1px solid var(--stroke);
  padding:8px 16px;border-radius:999px;margin-bottom:24px}
.hero__eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--lime-2);
  box-shadow:0 0 12px var(--lime-2);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}
.hero__title{font-size:clamp(31px,4.6vw,54px);line-height:1.07;font-weight:800;letter-spacing:-.015em}
.hero__lead{margin-top:22px;font-size:clamp(16px,1.6vw,19px);max-width:560px;color:var(--muted)}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero__facts{list-style:none;display:flex;flex-wrap:wrap;gap:14px 40px;margin-top:46px}
.hero__facts li{display:flex;flex-direction:column}
.hero__facts strong{font-family:"Montserrat";font-size:22px;font-weight:800;color:var(--text)}
.hero__facts span{font-size:13px;color:var(--muted-2)}

.hero__media{position:relative}
.hero__glow{display:none}
.hero__media>img{position:relative;z-index:1;border-radius:var(--radius);
  border:1px solid var(--img-border);box-shadow:var(--img-shadow)}
.hero__badge{position:absolute;z-index:2;left:-16px;bottom:-16px;
  display:flex;align-items:center;gap:10px;
  background:var(--glass);backdrop-filter:blur(10px);
  border:1px solid var(--stroke);border-radius:15px;
  padding:12px 18px 12px 12px;box-shadow:var(--card-shadow)}
.hero__badge img{width:42px;height:42px;border-radius:9px}
.hero__badge span{font-size:13px;font-weight:600;line-height:1.25;color:var(--text)}

/* ---------- Sections ---------- */
.section{padding:92px 0;position:relative}
.section__head{max-width:720px;margin:0 auto 56px;text-align:center}
.section__title{font-size:clamp(26px,3.5vw,40px);font-weight:800;line-height:1.14;letter-spacing:-.015em}
.section__sub{margin-top:16px;font-size:17px;color:var(--muted)}
.tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent-text);background:rgba(164,206,39,.12);border:1px solid var(--stroke);
  padding:6px 15px;border-radius:999px;margin-bottom:18px}

/* ---------- About ---------- */
.about__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:58px;align-items:center}
.about__media{position:relative}
.about__media img{position:relative;z-index:1;border-radius:var(--radius);width:100%;
  border:1px solid var(--img-border);box-shadow:var(--img-shadow)}
.glow-ring{display:none}
.about__text .tag{margin-bottom:16px}
.about__text p{color:var(--muted);margin-top:16px;font-size:16px}
.about__text p strong{color:var(--accent-text)}
.checklist{list-style:none;margin-top:26px;display:grid;gap:13px}
.checklist li{position:relative;padding-left:36px;font-weight:500;color:var(--text)}
.checklist li::before{content:"";position:absolute;left:0;top:1px;width:23px;height:23px;border-radius:50%;
  background:linear-gradient(135deg,var(--lime-2),var(--lime-dk));
  box-shadow:0 0 16px rgba(164,206,39,.55);
  -webkit-mask:none}
.checklist li::after{content:"";position:absolute;left:6px;top:7px;width:11px;height:11px;
  background:#12210a;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/contain no-repeat;
          mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/contain no-repeat}

/* ---------- Article sections (smart home / automation) ---------- */
.section--tinted{background:
  linear-gradient(180deg,rgba(164,206,39,.05),transparent 40%);}
.article-row{margin-top:22px}
.article-row + .article-row{margin-top:56px}
.article__h3{font-size:clamp(20px,2.4vw,26px);font-weight:800;letter-spacing:-.01em;margin-bottom:6px}
.about__media--portrait{display:flex;justify-content:center}
.about__media--portrait img{width:auto;max-width:100%;max-height:620px;object-fit:cover}
.about__media--portrait .glow-ring{inset:2% 8%}

/* Featured controller render in the production section */
.cycle__feature{position:relative;max-width:900px;margin:0 auto 46px;text-align:center}
.cycle__feature-glow{display:none}
.cycle__feature img{position:relative;z-index:1;border-radius:var(--radius);width:100%;
  border:1px solid var(--img-border);box-shadow:var(--img-shadow)}
.cycle__feature figcaption{position:relative;z-index:1;margin-top:16px;font-size:14px;color:var(--muted)}

/* ---------- Glass cards (directions) ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--stroke-2);border-radius:var(--radius);
  padding:34px 30px;backdrop-filter:blur(8px);
  transition:transform .2s ease,box-shadow .3s ease,border-color .3s}
.card::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .3s;
  background:radial-gradient(80% 60% at 50% 0%,rgba(164,206,39,.14),transparent 70%)}
.card:hover{transform:translateY(-6px);border-color:rgba(164,206,39,.45);box-shadow:var(--card-shadow-hover)}
.card:hover::before{opacity:1}
.card__icon{position:relative;z-index:1;width:58px;height:58px;border-radius:15px;margin-bottom:22px;
  background:linear-gradient(135deg,var(--lime-2),var(--lime-dk));
  box-shadow:0 0 26px rgba(164,206,39,.5),inset 0 1px 0 rgba(255,255,255,.35);
  display:grid;place-items:center}
.card__icon::after{content:"";width:30px;height:30px;background:#0d1409;
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.card__icon[data-i="home"]::after{-webkit-mask-image:var(--ic-home);mask-image:var(--ic-home)}
.card__icon[data-i="chip"]::after{-webkit-mask-image:var(--ic-chip);mask-image:var(--ic-chip)}
.card__icon[data-i="code"]::after{-webkit-mask-image:var(--ic-code);mask-image:var(--ic-code)}
.card__icon[data-i="scada"]::after{-webkit-mask-image:var(--ic-scada);mask-image:var(--ic-scada)}
.card__icon[data-i="cloud"]::after{-webkit-mask-image:var(--ic-cloud);mask-image:var(--ic-cloud)}
.card__icon[data-i="gear"]::after{-webkit-mask-image:var(--ic-gear);mask-image:var(--ic-gear)}
.card h3{position:relative;z-index:1;font-size:19px;margin-bottom:11px}
.card p{position:relative;z-index:1;color:var(--muted);font-size:15px}

:root{
  --ic-home:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 3 2 12h3v8h6v-5h2v5h6v-8h3z'/></svg>");
  --ic-chip:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 3v2H7a2 2 0 0 0-2 2v2H3v2h2v2H3v2h2v2a2 2 0 0 0 2 2h2v2h2v-2h2v2h2v-2h2a2 2 0 0 0 2-2v-2h2v-2h-2v-2h2V9h-2V7a2 2 0 0 0-2-2h-2V3h-2v2h-2V3h-2v2H9V3zm-2 4h10v10H7z'/></svg>");
  --ic-code:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M8.7 15.9 4.8 12l3.9-3.9L7.3 6.7 2 12l5.3 5.3zM15.3 8.1l3.9 3.9-3.9 3.9 1.4 1.4L22 12l-5.3-5.3z'/></svg>");
  --ic-scada:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M3 3h8v8H3zm10 0h8v5h-8zm0 7h8v11h-8zM3 13h8v8H3z'/></svg>");
  --ic-cloud:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M19 18H6a4 4 0 0 1-.7-7.94A6 6 0 0 1 17 9.2 4.5 4.5 0 0 1 19 18z'/></svg>");
  --ic-gear:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8zm9 4-2.1 1.6.5 2.6-2.3 1.3-2-1.7-2.6.9-.9 2.5h-2.6l-.9-2.5-2.6-.9-2 1.7-2.3-1.3.5-2.6L3 12l2.1-1.6-.5-2.6 2.3-1.3 2 1.7 2.6-.9.9-2.5h2.6l.9 2.5 2.6.9 2-1.7 2.3 1.3-.5 2.6z'/></svg>");
  --ic-sun:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10zm0-5 2 3h-4zm0 20-2-3h4zM2 12l3-2v4zm20 0-3 2v-4zM4.5 4.5 8 6 6 8zm15 15L16 18l2-2zM4.5 19.5 6 16l2 2zm15-15L18 8l-2-2z'/></svg>");
  --ic-moon:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M12.7 2a9 9 0 1 0 9.3 12.3A7.5 7.5 0 0 1 12.7 2z'/></svg>");
}

/* ---------- Steps (cycle) ---------- */
.section--cycle::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 50% at 50% 50%,rgba(164,206,39,.06),transparent 70%)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.step{position:relative;
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--stroke-2);border-radius:var(--radius);padding:30px 22px;
  transition:transform .2s,box-shadow .3s,border-color .3s}
.step:hover{transform:translateY(-6px);border-color:rgba(164,206,39,.4);box-shadow:var(--card-shadow-hover)}
.step__num{font-family:"Montserrat";font-weight:900;font-size:36px;line-height:1;display:block;margin-bottom:16px;
  background:linear-gradient(135deg,var(--lime-3),var(--lime-dk));-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 14px rgba(164,206,39,.5))}
.step h3{font-size:17px;margin-bottom:9px}
.step p{color:var(--muted);font-size:14px}

/* ---------- Projects ---------- */
.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.project{position:relative;overflow:hidden;display:flex;flex-direction:column;
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--stroke-2);border-radius:var(--radius);
  padding:30px 32px;transition:transform .2s,box-shadow .3s,border-color .3s}
.project::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .3s;
  background:radial-gradient(70% 80% at 100% 0%,rgba(47,208,230,.12),transparent 65%)}
.project:hover{transform:translateY(-6px);border-color:rgba(164,206,39,.45);box-shadow:var(--card-shadow-hover)}
.project:hover::before{opacity:1}
.project>*{position:relative;z-index:1}
.project__top{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap}
.project__top h3{font-size:20px}
.project__url{font-size:13px;font-weight:600;color:var(--cyan);text-shadow:0 0 14px rgba(47,208,230,.5)}
.project p{color:var(--muted);font-size:15px;margin-top:10px}
.project__go{margin-top:auto;padding-top:18px;font-weight:600;color:var(--accent-text);display:inline-flex;gap:7px;align-items:center}
.project__go i{font-style:normal;transition:transform .2s}
.project:hover .project__go i{transform:translateX(5px)}
.projects__more{text-align:center;margin-top:30px;color:var(--muted-2);font-size:15px}

/* ---------- Contacts / CTA ---------- */
.contacts{padding-bottom:100px}
.cta{position:relative;overflow:hidden;border-radius:26px;padding:60px 40px;
  background:
    radial-gradient(90% 120% at 50% -20%,rgba(164,206,39,.18),transparent 60%),
    linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--stroke)}
.cta__glow{position:absolute;left:50%;top:-40%;width:520px;height:520px;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(164,206,39,.4),transparent 65%);filter:blur(50px);pointer-events:none}
.cta .section__head{margin-bottom:38px}
.contacts__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:920px;margin:0 auto}
.contact{position:relative;z-index:1;display:flex;flex-direction:column;gap:6px;
  background:var(--contact-bg);border:1px solid var(--stroke-2);border-radius:var(--radius);
  padding:26px 28px;transition:transform .18s,box-shadow .3s,border-color .3s}
a.contact:hover{transform:translateY(-4px);border-color:rgba(164,206,39,.5);
  box-shadow:0 0 34px -8px rgba(164,206,39,.4)}
.contact__label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}
.contact__value{font-family:"Montserrat";font-weight:600;font-size:18px;color:var(--text)}

/* ---------- Footer ---------- */
.footer{position:relative;z-index:2;background:var(--footer-bg);border-top:1px solid var(--stroke-2);padding-top:56px;backdrop-filter:blur(6px)}
.footer__inner{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:40px}
.footer__logo{height:36px;width:auto;margin-bottom:16px;filter:drop-shadow(0 0 12px rgba(164,206,39,.3))}
.footer__brand p{max-width:340px;font-size:14px;color:var(--muted-2)}
.footer__nav{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start}
.footer__nav a{font-size:14px;color:var(--muted);transition:color .15s}
.footer__nav a:hover{color:var(--lime-2)}
.footer__bottom{border-top:1px solid var(--stroke-2);padding:20px 0;font-size:13px;color:var(--muted-2)}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.cards .reveal.in,.steps .reveal.in,.projects .reveal.in{transition-delay:var(--d,0s)}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .orb{animation:none}
  .hero__eyebrow .dot{animation:none}
}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .hero__inner{grid-template-columns:1fr;gap:44px}
  .hero__media{order:-1;max-width:520px;margin:0 auto}
  .about__grid{grid-template-columns:1fr;gap:38px}
  .about__media{max-width:560px;margin:0 auto}
  .cards{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .projects{grid-template-columns:1fr}
}
@media (max-width:760px){
  .nav{position:fixed;inset:76px 0 auto 0;flex-direction:column;gap:0;
    background:var(--glass);backdrop-filter:blur(16px) saturate(160%);border-bottom:1px solid var(--stroke-2);
    transform:translateY(-150%);transition:transform .32s ease;padding:8px 0}
  .nav.open{transform:translateY(0)}
  .nav a{width:100%;padding:15px 24px}
  .nav a:not(.nav__cta).active{background:rgba(164,206,39,.1)}
  .nav a:not(.nav__cta).active::after{left:0;right:auto;top:0;bottom:0;width:3px;height:auto}
  .nav__cta{margin:8px 24px;justify-content:center}
  .burger{display:flex}
  .section{padding:66px 0}
  .cards{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .contacts__grid{grid-template-columns:1fr}
  .cta{padding:44px 22px}
  .footer__inner{flex-direction:column;gap:26px}
}
