:root {
  --navy:        #050d1a;
  --navy-mid:    #0a1628;
  --navy-light:  #0f2040;
  --blue-core:   #1a6bff;
  --blue-bright: #3d8bff;
  --blue-glow:   #4fa3ff;
  --steel:       #8fa8c8;
  --steel-light: #b8ccde;
  --white:       #f0f6ff;
  --white-faint: rgba(240,246,255,0.10);
  --accent-cyan: #00d4ff;
  --grid-line:   rgba(26,107,255,0.07);
  --card-bg:     rgba(10,22,40,0.72);
  --card-border: rgba(26,107,255,0.17);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:300;background:var(--navy);color:var(--white);
  overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased;
}
body::before{
  content:'';position:fixed;inset:0;
  background-image:
    linear-gradient(var(--grid-line) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);
  background-size:60px 60px;pointer-events:none;z-index:0;
}
section,nav,footer{position:relative;z-index:1}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;height:70px;
  background:rgba(5,13,26,0.88);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--card-border);
}
.nav-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:1.2rem;letter-spacing:-.02em;color:var(--white);text-decoration:none}
.nav-logo span{color:var(--blue-core)}
.nav-logo-img{width:auto;height:60px;margin-right:.5rem;filter:drop-shadow(0 0 2px var(--blue-core))}
.nav-links{display:flex;gap:2.2rem;list-style:none}
.nav-links a{color:var(--steel-light);text-decoration:none;font-size:.85rem;font-weight:400;letter-spacing:.02em;transition:color .2s}
.nav-links a:hover{color:var(--white)}
.nav-cta{background:var(--blue-core);color:var(--white)!important;padding:.45rem 1.2rem;border-radius:6px;font-weight:600!important}
.nav-cta:hover{background:var(--blue-bright)!important}
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--steel-light);border-radius:2px;transition:.3s}
.mobile-menu{
  display:none;position:fixed;top:70px;left:0;right:0;
  background:rgba(5,13,26,0.97);backdrop-filter:blur(20px);
  border-bottom:1px solid var(--card-border);
  padding:1.5rem 5%;z-index:99;flex-direction:column;gap:1rem;
}
.mobile-menu a{color:var(--steel-light);text-decoration:none;font-size:1rem;padding:.5rem 0;border-bottom:1px solid var(--card-border);transition:color .2s}
.mobile-menu a:hover{color:var(--white)}
.mobile-menu.open{display:flex}

/* ══════════════════════════════
   HERO — Cinematic Split
══════════════════════════════ */
#hero {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: center;
  padding: 0 7% 0 8%;
  gap: 0.5rem;
  padding-top: 50px;
  position: relative;
  overflow: hidden;
}
#hero-canvas {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  width: 100%; height: 100%;

}
#hero::before {
  content: ''; position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(105deg, rgba(26,107,255,.11) 0%, transparent 55%, rgba(0,212,255,.05) 100%);
  pointer-events: none;
}
#hero::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 160px; z-index: 0;
  background: linear-gradient(transparent, var(--navy));
  pointer-events: none;
}
.hero-left  { position: relative; z-index: 2; }
.hero-right { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 1rem; }

/* ── badge ── */
.hero-badge {
  display: inline-flex; align-items: center; gap: .55rem;
  background: rgba(26,107,255,.09); border: 1px solid rgba(26,107,255,.28);
  border-radius: 100px; padding: .36rem 1rem;
  font-size: .7rem; font-weight: 500; color: var(--blue-glow);
  letter-spacing: .12em; text-transform: uppercase;
  margin-bottom: 1.8rem; width: fit-content;
  opacity: 0; animation: heroFadeUp .5s .1s ease forwards;
}
.badge-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--accent-cyan); box-shadow: 0 0 6px var(--accent-cyan);
  animation: blink 2s ease infinite;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.3} }

