:root{
  --bg:#0b0d12;
  --card:rgba(18,21,33,.85);
  --border:rgba(255,255,255,.08);
  --text:#f3f4f6;
  --muted:#a1a1aa;
  --purple:#6d5bd0;
  --purple-soft:#8b7cff;
  --radius:22px;
  --shadow:0 30px 80px rgba(0,0,0,.6);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}

body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto;
  background:
    radial-gradient(900px 600px at 10% -10%, rgba(109,91,208,.22), transparent 60%),
    linear-gradient(180deg,#0b0d12,var(--bg));
  color:var(--text);
  line-height:1.6;
}

/* global mountain overlay */
body::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    linear-gradient(
      180deg,
      rgba(6,8,18,.05) 0%,
      rgba(6,8,18,.20) 40%,
      rgba(6,8,18,.45) 70%,
      rgba(6,8,18,.70) 100%
    ),
    url("mountains.png") center 130px / 1400px auto no-repeat;
  opacity:.72;
  pointer-events:none;
  z-index:-1;
}

img{max-width:100%;display:block}

.container{
  width:min(1100px, calc(100% - 40px));
  margin:auto;
}
/* space below header for page hero cards */
main > .card:first-child{
  margin-top:40px;
}
/* consistent spacing between sticky header and first content block */
main{
  padding-top:40px;
}

/* ================= HEADER ================= */
header{
  position:sticky;
  top:0;
  z-index:100;
  height:60px;

  backdrop-filter:blur(2px);

  background:
    linear-gradient(
      180deg,
      rgba(46,48,78,.96) 0%,
      rgba(32,34,56,.90) 55%,
      rgba(18,20,30,.95) 100%
    );

  /* 👇 soft inner glow */
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 -1px 0 rgba(0,0,0,.35);

  border-bottom:0;
}



/* layout */
.header-inner{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  z-index:1;
}

/* Brand */
.brand{
  color:rgba(255,255,255,.92);
  text-decoration:none;
  font-weight:800;
  letter-spacing:.06em;
  font-size:15px;
  text-transform:uppercase;
  transition:opacity .2s ease;
}

.brand:hover{opacity:.85}

/* Nav */
.nav a{
  color:rgba(255,255,255,.75);
  text-decoration:none;
  margin-left:14px;
  font-weight:500;
  position:relative;
}

.nav a:hover,
.nav a.active{
  color:rgba(255,255,255,.95);
}

.nav a::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-6px;
  height:2px;
  background:linear-gradient(90deg,var(--purple),var(--purple-soft));
  transform:scaleX(0);
  transition:.25s;
}

.nav a:hover::after,
.nav a.active::after{
  transform:scaleX(1);
}

/* ================= CARDS ================= */
.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

/* ================= HERO ================= */
.hero{
  text-align:center;
  padding:56px 32px;
  margin-top:40px;
}

.hero img{
  width:min(680px,92%);
  margin:0 auto 28px;
}

.hero h1{
  font-size:clamp(30px,4vw,44px);
}

.hero p{
  color:var(--muted);
  max-width:640px;
  margin:12px auto 28px;
}

/* ================= PILLS ================= */
.pills{
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
}

.pill{
  padding:12px 22px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  color:var(--text);
  text-decoration:none;
  transition:.25s;
}

.pill.primary{
  background:linear-gradient(135deg,var(--purple),var(--purple-soft));
  color:white;
}

.pill:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(109,91,208,.35);
}

/* ================= ABOUT ================= */
.about-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:40px;
  margin-top:48px;
}

.features{
  display:grid;
  gap:14px;
  margin-top:18px;
}

.feature{
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px;
}

/* ================= SERVICES ================= */
.service{
  border-top:1px solid var(--border);
}

.service:first-child{
  border-top:none;
}

.service button{
  width:100%;
  background:rgba(255,255,255,.02);
  border:none;
  color:var(--text);
  text-align:left;
  padding:20px 18px;
  font-size:16px;
  font-weight:500;
  cursor:pointer;

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

  transition:
    background .25s ease,
    transform .2s ease;
}