/* ── headline ── */
.hero-title {
  font-family: 'Syne', sans-serif;
  font-size: clamp(2.5rem, 4.5vw, 3rem);
  font-weight: 800; line-height: 1.03; letter-spacing: -.04em;
  margin-bottom: 1.6rem;
  opacity: 0; animation: heroFadeUp .55s .2s ease forwards;
}
.hero-title .line-solid  { color: var(--white); }
.hero-title .line-outline { -webkit-text-stroke: 2px rgba(79,163,255,.55); color: transparent; display: block; }
.hero-title .line-grad {
  color: transparent;
  background: linear-gradient(115deg, #3d8bff 0%, #00d4ff 60%, #a78bfa 100%);
  -webkit-background-clip: text; background-clip: text; display: block;
}
.hero-title .tw-cursor {
  display: inline-block; width: 3px; height: .88em;
  background: var(--accent-cyan); margin-left: 3px; vertical-align: middle;
  animation: cursorBlink 1s step-end infinite;
}
@keyframes cursorBlink { 0%,100%{opacity:1} 50%{opacity:0} }

/* ── sub ── */
.hero-sub {
  font-size: .92rem; color: var(--steel-light); max-width: 440px;
  line-height: 1.4; margin-bottom: 2.2rem; font-weight: 300;
  opacity: 0; animation: heroFadeUp .55s .3s ease forwards;
  font-family: 'Courier New', Courier, monospace;
  text-align: justify;
}

/* ── buttons ── */
.hero-buttons {
  display: flex; gap: .85rem; flex-wrap: wrap; margin-bottom: 2.8rem;
  opacity: 0; animation: heroFadeUp .55s .38s ease forwards;
}
.btn-primary {
  display: inline-flex; align-items: center; gap: .5rem;
  background: var(--blue-core); color: var(--white);
  padding: .82rem 1.85rem; border-radius: 8px;
  font-weight: 600; font-size: .88rem; text-decoration: none;
  transition: all .25s; box-shadow: 0 0 28px rgba(26,107,255,.4);
  border: 1px solid rgba(255,255,255,.08); position: relative; overflow: hidden;
}
.btn-primary::after { content:''; position:absolute; inset:0; background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.08) 100%); }
.btn-primary:hover { background: var(--blue-bright); box-shadow: 0 0 48px rgba(26,107,255,.65); transform: translateY(-2px); }
.btn-secondary {
  display: inline-flex; align-items: center; gap: .5rem;
  background: rgba(240,246,255,.04); color: var(--white);
  padding: .82rem 1.85rem; border-radius: 8px;
  font-weight: 500; font-size: .88rem; text-decoration: none;
  border: 1px solid var(--card-border); transition: all .25s;
}
.btn-secondary:hover { border-color: rgba(26,107,255,.5); background: rgba(26,107,255,.08); transform: translateY(-2px); }

/* ── stat row ── */
#hero-stats {
  display: flex; gap: 0;
  border: 1px solid var(--card-border); border-radius: 14px; overflow: hidden;
  background: rgba(8,16,32,.82); backdrop-filter: blur(16px);
  opacity: 0; animation: heroFadeUp .55s .46s ease forwards;
  width: fit-content;
  font-family: 'Courier New', Courier, monospace;
}
.stat-item {
  padding: 1rem 1.5rem; border-right: 1px solid var(--card-border);
  transition: background .2s; position: relative; cursor: default;

  
}
.stat-item:last-child { border-right: none; }
.stat-item::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--blue-core), transparent);
  opacity: 0; transition: opacity .3s;
}
.stat-item:hover { background: rgba(26,107,255,.07); }
.stat-item:hover::after { opacity: 1; }
.stat-num { font-family:'Syne',sans-serif; font-size:2rem; font-weight:800; color:var(--white); display:block; line-height:1; margin-bottom:.2rem; }
.stat-label { font-size:.63rem; color:var(--steel); letter-spacing:.07em; text-transform:uppercase; white-space:nowrap; }

/* ── Terminal card ── */
.hc-terminal {
  background: rgba(6,14,28,.95); border: 1px solid rgba(26,107,255,.22);
  border-radius: 14px; overflow: hidden;
  box-shadow: 0 24px 70px rgba(0,0,0,.45), 0 0 0 1px rgba(26,107,255,.05);
  opacity: 0; animation: heroSlideLeft .6s .25s ease forwards;
}
.terminal-bar {
  display: flex; align-items: center; gap: .5rem; padding: .65rem 1rem;
  background: rgba(10,20,38,.98); border-bottom: 1px solid rgba(26,107,255,.14);
}
.t-dot { width:10px; height:10px; border-radius:50%; }
.t-red{background:#ff5f57} .t-yellow{background:#febc2e} .t-green{background:#28c840}
.terminal-title { margin-left:.4rem; font-size:.7rem; color:var(--steel); font-weight:500; letter-spacing:.04em; font-family:monospace; }
.terminal-body { padding:1.1rem 1.2rem; font-family:'Courier New',monospace; font-size:.78rem; line-height:1.75; color:var(--steel); }
.t-line { display:flex; align-items:flex-start; gap:.5rem; margin-bottom:.1rem; }
.t-prompt { color:var(--accent-cyan); flex-shrink:0; user-select:none; }
.t-cmd    { color:#e2e8f0; }
.t-comment{ color:rgba(143,168,200,.45); }
.t-green-t { color:#52d98a; }
.t-blue-t  { color:var(--blue-glow); }
.t-cyan-t  { color:var(--accent-cyan); }
.t-purple-t{ color:#a78bfa; }
.t-blink   { display:inline-block; width:7px; height:1em; background:var(--accent-cyan); vertical-align:text-bottom; animation:cursorBlink 1.1s step-end infinite; margin-left:2px; }

/* ── Metrics row ── */
.hc-metrics {
  display: grid; grid-template-columns: repeat(4,1fr); gap: .75rem;
  opacity: 0; animation: heroSlideLeft .6s .38s ease forwards;
}
.metric-tile {
  background: rgba(8,18,34,.9); border: 1px solid var(--card-border);
  border-radius: 11px; padding: .95rem .9rem; backdrop-filter: blur(10px);
  transition: border-color .25s, transform .25s; position: relative; overflow: hidden;
}
.metric-tile::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  opacity: 0; transition: opacity .3s;
}
.metric-tile.mc-blue::before  { background: linear-gradient(90deg,transparent,var(--blue-core),transparent); }
.metric-tile.mc-cyan::before  { background: linear-gradient(90deg,transparent,var(--accent-cyan),transparent); }
.metric-tile.mc-green::before { background: linear-gradient(90deg,transparent,#28c840,transparent); }
.metric-tile.mc-purple::before{ background: linear-gradient(90deg,transparent,#a78bfa,transparent); }
.metric-tile:hover { transform: translateY(-3px); }
.metric-tile:hover::before { opacity: 1; }
.metric-tile.mc-blue:hover  { border-color: rgba(26,107,255,.4); }
.metric-tile.mc-cyan:hover  { border-color: rgba(0,212,255,.4); }
.metric-tile.mc-green:hover { border-color: rgba(40,200,64,.4); }
.metric-tile.mc-purple:hover{ border-color: rgba(167,139,250,.4); }
.m-icon { font-size:1.1rem; margin-bottom:.5rem; }
.m-val  { font-family:'Syne',sans-serif; font-weight:800; font-size:1.35rem; color:var(--white); line-height:1; margin-bottom:.2rem; }
.m-lbl  { font-size:.62rem; color:var(--steel); letter-spacing:.05em; text-transform:uppercase; }
.m-trend{ font-size:.65rem; font-weight:600; margin-top:.35rem; }
.trend-up   { color:#52d98a; }
.trend-live { color:var(--accent-cyan); }

/* ── Chips row ── */
.hc-chips {
  background: rgba(8,18,34,.88); border: 1px solid var(--card-border);
  border-radius: 11px; padding: .85rem 1rem; backdrop-filter: blur(10px);
  opacity: 0; animation: heroSlideLeft .6s .5s ease forwards; overflow: hidden;
}
.chips-label { font-size:.62rem; color:var(--steel); letter-spacing:.1em; text-transform:uppercase; margin-bottom:.65rem; font-weight:500; }
.chips-track { display:flex; gap:.55rem; animation:chipsScroll 22s linear infinite; width:max-content; }
.chips-track:hover { animation-play-state:paused; }
@keyframes chipsScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.chip {
  display:inline-flex; align-items:center; gap:.38rem;
  background:rgba(26,107,255,.09); border:1px solid rgba(26,107,255,.2);
  border-radius:100px; padding:.3rem .75rem;
  font-size:.72rem; font-weight:500; color:var(--steel-light);
  white-space:nowrap; flex-shrink:0; transition:all .2s; cursor:default;
}
.chip:hover { border-color:var(--blue-core); color:var(--white); background:rgba(26,107,255,.15); }
.chip-dot { width:5px; height:5px; border-radius:50%; flex-shrink:0; }

.form-toast{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translateX(-50%) translateY(16px);
  opacity:0;
  pointer-events:none;
  z-index:200;
  background:rgba(6,14,28,.96);
  border:1px solid rgba(26,107,255,.35);
  color:var(--white);
  padding:.85rem 1.05rem;
  border-radius:999px;
  box-shadow:0 18px 42px rgba(0,0,0,.35);
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.01em;
  transition:opacity .25s ease, transform .25s ease;
}
.form-toast.visible{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

@keyframes heroFadeUp    { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes heroSlideLeft { from{opacity:0;transform:translateX(24px)} to{opacity:1;transform:translateX(0)} }

/* ── HERO RESPONSIVE ── */
@media(max-width:1050px){
  #hero{ grid-template-columns:1fr; padding-top:90px; padding-bottom:70px; gap:3rem; min-height:auto; }
  #hero::after{ height:80px; }
  .hc-terminal{ display:none; }
  .hc-metrics{ grid-template-columns:repeat(4,1fr); }
}
@media(max-width:640px){
  #hero{ padding-left:5%; padding-right:5%; }
  .hero-title{ font-size:2.5rem; letter-spacing:-.03em; }
  #hero-stats{ flex-direction:column; width:100%; }
  .stat-item{ border-right:none; border-bottom:1px solid var(--card-border); }
  .stat-item:last-child{ border-bottom:none; }
  .hc-metrics{ grid-template-columns:repeat(2,1fr); }
}

/* ── COMMON ── */
.section-label{font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--blue-glow);margin-bottom:.6rem}
.section-title{font-family:'Syne',sans-serif;font-size:clamp(1.7rem,3.5vw,2.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--white);margin-bottom:1rem}
.section-desc{
  color:var(--steel-light);font-size:.92rem;max-width:740px;line-height:1.75;font-weight:300;
  font-family:'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif; }
.scroll-reveal{opacity:0;transform:translateY(28px);transition:opacity .55s ease,transform .55s ease}
.scroll-reveal.visible{opacity:1;transform:translateY(0)}

/* ── SERVICES ── */
#services{padding:100px 8%}
.services-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1.5rem}
#services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--card-border);border:1px solid var(--card-border);border-radius:16px;overflow:hidden}
.service-card{background:var(--card-bg);padding:2.2rem;position:relative;transition:background .3s;backdrop-filter:blur(10px)}
.service-card:hover{background:rgba(26,107,255,.07)}
.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--blue-core),transparent);opacity:0;transition:opacity .3s}
.service-card:hover::after{opacity:1}
.service-icon{width:46px;height:46px;background:rgba(26,107,255,.11);border:1px solid rgba(26,107,255,.2);border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:1.25rem}
.service-name{font-family:'Syne',sans-serif;font-weight:700;font-size:1rem;color:var(--white);margin-bottom:.6rem}
.service-desc{font-size:.85rem;color:var(--steel);line-height:1.7;font-weight:300}
.service-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1.1rem}
.tag{font-size:.68rem;color:var(--blue-glow);background:rgba(26,107,255,.09);border:1px solid rgba(26,107,255,.18);padding:.18rem .6rem;border-radius:100px;font-weight:500}

/* ── PROCESS ── */
#process{padding:100px 8%;background:linear-gradient(180deg,transparent 0%,rgba(26,107,255,.04) 50%,transparent 100%)}
.process-header{text-align:center;margin-bottom:4rem}
.process-header .section-desc{margin:0 auto}
#process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
#process-steps::before{content:'';position:absolute;top:27px;left:calc(12.5% + 24px);right:calc(12.5% + 24px);height:1px;background:linear-gradient(90deg,var(--blue-core),var(--accent-cyan),var(--blue-core));opacity:.25}
.process-step{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 1.5rem}
.step-num{width:54px;height:54px;border-radius:50%;background:var(--navy-mid);border:1px solid var(--blue-core);display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-weight:800;font-size:1rem;color:var(--blue-glow);margin-bottom:1.4rem;position:relative;z-index:1;box-shadow:0 0 20px rgba(26,107,255,.22)}
.step-title{font-family:'Syne',sans-serif;font-weight:700;font-size:.95rem;color:var(--white);margin-bottom:.45rem}
.step-desc{font-size:.82rem;color:var(--steel);line-height:1.65;font-weight:300}

/* ── WHY ── */
#why{padding:100px 8%}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
#why-features{display:flex;flex-direction:column;gap:1.25rem;margin-top:2rem}
.why-feature{display:flex;gap:1.1rem;padding:1.3rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:11px;backdrop-filter:blur(10px);transition:border-color .3s,transform .3s}
.why-feature:hover{border-color:rgba(26,107,255,.35);transform:translateX(5px)}
.feature-icon{font-size:1.4rem;flex-shrink:0;margin-top:1px}
.feature-title{font-family:'Syne',sans-serif;font-weight:700;font-size:.9rem;color:var(--white);margin-bottom:.25rem}
.feature-desc{font-size:.82rem;color:var(--steel);line-height:1.62;font-weight:300}
.tech-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:1.8rem;backdrop-filter:blur(10px)}
.tech-card-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem;padding-bottom:.9rem;border-bottom:1px solid var(--card-border)}
.tech-dot{width:10px;height:10px;border-radius:50%}
.dot-red{background:#ff5f57}.dot-yellow{background:#febc2e}.dot-green{background:#28c840}
.tech-card-title{font-family:'Syne',sans-serif;font-size:.8rem;font-weight:700;color:var(--steel);margin-left:auto}
.tech-bars{display:flex;flex-direction:column;gap:1.2rem;}
.tech-bar-label{display:flex;justify-content:space-between;font-size:.78rem;color:var(--steel-light);margin-bottom:.35rem;font-weight:400}
.tech-bar-track{height:5px;background:rgba(255,255,255,.05);border-radius:100px;overflow:hidden}
.tech-bar-fill{height:100%;border-radius:100px;background:linear-gradient(90deg,var(--blue-core),var(--accent-cyan));width:0;transition:width 1.4s cubic-bezier(.22,1,.36,1)}
.mini-stats{display:flex;gap:1rem;margin-top:1.25rem}
.mini-stat{flex:1;background:var(--card-bg);border:1px solid var(--card-border);border-radius:11px;padding:1.3rem;text-align:center;backdrop-filter:blur(10px)}
.mini-stat-num{font-family:'Syne',sans-serif;font-size:1.8rem;font-weight:800;display:block}
.mini-stat-label{font-size:.72rem;color:var(--steel);margin-top:.2rem;font-weight:300}

/* ── PORTFOLIO ── */
#portfolio{padding:100px 8%;background:linear-gradient(180deg,transparent 0%,rgba(26,107,255,.03) 50%,transparent 100%)}
.portfolio-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}
#portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
.project-card{
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));
  border:1px solid rgba(26,107,255,.2);
  border-radius:16px;
  overflow:hidden;
  backdrop-filter:blur(10px);
  transition:transform .3s,border-color .3s,box-shadow .3s;
  box-shadow:0 12px 30px rgba(0,0,0,.2);
  display:flex;
  flex-direction:column;
  height:100%;
}
.project-card:hover{
  transform:translateY(-4px);
  border-color:rgba(26,107,255,.45);
  box-shadow:0 20px 38px rgba(0,0,0,.28);
}
.project-thumb{
  height:170px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.project-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.25),transparent 40%),
    linear-gradient(180deg,rgba(5,13,26,.15) 0%,rgba(5,13,26,.8) 100%);
  z-index:1;
}
.project-thumb-img{
  height:65%;
  width:auto;
  object-fit:cover;
  object-position:center;
  display:block;
  transition:transform .45s ease;
}
.project-card:hover .project-thumb-img{transform:scale(1.08)}
.project-thumb-emoji{font-size:3rem;line-height:1;position:relative;z-index:2}
.project-topbar{
  position:absolute;
  top:.85rem;
  left:.85rem;
  right:.85rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.5rem;
  z-index:2;
}
.thumb-badge,
.project-tech-count{
  font-size:.62rem;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--white);
  background:rgba(5,13,26,.6);
  border:1px solid rgba(184,204,222,.25);
  padding:.25rem .55rem;
  border-radius:999px;
}
.project-info{padding:1.1rem 1.15rem 1.2rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.project-main-row{display:block}
.project-title-wrap{min-width:0}
.project-name{font-family:'Poppins',sans-serif;font-weight:800;font-size:1.2rem;color:var(--white);margin-bottom:.35rem;letter-spacing:-.01em}
.project-desc{font-size:.82rem;color:var(--steel-light);line-height:1.65;font-weight:300}
.project-categories{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-start;margin-top:.7rem}
.project-category{
  font-size:.58rem;
  font-weight:700;
  color:#0d1d35;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:linear-gradient(120deg,#7ab4ff,#00d4ff);
  border:1px solid rgba(255,255,255,.28);
  padding:.2rem .5rem;
  border-radius:999px;
}
.project-bottom-row{
  margin-top:auto;
  padding-top:.9rem;
  border-top:1px solid rgba(26,107,255,.17);
  display:flex;
  flex-direction:column;
  gap:.75rem;
  align-items:flex-start;
}
.project-tech{display:flex;flex-wrap:wrap;gap:.42rem}
.project-tech-chip{
  font-size:.66rem;
  color:var(--steel-light);
  background:rgba(255,255,255,.03);
  border:1px solid rgba(184,204,222,.18);
  padding:.2rem .52rem;
  border-radius:999px;
}
.project-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}
.project-link{
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--white);
  text-decoration:none;
  background:rgba(26,107,255,.2);
  border:1px solid rgba(79,163,255,.42);
  padding:.38rem .7rem;
  border-radius:8px;
  transition:all .2s;
}
.project-link:hover{background:rgba(26,107,255,.33);border-color:rgba(79,163,255,.7)}