/* subtle hover reaction */
.service button:hover{
  background:rgba(255,255,255,.05);
  transform:translateY(-1px);
}

/* arrow */
.service button::after{
  content:"›";
  font-size:22px;
  opacity:.6;
  transition:
    transform .25s ease,
    opacity .25s ease;
}

/* arrow rotates when open */
.service button.active::after{
  transform:rotate(90deg);
  opacity:1;
}

/* accordion content */
.service-content{
  max-height:0;
  overflow:hidden;
  padding:0 18px;
  color:var(--muted);
  transition:max-height .35s ease;
}

/* ================= CONTACT ================= */
form{display:grid;gap:14px}

input,textarea{
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px;
  color:var(--text);
}

textarea{min-height:120px}

footer{
  text-align:center;
  padding:32px 0;
  color:var(--muted);
  font-size:14px;
}

/* ================= MOBILE ================= */
@media(max-width:900px){
  .about-grid{grid-template-columns:1fr}
  .nav{font-size:14px}
}
/* ================= SERVICES – HOVER INTERACTION ================= */

.service button{
  position: relative;

  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:16px;

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

/* main hover effect */
.service button:hover{
  background: rgba(255,255,255,.045);
  transform: translateY(-2px);
  box-shadow:
    0 10px 28px rgba(109,91,208,.18),
    inset 0 0 0 1px rgba(255,255,255,.06);
}

/* arrow micro-movement */
.service button::after{
  transition: transform .25s ease, opacity .25s ease;
}

.service button:hover::after{
  transform: translateX(4px);
  opacity: 1;
}

/* service icons */
.service-icon{
  width:50px;       /* 👈 bigger icon */
  height:50px;
  flex-shrink:0;
  opacity:.98;
}
/* icon glow on hover */
.service button:hover .service-icon{
  filter:
    drop-shadow(0 0 6px rgba(109,91,208,.45))
    drop-shadow(0 0 14px rgba(139,124,255,.25));
  opacity:1;
}
footer{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:32px 0;
  color:var(--muted);
  font-size:14px;
}

.footer-linkedin img{
  height:20px;
  opacity:.85;
  transition:opacity .2s ease, transform .2s ease;
}

.footer-linkedin:hover img{
  opacity:1;
  transform:translateY(-1px);
}
.footer-divider{
  width:1px;
  height:18px;
  background:rgba(255,255,255,.35);
}
.brand-logo{
  height:17px;
  width:auto;
  display:block;

  transition:
    transform .25s ease,
    filter .25s ease,
    opacity .25s ease;
}

/* hover animation + glow */
.brand:hover .brand-logo{
  transform: translateY(-1px) scale(1.03);
  opacity: 1;

  filter:
    drop-shadow(0 0 6px rgba(155,135,255,.55))
    drop-shadow(0 0 14px rgba(109,91,208,.35));
}
/* ================= ABOUT IMAGE HOVER ================= */
/* Targets ONLY blocks.png and graph.png */

img[src*="blocks.png"],
img[src*="graph.png"]{
  transition:
    transform .35s ease,
    box-shadow .35s ease,
    filter .35s ease;

  border-radius: 18px;
  will-change: transform;
}

/* hover effect */
img[src*="blocks.png"]:hover,
img[src*="graph.png"]:hover{
  transform: translateY(-4px) scale(1.015);

  box-shadow:
    0 0 0 1px rgba(255,255,255,.06),
    0 18px 45px rgba(139,124,255,.28),
    0 0 28px rgba(109,91,208,.45);

  filter: brightness(1.06);
}
/* ================= ABOUT – FEATURE BOX HOVER ================= */

.feature{
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px;

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

.feature:hover{
  transform: translateY(-3px);
  background: rgba(255,255,255,.05);

  box-shadow:
    0 14px 36px rgba(109,91,208,.25),
    inset 0 0 0 1px rgba(255,255,255,.08);
}