/* ── TEAM ── */
#team{padding:100px 8%}
.team-header{text-align:center;margin-bottom:3.5rem}
.team-header .section-desc{margin:0 auto}
#team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.team-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:2rem 1.5rem;text-align:center;backdrop-filter:blur(10px);transition:transform .3s,border-color .3s;position:relative;overflow:hidden}
.team-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--blue-core),transparent);opacity:0;transition:opacity .3s}
.team-card:hover{transform:translateY(-5px);border-color:rgba(26,107,255,.3)}
.team-card:hover::before{opacity:1}
.team-avatar{width:80px;height:80px;border-radius:50%;margin:0 auto 1.1rem;display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-weight:800;font-size:1.5rem;color:var(--white);border:2px solid rgba(26,107,255,.3)}
.team-name{font-family:'Syne',sans-serif;font-weight:700;font-size:.98rem;color:var(--white);margin-bottom:.25rem}
.team-role{font-size:.75rem;color:var(--blue-glow);font-weight:500;letter-spacing:.05em;margin-bottom:.75rem}
.team-bio{font-size:.78rem;color:var(--steel);line-height:1.6;font-weight:300}
.team-socials{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}
.team-social{width:28px;height:28px;border-radius:6px;background:var(--white-faint);border:1px solid var(--card-border);display:flex;align-items:center;justify-content:center;color:var(--steel);text-decoration:none;font-size:.7rem;font-weight:700;transition:all .2s}
.team-social:hover{border-color:var(--blue-core);color:var(--blue-glow);background:rgba(26,107,255,.1)}

/* ── TESTIMONIALS ── */
#testimonials{padding:100px 8%;background:linear-gradient(180deg,transparent 0%,rgba(26,107,255,.04) 50%,transparent 100%)}
.testimonials-header{text-align:center;margin-bottom:3rem}
.testimonials-header .section-desc{margin:0 auto}
#testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.testimonial-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:13px;padding:1.8rem;backdrop-filter:blur(10px);transition:border-color .3s}
.testimonial-card:hover{border-color:rgba(26,107,255,.3)}
.testimonial-stars{display:flex;gap:.15rem;margin-bottom:.9rem;font-size:.85rem}
.testimonial-text{font-size:.86rem;color:var(--steel-light);line-height:1.75;font-weight:300;margin-bottom:1.4rem;font-style:italic}
.testimonial-author{display:flex;align-items:center;gap:.7rem}
.author-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:var(--white);background:linear-gradient(135deg,var(--blue-core),var(--accent-cyan))}
.author-name{font-family:'Syne',sans-serif;font-weight:700;font-size:.85rem;color:var(--white)}
.author-role{font-size:.72rem;color:var(--steel)}

/* ── CONTACT ── */
#contact{padding:100px 8%}
.contact-inner{background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;overflow:hidden;backdrop-filter:blur(20px);display:grid;grid-template-columns:1fr 1.2fr}
.contact-left{padding:3.5rem;background:linear-gradient(135deg,rgba(26,107,255,.09) 0%,transparent 100%);border-right:1px solid var(--card-border);position:relative;overflow:hidden}
.contact-left::before{content:'';position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(26,107,255,.13) 0%,transparent 70%);bottom:-100px;left:-80px}
.contact-left .section-title{margin-bottom:.9rem}
.contact-info{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.8rem}
.contact-item{display:flex;align-items:center;gap:.7rem;font-size:.85rem;color:var(--steel-light)}
.contact-item-icon{width:34px;height:34px;background:rgba(26,107,255,.1);border:1px solid rgba(26,107,255,.2);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}
.contact-right{padding:3.5rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}
.form-group.full{grid-column:1/-1}
label{font-size:.72rem;font-weight:600;color:var(--steel);letter-spacing:.05em;text-transform:uppercase}
input,textarea,select{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:7px;padding:.7rem .9rem;color:var(--white);font-family:'Plus Jakarta Sans',sans-serif;font-size:.88rem;font-weight:300;transition:border-color .2s;width:100%;outline:none}
input::placeholder,textarea::placeholder{color:var(--steel);opacity:.55}
input:focus,textarea:focus,select:focus{border-color:var(--blue-core);background:rgba(26,107,255,.04)}
select option{background:var(--navy-mid)}
textarea{resize:vertical;min-height:105px}
.form-submit{width:100%;background:var(--blue-core);color:var(--white);border:none;padding:.95rem;border-radius:8px;font-family:'Syne',sans-serif;font-weight:700;font-size:.92rem;cursor:pointer;transition:all .25s;box-shadow:0 4px 24px rgba(26,107,255,.3);margin-top:.4rem;letter-spacing:.02em}
.form-submit:hover{background:var(--blue-bright);box-shadow:0 4px 40px rgba(26,107,255,.5);transform:translateY(-2px)}

/* ── FOOTER ── */
footer{border-top:1px solid var(--card-border);padding:2.8rem 8%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}
.footer-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:1.05rem;color:var(--white)}
.footer-logo span{color:var(--blue-core)}
.footer-tagline{font-size:.75rem;color:var(--steel);margin-top:.2rem;font-weight:300}
.footer-links{display:flex;gap:1.8rem;list-style:none}
.footer-links a{color:var(--steel);text-decoration:none;font-size:.82rem;transition:color .2s}
.footer-links a:hover{color:var(--white)}
.footer-socials{display:flex;gap:.6rem}
.social-btn{width:34px;height:34px;background:var(--white-faint);border:1px solid var(--card-border);border-radius:7px;display:flex;align-items:center;justify-content:center;color:var(--steel-light);text-decoration:none;font-size:.8rem;font-weight:700;transition:all .2s}
.social-btn:hover{border-color:var(--blue-core);color:var(--blue-glow);background:rgba(26,107,255,.1)}
.footer-copy{width:100%;border-top:1px solid var(--card-border);padding-top:1.3rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.footer-copy p{font-size:.75rem;color:var(--steel);font-weight:300}

/* ── RESPONSIVE ── */
@media(max-width:1100px){#team-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
  #services-grid{grid-template-columns:1fr 1fr}
  #process-steps{grid-template-columns:1fr 1fr;gap:2rem}
  #process-steps::before{display:none}
  .why-grid{grid-template-columns:1fr}
  #portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #testimonials-grid{grid-template-columns:1fr}
  .contact-inner{grid-template-columns:1fr}
  .contact-left{border-right:none;border-bottom:1px solid var(--card-border);padding:2.5rem}
  .contact-right{padding:2.5rem}
  .form-row{grid-template-columns:1fr}
  .nav-links{display:none}
  .nav-hamburger{display:flex}
  .services-header,.portfolio-header{flex-direction:column}
  #hero-stats{gap:2rem}
  .footer-links{display:none}
}
@media(max-width:600px){
  #services-grid,#portfolio-grid,#team-grid,#testimonials-grid{grid-template-columns:1fr}
  #process-steps{grid-template-columns:1fr}
  nav,#hero,#services,#process,#why,#portfolio,#team,#testimonials,#contact{padding-left:5%;padding-right:5%}
  #hero{padding-top:100px;padding-bottom:60px}
  footer{padding:2rem 5%}
  .hero-title{font-size:2.2rem}
  .mini-stats{flex-direction:column}
  .project-thumb{min-height:160px}
  .project-actions{justify-content:flex-start}
}