/* Portfolio custom styles */

:root{
  --navy:#050a2a;
  --blue:#3047ff;
  --blue2:#1f6cff;
  --text:#343a55;
  --muted:#68708b;
  --green:#20b66f;
  --soft:#eff0ff;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{
  margin:0;
  min-width:320px;
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#fbfbff;
  color:var(--navy);
}
body{overflow-x:hidden}
a{text-decoration:none;color:inherit}
button,a{font:inherit}

/* ===========================
   DESKTOP REFERENCE CANVAS
   The desktop hero is locked to the reference size then scaled.
   This keeps the look identical to the provided screenshot.
   =========================== */
.hero-shell{
  position:relative;
  width:100%;
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 37%,rgba(113,127,255,.10),transparent 31%),
    radial-gradient(circle at 67% 91%,rgba(179,164,255,.10),transparent 26%),
    linear-gradient(180deg,#fff 0%,#fbfbfe 100%);
}

.stage{
  position:relative;
  left:50%;
  width:1672px;
  height:941px;
  margin:0;
  transform-origin:top center;
  background:
    radial-gradient(circle at 88% 37%,rgba(113,127,255,.10),transparent 31%),
    radial-gradient(circle at 67% 91%,rgba(179,164,255,.10),transparent 26%),
    linear-gradient(180deg,#fff 0%,#fbfbfe 100%);
}

/* HEADER */
.site-header{
  position:absolute;
  left:0;
  right:0;
  top:0;
  z-index:40;
  width:auto;
  height:110px;
  padding:0 70px 0 84px;
  display:grid;
  grid-template-columns:330px minmax(0,1fr) 190px;
  align-items:center;
  gap:30px;
  border:0;
  border-bottom:1px solid rgba(5,10,42,.085);
  border-radius:0;
  background:rgba(255,255,255,.94);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:0 10px 34px rgba(12,18,50,.055);
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:0;
  min-width:0;
}
.brand-mark{display:none} /* Logo RA removed as requested */
.brand-mark::after{display:none}
.brand-title{
  font-size:20px;
  line-height:1;
  font-weight:800;
  letter-spacing:.5px;
  color:var(--navy);
  white-space:nowrap;
}
.brand-subtitle{
  margin-top:6px;
  color:#333b61;
  font-size:15px;
  line-height:1.1;
  font-weight:500;
  letter-spacing:.1px;
  white-space:nowrap;
}

.nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:36px;
  height:110px;
  color:var(--navy);
  font-size:16px;
  font-weight:600;
}
.nav a{
  position:relative;
  height:110px;
  display:flex;
  align-items:center;
  white-space:nowrap;
  transition:color .18s ease;
}
.nav a:hover,.nav a.active{color:var(--blue)}
.nav a.active::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:48px;
  height:3px;
  transform:translateX(-50%);
  border-radius:999px 999px 0 0;
  background:linear-gradient(90deg,#3047ff,#026cff);
}
.nav a.active::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:5px;
  width:8px;
  height:8px;
  transform:translateX(-50%);
  border-radius:50%;
  background:var(--blue);
  box-shadow:0 0 0 5px rgba(48,71,255,.10);
}

.header-cta{
  justify-self:end;
  width:156px;
  height:46px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  color:#fff;
  background:linear-gradient(135deg,#071139,#020829);
  box-shadow:0 18px 38px rgba(5,10,42,.18);
  font-size:15px;
  font-weight:800;
  white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease;
}
.header-cta:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(5,10,42,.26)}
.menu-toggle{display:none}

/* LEFT HERO */
.hero-copy{
  position:absolute;
  left:104px;
  top:212px;
  z-index:10;
  width:735px;
}
.eyebrow{
  margin:0 0 22px;
  color:var(--blue);
  font-size:24px;
  line-height:1.25;
  font-weight:500;
}
h1{
  margin:0;
  color:var(--navy);
  font-size:96px;
  line-height:.98;
  font-weight:900;
  letter-spacing:-5.8px;
  white-space:nowrap;
}
.subtitle{
  margin:30px 0 0;
  color:var(--blue);
  font-size:30px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.7px;
  white-space:nowrap;
}
.description{
  margin:27px 0 0;
  width:690px;
  color:var(--text);
  font-size:24px;
  line-height:1.72;
  font-weight:400;
  letter-spacing:-.25px;
}
.actions{
  display:flex;
  gap:27px;
  margin-top:43px;
}
.btn{
  height:75px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:19px;
  font-weight:600;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  width:256px;
  gap:31px;
  color:#fff;
  background:linear-gradient(135deg,#3955ff 0%,#3040f3 100%);
  box-shadow:0 16px 30px rgba(48,71,255,.20);
}
.btn-outline{
  width:267px;
  gap:20px;
  color:var(--blue);
  background:rgba(255,255,255,.72);
  border:2px solid var(--blue);
}

/* STATS */
.stats{
  position:absolute;
  left:104px;
  top:747px;
  z-index:10;
  display:flex;
  align-items:center;
  height:78px;
}
.stat{
  height:78px;
  display:flex;
  align-items:center;
  gap:24px;
  padding:0 35px;
}
.stat:first-child{padding-left:0}
.stat + .stat{border-left:1px solid #e4e6f1}
.stat:nth-child(1){width:260px}
.stat:nth-child(2){width:300px}
.stat:nth-child(3){width:245px}
.stat-icon{
  width:72px;
  height:72px;
  flex:0 0 72px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--blue);
  background:#eff0ff;
}
.stat strong{
  display:block;
  font-size:34px;
  line-height:1;
  font-weight:900;
  letter-spacing:-1px;
}
.stat span{
  display:block;
  margin-top:8px;
  color:#343a55;
  font-size:16px;
  line-height:1.1;
  white-space:nowrap;
}

.hero-visual{position:static}

/* RIGHT VISUAL */
.circle-outline{
  position:absolute;
  z-index:1;
  left:805px;
  top:130px;
  width:793px;
  height:793px;
  border:1px solid rgba(139,150,255,.24);
  border-radius:50%;
}
.blob{
  position:absolute;
  z-index:1;
  left:843px;
  top:470px;
  width:670px;
  height:530px;
  border-radius:54% 46% 43% 57% / 52% 48% 52% 48%;
  background:radial-gradient(circle at 68% 18%,rgba(128,146,255,.35),transparent 35%),linear-gradient(145deg,rgba(223,216,255,.92),rgba(184,177,255,.76));
}
.dots{
  position:absolute;
  z-index:2;
  top:142px;
  right:78px;
  width:112px;
  height:112px;
  opacity:.72;
  background-image:radial-gradient(circle,#c8ccff 3px,transparent 3.5px);
  background-size:22px 22px;
}
.waves{
  position:absolute;
  z-index:2;
  left:660px;
  bottom:-13px;
  width:700px;
  height:190px;
  opacity:.35;
}
.person{
  position:absolute;
  z-index:7;
  left:1000px;
  top:118px;
  width:520px;
  height:auto;
  object-fit:contain;
  user-select:none;
  pointer-events:none;
}
.code-card{
  position:absolute;
  z-index:8;
  left:862px;
  top:280px;
  width:241px;
  height:210px;
  padding:22px 24px;
  border-radius:16px;
  color:#edf1ff;
  background:linear-gradient(145deg,#19233b 0%,#0d162b 100%);
  box-shadow:0 25px 48px rgba(12,20,47,.22);
  font-family:"Fira Code",monospace;
}
.code-dots{display:flex;gap:8px;margin-bottom:25px}
.code-dots i{width:12px;height:12px;border-radius:50%;background:#f0f2fa}
.code-badge{
  position:absolute;
  right:20px;
  top:18px;
  width:43px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(135deg,#4660ff,#2e3be8);
  box-shadow:0 8px 16px rgba(43,64,255,.35);
  font-family:Inter,sans-serif;
  font-weight:800;
}
.code-card pre{margin:0;font-size:15px;line-height:1.8;white-space:pre-wrap}
.c-blue{color:#9ec2ff}.c-gold{color:#ffbd4f}.c-pink{color:#ff8fab}.c-purple{color:#c4a7ff}

.dashboard{
  position:absolute;
  z-index:9;
  left:1213px;
  top:489px;
  width:362px;
  height:351px;
  padding:21px;
  border:1px solid rgba(35,46,100,.06);
  border-radius:18px;
  background:rgba(255,255,255,.95);
  box-shadow:0 24px 56px rgba(77,89,170,.14);
  backdrop-filter:none;
}
.dash-head{display:flex;align-items:center;justify-content:space-between;font-size:14px}
.period{padding:8px 12px;border-radius:9px;background:#fff;box-shadow:0 5px 14px rgba(49,60,120,.08);font-size:11px}
.dash-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.metric{height:182px;padding:17px 15px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px #f0f1f7}
.metric small,.response small{color:#47506a;font-size:11px}
.metric h3{margin:17px 0 6px;font-size:22px;font-weight:900}
.up{color:var(--green);font-size:12px;font-weight:800}
.line-chart{width:100%;height:72px;margin-top:12px}
.donut{position:relative;width:92px;height:92px;margin:14px auto 8px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--blue) 0 85%,#d7d8ff 85% 100%)}
.donut::after{content:"";position:absolute;width:66px;height:66px;border-radius:50%;background:#fff}
.donut b{position:relative;z-index:1;font-size:22px;font-weight:900}
.track{text-align:center;font-size:11px}.track::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--green)}
.response{height:72px;margin-top:10px;padding:14px 15px;display:flex;align-items:center;justify-content:space-between;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px #f0f1f7}
.response h4{margin:7px 0 0;font-size:18px;font-weight:900}.response h4 span{margin-left:8px;color:var(--green);font-size:11px}.response svg{width:154px;height:38px}

/* ABOUT */
.about-section{
  position:relative;
  margin-top:0;
  padding:70px 24px 78px;
  border-radius:0;
  background:
    radial-gradient(circle at 90% 0%, rgba(72,92,255,.16), transparent 25%),
    radial-gradient(circle at 6% 96%, rgba(66,89,255,.13), transparent 26%),
    linear-gradient(180deg,#050a2a 0%,#071139 58%,#050b2f 100%);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}
.about-section::before{
  content:"";
  position:absolute;
  right:-150px;
  top:-150px;
  width:330px;
  height:330px;
  border-radius:50%;
  border:22px solid rgba(116,127,255,.10);
  box-shadow:0 0 0 22px rgba(116,127,255,.045);
  z-index:0;
}
.about-section::after{
  content:"";
  position:absolute;
  left:-120px;
  bottom:-150px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(85,104,255,.18), rgba(85,104,255,0) 64%);
  filter:none;
  z-index:0;
}
.about-wrap{
  position:relative;
  z-index:1;
  width:min(100%,1240px);
  margin:0 auto;
}
.section-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#8fb0ff;
  font-size:14px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.section-kicker::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:#2f7bff;
  box-shadow:0 0 0 6px rgba(47,123,255,.12);
}
.about-grid{
  display:block;
  margin-top:22px;
}
.about-title{
  margin:0;
  max-width:760px;
  color:#fff;
  font-size:44px;
  line-height:1.18;
  font-weight:900;
  letter-spacing:-1.35px;
  text-wrap:balance;
}
.about-accent{
  width:76px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#3d63ff 0%,#7cabff 100%);
  margin:22px 0 20px;
  box-shadow:0 8px 20px rgba(61,99,255,.28);
}
.about-text{
  margin:0;
  max-width:930px;
  color:#d9e1ff;
  font-size:16px;
  line-height:1.78;
  letter-spacing:-.05px;
}
.service-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:34px;
}
.service-card{
  position:relative;
  min-height:132px;
  padding:20px 18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
  box-shadow:0 22px 52px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.055);
  backdrop-filter:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:14px;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
.service-card:hover{
  transform:translateY(-4px);
  border-color:rgba(130,153,255,.25);
  background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.045));
  box-shadow:0 30px 64px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.08);
}
.service-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  display:grid;
  place-items:center;
  color:#8aa4ff;
  background:rgba(110,131,255,.10);
  box-shadow:inset 0 0 0 1px rgba(140,160,255,.23);
}
.service-card h3{
  margin:0;
  color:#fff;
  font-size:16px;
  line-height:1.28;
  font-weight:800;
  max-width:210px;
}
.about-dots{
  position:absolute;
  left:-4px;
  bottom:52px;
  width:154px;
  height:112px;
  background-image:radial-gradient(rgba(138,164,255,.28) 2px,transparent 2px);
  background-size:23px 23px;
  opacity:.75;
  pointer-events:none;
}


/* SKILLS */
.skills-section{
  position:relative;
  padding:92px 24px 82px;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 7%,rgba(48,111,255,.13),transparent 24%),
    radial-gradient(circle at 4% 92%,rgba(48,111,255,.08),transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);
  color:var(--navy);
  isolation:isolate;
}
.skills-section::before{
  content:"";
  position:absolute;
  right:44px;
  top:92px;
  width:120px;
  height:120px;
  opacity:.45;
  background-image:radial-gradient(circle,#9eb0ff 2.7px,transparent 3.2px);
  background-size:22px 22px;
  pointer-events:none;
  z-index:0;
}
.skills-section::after{
  content:"";
  position:absolute;
  left:-40px;
  bottom:-80px;
  width:360px;
  height:220px;
  border-radius:50%;
  border:1px solid rgba(48,111,255,.12);
  box-shadow:
    0 0 0 10px rgba(48,111,255,.025),
    0 0 0 20px rgba(48,111,255,.02),
    0 0 0 30px rgba(48,111,255,.018);
  transform:rotate(16deg);
  pointer-events:none;
  z-index:0;
}
.skills-wrap{
  position:relative;
  z-index:1;
  width:min(100%,1420px);
  margin:0 auto;
}
.skills-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 34px;
}
.skills-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--blue2);
  font-size:16px;
  line-height:1;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:24px;
}
.skills-title{
  margin:0;
  color:var(--navy);
  font-size:clamp(44px,5vw,68px);
  line-height:1;
  font-weight:900;
  letter-spacing:-2.8px;
}
.skills-line{
  width:74px;
  height:3px;
  margin:26px auto 18px;
  border-radius:999px;
  background:linear-gradient(90deg,#3351ff,#1382ff);
  box-shadow:0 8px 18px rgba(48,71,255,.22);
}
.skills-subtitle{
  margin:0;
  color:#515a7b;
  font-size:19px;
  line-height:1.7;
  font-weight:500;
}
.skill-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  margin-top:34px;
}
.skill-card{
  min-height:545px;
  padding:28px 30px;
  border:1px solid rgba(48,71,255,.11);
  border-radius:18px;
  background:rgba(255,255,255,.84);
  box-shadow:0 24px 65px rgba(31,45,115,.08);
  backdrop-filter:none;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.skill-card:hover{
  transform:translateY(-5px);
  border-color:rgba(48,71,255,.19);
  box-shadow:0 30px 78px rgba(31,45,115,.12);
}
.skill-card-head{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:26px;
}
.skill-category-icon{
  width:60px;
  height:60px;
  flex:0 0 60px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#2f4eff;
  background:linear-gradient(180deg,#eef0ff,#e4e8ff);
  box-shadow:inset 0 0 0 1px rgba(48,71,255,.08);
}
.skill-category-icon.green{
  color:#20b66f;
  background:linear-gradient(180deg,#e8fff0,#dff8e8);
}
.skill-category-title{
  margin:0;
  color:var(--navy);
  font-size:19px;
  line-height:1.22;
  font-weight:900;
  letter-spacing:-.25px;
}
.skill-mini-line{
  width:40px;
  height:2px;
  margin-top:14px;
  border-radius:999px;
  background:#56638d;
  opacity:.75;
}
.skill-desc{
  margin:0 0 24px;
  color:#515a7b;
  font-size:16px;
  line-height:1.62;
}
.skill-list{
  display:flex;
  flex-direction:column;
  gap:18px;
  margin:0;
  padding:0;
  list-style:none;
}
.skill-list li{
  display:flex;
  align-items:center;
  gap:16px;
  color:var(--navy);
  font-size:15px;
  font-weight:800;
}
.tech-badge{
  width:31px;
  height:31px;
  flex:0 0 31px;
  display:grid;
  place-items:center;
  border-radius:7px;
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:-.4px;
  box-shadow:0 8px 16px rgba(5,10,42,.10);
}
.tech-html{background:#f05a2a}.tech-css{background:#1e7ce8}.tech-js{background:#ffd929;color:#10172f}.tech-react{background:#16b8f3}.tech-flutter{background:#32a9e6}.tech-kotlin{background:linear-gradient(135deg,#ef5b30,#7c4dff)}
.tech-php{background:#7377ad}.tech-laravel{background:#ff4438}.tech-csharp{background:#7039cf}.tech-asp{background:#2c70ff}.tech-go{background:#17a7c9}.tech-java{background:#f07d22}.tech-api{background:#2f69ff}
.tech-mysql{background:#1774a6}.tech-postgres{background:#336791}.tech-sql{background:#d94c42}.tech-db{background:#334c86}.tech-bi{background:#f1ba2b;color:#17203d}
.tech-python{background:#ffd343;color:#17203d}.tech-ml{background:#3867ff}.tech-ai{background:#2d62ff}.tech-iot{background:#1168c4}.tech-git{background:#ef5339}.tech-github{background:#171923}.tech-docker{background:#2196db}.tech-postman{background:#ff6c37}
.skill-values{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:26px;
  border:1px solid rgba(48,71,255,.08);
  border-radius:18px;
  background:rgba(255,255,255,.86);
  box-shadow:0 20px 60px rgba(31,45,115,.07);
  overflow:hidden;
  backdrop-filter:none;
}
.value-card{
  display:flex;
  align-items:center;
  gap:20px;
  min-height:116px;
  padding:20px 40px;
}
.value-card + .value-card{
  border-left:1px solid rgba(48,71,255,.10);
}
.value-icon{
  width:62px;
  height:62px;
  flex:0 0 62px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:var(--blue);
  background:#eef0ff;
}
.value-card h3{
  margin:0 0 6px;
  color:var(--navy);
  font-size:16px;
  font-weight:900;
}
.value-card p{
  margin:0;
  color:#515a7b;
  font-size:14px;
  line-height:1.5;
}


/* RESPONSIVE LANDING PAGE */
@media(max-width:1024px){
  .hero-shell{overflow:visible}
  .stage{
    width:100%;height:auto;min-height:100vh;left:auto!important;transform:none!important;margin:0;padding:0 24px 64px;display:flex;flex-direction:column;background:linear-gradient(180deg,#fff 0%,#fbfbff 100%);
  }
  .site-header{position:relative;left:auto;top:auto;width:auto;height:auto;margin:0 -24px;padding:16px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:0;border-bottom:1px solid rgba(5,10,42,.085);border-radius:0;box-shadow:0 10px 30px rgba(5,10,42,.07);background:rgba(255,255,255,.94)}
  .brand-mark{display:none}.brand-title{font-size:16px}.brand-subtitle{font-size:12px}
  .menu-toggle{display:block;width:46px;height:46px;border:1px solid rgba(5,10,42,.10);border-radius:14px;background:#fff;color:var(--navy);box-shadow:0 12px 25px rgba(5,10,42,.08);cursor:pointer}
  .menu-toggle span{display:block;width:20px;height:2px;margin:5px auto;border-radius:999px;background:currentColor;transition:.2s}
  .site-header.is-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-header.is-open .menu-toggle span:nth-child(2){opacity:0}.site-header.is-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav{grid-column:1/-1;display:none;height:auto;flex-direction:column;align-items:stretch;gap:6px;font-size:14px}.site-header.is-open .nav{display:flex}.nav a{height:44px;padding:0 14px;border-radius:12px}.nav a.active,.nav a:hover{background:rgba(48,71,255,.08)}.nav a.active::before,.nav a.active::after{display:none}
  .header-cta{grid-column:1/-1;display:none;justify-self:stretch;width:100%;border-radius:12px}.site-header.is-open .header-cta{display:flex}
  .hero-copy{position:relative;left:auto;top:auto;order:1;width:100%;max-width:800px;margin:58px auto 0}.eyebrow{font-size:22px}h1{font-size:clamp(48px,9vw,78px);white-space:normal;letter-spacing:-4px}.subtitle{font-size:clamp(25px,4.6vw,34px);white-space:normal}.description{width:100%;font-size:clamp(18px,2.8vw,23px)}.description br{display:none}.actions{gap:16px;flex-wrap:wrap}.btn{height:66px}.btn-primary,.btn-outline{width:280px;max-width:100%}
  .stats{position:relative;left:auto;top:auto;order:2;width:100%;height:auto;margin:38px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:900px}.stat,.stat:nth-child(1),.stat:nth-child(2),.stat:nth-child(3){width:auto;height:auto;min-height:140px;padding:20px;border:1px solid rgba(48,71,255,.10);border-radius:24px;background:rgba(255,255,255,.85);box-shadow:0 18px 44px rgba(25,34,92,.08);flex-direction:column;align-items:flex-start;justify-content:center}.stat+.stat{border-left:1px solid rgba(48,71,255,.10)}
  .hero-visual{position:relative;order:3;width:100%;max-width:860px;min-height:720px;margin:42px auto 0;border:1px solid rgba(48,71,255,.13);border-radius:34px;overflow:hidden;background:radial-gradient(circle at 80% 10%,rgba(48,71,255,.13),transparent 30%),linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,248,255,.98));box-shadow:0 30px 80px rgba(25,34,92,.13)}
  .circle-outline{left:50%;top:112px;width:680px;height:680px;transform:translateX(-50%)}.blob{left:5%;right:5%;top:340px;width:auto;height:270px}.dots{top:36px;right:36px}.waves{display:none}.code-card{left:28px;top:28px;width:min(44%,330px)}.person{left:50%;top:205px;width:min(42vw,345px);transform:translateX(-50%)}.dashboard{left:28px;right:28px;top:auto;bottom:28px;width:auto}
  .about-section{padding:68px 24px 76px;border-radius:32px 32px 0 0}.about-title{font-size:44px;max-width:680px;letter-spacing:-1.5px}.about-accent{margin:22px 0 20px}.about-text{font-size:16px;max-width:100%;line-height:1.75}.service-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:34px}.service-card{min-height:132px}.service-card h3{font-size:16px}
}
@media(max-width:620px){
  .stage{padding:0 18px 52px}.site-header{margin:0 -18px;padding:14px 18px;border-radius:0}.brand-mark{display:none}.brand-title{font-size:13px}.brand-subtitle{font-size:11px}.hero-copy{margin-top:42px}.eyebrow{font-size:21px;margin-bottom:14px}h1{font-size:clamp(40px,12vw,52px);letter-spacing:-3.3px}.subtitle{font-size:clamp(22px,7vw,28px);margin-top:22px}.description{font-size:17px;line-height:1.64}.actions{display:grid;grid-template-columns:1fr;gap:14px}.btn,.btn-primary,.btn-outline{width:100%;height:60px}
  .stats{grid-template-columns:1fr;gap:13px}.stat,.stat:nth-child(1),.stat:nth-child(2),.stat:nth-child(3){min-height:92px;flex-direction:row;align-items:center;padding:16px 18px;gap:17px}.stat-icon{width:56px;height:56px;flex-basis:56px}.stat strong{font-size:32px}.stat span{font-size:14px}
  .hero-visual{min-height:0;padding:0;border-radius:28px;display:flex;flex-direction:column;gap:14px;background:transparent;border:0;box-shadow:none;overflow:visible}.circle-outline,.blob,.dots,.waves,.code-card,.person{display:none}.dashboard{position:relative;left:auto;right:auto;bottom:auto;top:auto;width:100%;height:auto;padding:15px;border-radius:22px;margin-top:4px}.dash-row{grid-template-columns:1fr;gap:10px}.metric{height:auto;min-height:116px}.response{height:auto;min-height:0;flex-direction:column;align-items:stretch}.response svg{width:100%;height:30px}
  .about-section{padding:50px 18px 56px;border-radius:26px 26px 0 0}.about-title{font-size:31px;line-height:1.18;letter-spacing:-1.1px}.about-accent{width:72px;margin:18px 0 16px}.about-text{font-size:15px;line-height:1.72}.service-grid{grid-template-columns:1fr;gap:12px;margin-top:28px}.service-card{min-height:116px;padding:20px 16px;border-radius:18px}.service-icon{width:48px;height:48px}.service-card h3{font-size:16px}.about-dots{left:8px;bottom:14px;transform:scale(.72);transform-origin:left bottom}
}


/* =========================================================
   FINAL HEADER + SCROLLSPY CLEANUP
   Header seperti landing page umum: selalu terlihat saat scroll,
   full width, active hanya berubah warna teks, tanpa titik/garis.
   ========================================================= */
section[id]{scroll-margin-top:124px}

.site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border-radius:0 !important;
  transform:none !important;
  will-change:auto;
}

.nav a.active::before,
.nav a.active::after{
  display:none !important;
  content:none !important;
}

.nav a.active{
  color:var(--blue) !important;
  font-weight:800 !important;
}

.nav a:hover{
  color:var(--blue) !important;
}

.about-section{
  border-radius:0 !important;
}

@media(max-width:1024px){
  section[id]{scroll-margin-top:96px}
  .site-header{
    position:fixed !important;
    min-height:84px !important;
    width:100% !important;
    margin:0 !important;
    border-radius:0 !important;
  }
  .stage{
    padding-top:84px !important;
  }
  .nav a.active,
  .nav a:hover{
    color:var(--blue) !important;
    background:transparent !important;
    font-weight:800 !important;
  }
  .nav a.active::before,
  .nav a.active::after{
    display:none !important;
    content:none !important;
  }
  .about-section{
    border-radius:0 !important;
  }
}

@media(max-width:620px){
  section[id]{scroll-margin-top:88px}
  .site-header{
    min-height:78px !important;
    border-radius:0 !important;
  }
  .stage{
    padding-top:78px !important;
  }
  .about-section{
    border-radius:0 !important;
  }
}


@media(max-width:1180px){
  .skill-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .skill-card{min-height:auto}
}
@media(max-width:900px){
  .skills-section{padding:72px 22px 70px}
  .skills-section::before{right:22px;top:72px;transform:scale(.8);transform-origin:top right}
  .skill-values{grid-template-columns:1fr}
  .value-card + .value-card{border-left:0;border-top:1px solid rgba(48,71,255,.10)}
  .value-card{padding:18px 22px}
}
@media(max-width:620px){
  .skills-section{padding:58px 18px 62px}
  .skills-kicker{font-size:13px;margin-bottom:18px}
  .skills-title{font-size:38px;letter-spacing:-1.8px}
  .skills-subtitle{font-size:16px;line-height:1.6}
  .skills-line{margin:20px auto 14px}
  .skill-cards{grid-template-columns:1fr;gap:16px;margin-top:28px}
  .skill-card{padding:22px 20px;border-radius:18px}
  .skill-category-icon{width:54px;height:54px;flex-basis:54px}
  .skill-category-title{font-size:18px}
  .skill-desc{font-size:15px;margin-bottom:20px}
  .skill-list{gap:14px}
  .skill-list li{font-size:14px}
  .skill-values{margin-top:18px;border-radius:18px}
  .value-card{min-height:98px}
  .value-icon{width:54px;height:54px;flex-basis:54px}
}



/* PROJECTS — DARK SELECTED PROJECTS */
.projects-section{
  position:relative;
  padding:92px 24px 102px;
  background:
    radial-gradient(circle at 88% 12%,rgba(62,86,255,.20),transparent 28%),
    radial-gradient(circle at 12% 88%,rgba(135,147,255,.12),transparent 30%),
    linear-gradient(180deg,#050a2a 0%,#06113a 54%,#030827 100%);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}

.projects-section::before{
  content:"";
  position:absolute;
  right:-120px;
  top:-140px;
  width:420px;
  height:420px;
  border-radius:999px;
  border:30px solid rgba(130,150,255,.12);
  box-shadow:0 0 0 30px rgba(130,150,255,.06);
  z-index:0;
  pointer-events:none;
}

.projects-section::after{
  content:"";
  position:absolute;
  left:-80px;
  bottom:70px;
  width:250px;
  height:250px;
  opacity:.42;
  background-image:radial-gradient(circle,rgba(150,170,255,.38) 2px,transparent 2.5px);
  background-size:24px 24px;
  z-index:0;
  pointer-events:none;
}

.projects-wrap{
  position:relative;
  z-index:1;
  width:min(100%,1500px);
  margin:0 auto;
}

.projects-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:32px;
  margin-bottom:28px;
}

.projects-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#8fb0ff;
  font-size:15px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.projects-kicker::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  background:#2f7bff;
  box-shadow:0 0 0 6px rgba(47,123,255,.14);
}

.projects-title{
  margin:14px 0 12px;
  color:#fff;
  font-size:56px;
  line-height:1.05;
  letter-spacing:-2.2px;
  font-weight:900;
}

.projects-subtitle{
  margin:0;
  max-width:850px;
  color:#cbd4f5;
  font-size:16px;
  line-height:1.75;
}

.projects-view-all{
  margin-top:22px;
  min-width:210px;
  height:54px;
  padding:0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  border:1.8px solid rgba(89,116,255,.86);
  border-radius:12px;
  color:#fff;
  background:rgba(255,255,255,.035);
  box-shadow:0 18px 45px rgba(0,0,0,.16);
  font-size:15px;
  font-weight:800;
  white-space:nowrap;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.projects-view-all:hover{
  transform:translateY(-2px);
  background:rgba(48,71,255,.14);
  border-color:#8fb0ff;
}

.project-filter{
  margin:22px 0 24px;
}

.filter-label{
  display:flex;
  align-items:center;
  gap:10px;
  color:#dce4ff;
  font-size:14px;
  font-weight:800;
  margin-bottom:14px;
}

.filter-buttons{
  display:grid;
  grid-template-columns:1.16fr 1.08fr 1.08fr 1.22fr .86fr .94fr .78fr;
  gap:12px;
}

.filter-btn{
  min-height:46px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  color:#dfe6ff;
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}


.filter-btn svg{
  width:19px;
  height:19px;
  flex:0 0 auto;
  opacity:.92;
  filter:drop-shadow(0 6px 12px rgba(48,71,255,.16));
}

.filter-btn.active{
  color:#fff;
  border-color:rgba(80,110,255,.95);
  background:linear-gradient(135deg,#3047ff,#1730ef);
  box-shadow:0 14px 35px rgba(48,71,255,.26);
}

.selected-project-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}

.selected-project-card{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.045));
  box-shadow:0 24px 60px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter:none;
  transition:transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.selected-project-card:hover{
  transform:translateY(-5px);
  border-color:rgba(143,176,255,.32);
  box-shadow:0 34px 78px rgba(0,0,0,.27), inset 0 1px 0 rgba(255,255,255,.08);
}

.project-media{
  position:relative;
  height:214px;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 16%,rgba(65,88,255,.18),transparent 32%),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));
  border-bottom:1px solid rgba(255,255,255,.09);
}

.project-track{
  display:flex;
  width:300%;
  height:100%;
  animation:projectAutoSlide 12s infinite;
}

.selected-project-card:hover .project-track{
  animation-play-state:paused;
}

.project-slide{
  width:33.333%;
  flex:0 0 33.333%;
  padding:16px;
}

@keyframes projectAutoSlide{
  0%,27%{transform:translateX(0)}
  34%,61%{transform:translateX(-33.333%)}
  68%,94%{transform:translateX(-66.666%)}
  100%{transform:translateX(0)}
}

.mock-screen{
  position:relative;
  height:100%;
  overflow:hidden;
  border-radius:12px;
  background:#f8fbff;
  color:#071139;
  box-shadow:0 20px 44px rgba(0,0,0,.26), inset 0 0 0 1px rgba(10,20,60,.08);
}

.mock-screen.dark{
  background:#071139;
  color:#fff;
}

.mock-sidebar{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:72px;
  background:#071139;
  padding:14px 9px;
}

.mock-sidebar span{
  display:block;
  height:8px;
  margin:10px 0;
  border-radius:999px;
  background:rgba(255,255,255,.16);
}

.mock-sidebar span:first-child{
  height:26px;
  margin:0 0 14px;
  background:#2f56ff;
  border-radius:8px;
}

.mock-content{
  position:absolute;
  left:84px;
  right:14px;
  top:14px;
  bottom:14px;
}

.mock-title{
  width:42%;
  height:10px;
  border-radius:999px;
  background:#081033;
  opacity:.9;
}

.mock-screen.dark .mock-title{
  background:#fff;
  opacity:.88;
}

.mock-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:16px;
}

.mock-kpis i{
  display:block;
  height:42px;
  border-radius:9px;
  background:#fff;
  box-shadow:inset 0 0 0 1px #eef1fb;
}

.mock-screen.dark .mock-kpis i{
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}

.mock-chart{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:72px;
  border-radius:12px;
  background:
    linear-gradient(135deg,transparent 47%,rgba(48,71,255,.25) 48%,rgba(48,71,255,.25) 52%,transparent 53%),
    linear-gradient(180deg,#fff,#f2f5ff);
  box-shadow:inset 0 0 0 1px #e9edfb;
}

.mock-screen.dark .mock-chart{
  background:
    linear-gradient(135deg,transparent 47%,rgba(80,160,255,.55) 48%,rgba(80,160,255,.55) 52%,transparent 53%),
    rgba(255,255,255,.06);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}

.mock-phone-row{
  height:100%;
  display:flex;
  justify-content:center;
  gap:14px;
  padding:14px;
}

.mock-phone{
  width:31%;
  max-width:90px;
  min-width:62px;
  height:100%;
  border-radius:18px;
  border:5px solid #0a1028;
  background:#fff;
  overflow:hidden;
  position:relative;
  box-shadow:0 16px 34px rgba(0,0,0,.20);
}

.mock-phone::before{
  content:"";
  position:absolute;
  left:50%;
  top:8px;
  width:32px;
  height:5px;
  transform:translateX(-50%);
  border-radius:999px;
  background:#0a1028;
  opacity:.85;
}

.mock-phone-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
  padding:32px 10px 10px;
}

.mock-phone-grid i{
  height:28px;
  border-radius:8px;
  background:#eef3ff;
  box-shadow:inset 0 0 0 1px #dce5ff;
}

.mock-phone-grid i:nth-child(3){
  grid-column:1/-1;
  background:#3154ff;
}

.project-body{
  padding:16px 16px 18px;
}

.project-name{
  margin:0 0 10px;
  color:#fff;
  font-size:20px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.25px;
}

.project-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:10px;
}

.project-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:27px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:7px;
  color:#dce4ff;
  background:rgba(255,255,255,.045);
  font-size:11px;
  font-weight:700;
}


.project-meta span::before{
  content:"";
  width:13px;
  height:13px;
  flex:0 0 13px;
  border-radius:4px;
  background:linear-gradient(135deg,#7392ff,#2f56ff);
  box-shadow:0 5px 12px rgba(47,86,255,.20);
}

.project-meta span:nth-child(2)::before{
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%,#fff 0 25%,transparent 27%),linear-gradient(135deg,#87a2ff,#3358ff);
}

.project-description{
  min-height:44px;
  margin:0;
  color:#c8d1ee;
  font-size:13px;
  line-height:1.55;
}

.project-detail{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  color:#8fb0ff;
  font-size:13px;
  font-weight:900;
}

.project-detail svg{
  transition:transform .2s ease;
}

.selected-project-card:hover .project-detail svg{
  transform:translateX(4px);
}

@media(max-width:1180px){
  .filter-buttons{
    grid-template-columns:repeat(4,1fr);
  }

  .selected-project-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .projects-section{
    padding:64px 18px 72px;
  }

  .projects-head{
    display:block;
  }

  .projects-title{
    font-size:42px;
    letter-spacing:-1.4px;
  }

  .projects-subtitle{
    font-size:15px;
  }

  .projects-view-all{
    width:100%;
    margin-top:20px;
  }

  .filter-buttons{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }

  .filter-btn{
    min-height:44px;
    font-size:13px;
  }

  .selected-project-grid{
    grid-template-columns:1fr;
  }

  .project-media{
    height:190px;
  }
}

@media(max-width:420px){
  .projects-title{
    font-size:35px;
  }

  .filter-buttons{
    grid-template-columns:1fr;
  }

  .project-media{
    height:176px;
  }

  .mock-sidebar{
    width:58px;
  }

  .mock-content{
    left:70px;
  }
}


/* FINAL MOBILE PROJECTS CLEANUP */
@media(max-width:620px){
  .projects-section{
    padding:50px 16px 64px !important;
    background:
      radial-gradient(circle at 100% 0%,rgba(70,93,255,.18),transparent 30%),
      radial-gradient(circle at 0% 72%,rgba(120,140,255,.12),transparent 32%),
      linear-gradient(180deg,#050a2a 0%,#07133f 58%,#041035 100%) !important;
  }

  .projects-section::before{
    width:260px !important;
    height:260px !important;
    right:-155px !important;
    top:42px !important;
    border-width:22px !important;
    opacity:.72 !important;
  }

  .projects-section::after{
    display:none !important;
  }

  .projects-head{
    display:block !important;
    margin-bottom:18px !important;
  }

  .projects-kicker{
    gap:9px !important;
    font-size:13px !important;
    letter-spacing:.16em !important;
  }

  .projects-kicker::before{
    width:8px !important;
    height:8px !important;
    box-shadow:0 0 0 5px rgba(47,123,255,.13) !important;
  }

  .projects-title{
    margin:14px 0 12px !important;
    max-width:330px !important;
    font-size:38px !important;
    line-height:1.05 !important;
    letter-spacing:-1.5px !important;
  }

  .projects-subtitle{
    max-width:100% !important;
    font-size:16px !important;
    line-height:1.68 !important;
    color:#d5dcff !important;
  }

  .projects-view-all{
    width:auto !important;
    min-width:0 !important;
    height:46px !important;
    margin-top:18px !important;
    padding:0 18px !important;
    justify-content:center !important;
    border-radius:999px !important;
    font-size:14px !important;
    gap:10px !important;
    background:rgba(255,255,255,.06) !important;
    box-shadow:none !important;
  }

  .project-filter{
    margin:22px -16px 22px !important;
    padding:0 16px !important;
    overflow:hidden !important;
  }

  .filter-buttons{
    display:flex !important;
    grid-template-columns:none !important;
    gap:10px !important;
    overflow-x:auto !important;
    padding:2px 16px 12px 0 !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .filter-buttons::-webkit-scrollbar{
    display:none !important;
  }

  .filter-btn{
    flex:0 0 auto !important;
    min-height:42px !important;
    padding:0 16px !important;
    border-radius:999px !important;
    font-size:13px !important;
    font-weight:800 !important;
    gap:8px !important;
    color:#e7edff !important;
    background:rgba(255,255,255,.07) !important;
    border-color:rgba(255,255,255,.13) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06) !important;
    scroll-snap-align:start !important;
  }

  .filter-btn.active{
    background:linear-gradient(135deg,#3856ff,#243bf0) !important;
    border-color:rgba(139,163,255,.82) !important;
    box-shadow:0 12px 30px rgba(48,71,255,.25) !important;
  }

  .filter-btn svg{
    width:16px !important;
    height:16px !important;
  }

  .selected-project-grid{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .selected-project-card{
    border-radius:20px !important;
    background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.045)) !important;
    box-shadow:0 18px 46px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.07) !important;
  }

  .project-media{
    height:178px !important;
  }

  .project-slide{
    padding:13px !important;
  }

  .project-body{
    padding:17px 17px 18px !important;
  }

  .project-name{
    font-size:20px !important;
    margin-bottom:10px !important;
  }

  .project-meta{
    gap:7px !important;
    margin-bottom:10px !important;
  }

  .project-meta span{
    min-height:26px !important;
    padding:0 9px !important;
    font-size:10.5px !important;
  }

  .project-description{
    min-height:auto !important;
    font-size:13px !important;
  }

  .project-detail{
    margin-top:13px !important;
  }
}

@media(max-width:390px){
  .projects-title{
    font-size:34px !important;
    max-width:290px !important;
  }

  .projects-subtitle{
    font-size:15px !important;
  }

  .projects-view-all{
    width:100% !important;
    border-radius:14px !important;
  }

  .project-media{
    height:166px !important;
  }
}


/* EXPERIENCE */
.experience-section{
  position:relative;
  padding:92px 24px 104px;
  background:
    radial-gradient(circle at 7% 92%,rgba(48,113,255,.10),transparent 28%),
    radial-gradient(circle at 96% 12%,rgba(48,71,255,.08),transparent 26%),
    linear-gradient(180deg,#ffffff 0%,#f8faff 100%);
  overflow:hidden;
  color:var(--navy);
  isolation:isolate;
}

.experience-section::before{
  content:"";
  position:absolute;
  left:-130px;
  bottom:-110px;
  width:430px;
  height:430px;
  border-radius:999px;
  border:1px solid rgba(48,113,255,.16);
  box-shadow:
    0 0 0 18px rgba(48,113,255,.055),
    0 0 0 38px rgba(48,113,255,.04),
    0 0 0 62px rgba(48,113,255,.03);
  z-index:0;
  pointer-events:none;
}

.experience-section::after{
  content:"";
  position:absolute;
  right:38px;
  top:50px;
  width:120px;
  height:120px;
  opacity:.45;
  background-image:radial-gradient(circle,#b9c5ff 2.7px,transparent 3.2px);
  background-size:22px 22px;
  z-index:0;
  pointer-events:none;
}

.experience-wrap{
  position:relative;
  z-index:1;
  width:min(100%,1460px);
  margin:0 auto;
  display:grid;
  grid-template-columns:380px minmax(0,1fr);
  gap:38px;
  align-items:start;
}

.experience-panel{
  position:sticky;
  top:110px;
  min-height:680px;
  padding:58px 54px;
  border:1px solid rgba(48,71,255,.12);
  border-radius:24px;
  background:rgba(255,255,255,.72);
  box-shadow:0 28px 70px rgba(35,47,115,.09), inset 0 1px 0 rgba(255,255,255,.78);
  backdrop-filter:none;
}

.experience-kicker{
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:#1268ff;
  font-size:15px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.experience-kicker::before{
  content:"";
  width:9px;
  height:9px;
  border-radius:999px;
  background:#1268ff;
  box-shadow:0 0 0 6px rgba(18,104,255,.12);
}

.experience-title{
  margin:34px 0 26px;
  color:#060b2f;
  font-size:48px;
  line-height:1.18;
  letter-spacing:-1.8px;
  font-weight:900;
}

.experience-accent{
  width:66px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#1268ff,#75a8ff);
  margin-bottom:28px;
}

.experience-intro{
  margin:0;
  color:#344061;
  font-size:17px;
  line-height:1.7;
  max-width:280px;
}

.experience-stats{
  margin-top:40px;
  display:grid;
  gap:18px;
}

.exp-stat{
  display:grid;
  grid-template-columns:58px 1fr;
  align-items:center;
  gap:18px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(48,71,255,.12);
}

.exp-stat:last-child{
  border-bottom:0;
  padding-bottom:0;
}

.exp-stat-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:1px solid rgba(48,113,255,.16);
  border-radius:16px;
  color:#1268ff;
  background:rgba(255,255,255,.92);
  box-shadow:0 14px 30px rgba(48,113,255,.10);
}

.exp-stat strong{
  display:block;
  color:#1268ff;
  font-size:28px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.5px;
}

.exp-stat span{
  display:block;
  margin-top:5px;
  color:#344061;
  font-size:15px;
  line-height:1.35;
}

.experience-list{
  display:grid;
  gap:18px;
}

.experience-card{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) minmax(330px,.9fr);
  gap:28px;
  align-items:center;
  padding:18px 26px 18px 18px;
  border:1px solid rgba(48,71,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.88);
  box-shadow:0 20px 52px rgba(35,47,115,.085), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter:none;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.experience-card:hover{
  transform:translateY(-4px);
  border-color:rgba(48,113,255,.24);
  box-shadow:0 28px 70px rgba(35,47,115,.12), inset 0 1px 0 rgba(255,255,255,.95);
}

.company-logo{
  height:112px;
  border-radius:14px;
  display:grid;
  place-items:center;
  padding:16px;
  background:#fff;
  border:1px solid rgba(35,47,115,.07);
  box-shadow:0 12px 34px rgba(35,47,115,.07);
  text-align:center;
  overflow:hidden;
}

.logo-mark{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  color:#06113a;
  font-weight:900;
  line-height:1;
  letter-spacing:-.5px;
}

.logo-symbol{
  width:64px;
  height:42px;
  position:relative;
  transform:skewX(-12deg);
}

.logo-symbol i{
  position:absolute;
  display:block;
  width:36px;
  height:16px;
  border-radius:2px;
}

.logo-symbol i:nth-child(1){left:18px;top:0;background:#e92b35}
.logo-symbol i:nth-child(2){left:8px;top:14px;background:#1c80d2}
.logo-symbol i:nth-child(3){left:28px;top:26px;background:#79b83d}

.logo-small{
  display:block;
  color:#e92b35;
  font-size:10px;
  letter-spacing:.02em;
  line-height:1.15;
  text-transform:uppercase;
}

.logo-dni{
  color:#1268ff;
  font-size:36px;
  font-style:italic;
  letter-spacing:-3px;
}

.logo-ut{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#111;
  color:#ffce18;
  font-weight:900;
  font-size:26px;
  box-shadow:inset 0 0 0 5px #ffce18;
}

.experience-main h3{
  margin:0 0 10px;
  color:#060b2f;
  font-size:24px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.4px;
}

.company-name{
  display:block;
  margin-bottom:18px;
  color:#1268ff;
  font-size:17px;
  line-height:1.35;
  font-weight:800;
}

.exp-meta{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  color:#4e5b84;
  font-size:14px;
  line-height:1.4;
}

.exp-meta span{
  display:inline-flex;
  align-items:center;
  gap:9px;
}

.exp-meta svg{
  color:#5b69a4;
  flex:0 0 auto;
}

.current-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  height:30px;
  padding:0 12px;
  margin-left:14px;
  border-radius:9px;
  color:#fff;
  background:linear-gradient(135deg,#1268ff,#2445ff);
  box-shadow:0 12px 28px rgba(18,104,255,.22);
  font-size:13px;
  font-weight:850;
  vertical-align:middle;
}

.experience-details{
  padding-left:28px;
  border-left:1px solid rgba(48,71,255,.14);
}

.experience-details ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}

.experience-details li{
  position:relative;
  padding-left:22px;
  color:#1d294a;
  font-size:14px;
  line-height:1.58;
}

.experience-details li::before{
  content:"";
  position:absolute;
  left:0;
  top:.65em;
  width:6px;
  height:6px;
  border-radius:999px;
  background:#1268ff;
  box-shadow:0 0 0 4px rgba(18,104,255,.10);
}

@media(max-width:1180px){
  .experience-wrap{
    grid-template-columns:1fr;
  }

  .experience-panel{
    position:relative;
    top:auto;
    min-height:0;
    padding:40px;
  }

  .experience-title{
    max-width:520px;
  }

  .experience-intro{
    max-width:720px;
  }

  .experience-stats{
    grid-template-columns:repeat(3,1fr);
    margin-top:32px;
  }

  .exp-stat{
    border-bottom:0;
    padding-bottom:0;
  }

  .experience-card{
    grid-template-columns:132px minmax(0,1fr);
  }

  .experience-details{
    grid-column:1/-1;
    padding-left:0;
    padding-top:18px;
    border-left:0;
    border-top:1px solid rgba(48,71,255,.12);
  }
}

@media(max-width:760px){
  .experience-section{
    padding:64px 18px 70px;
  }

  .experience-panel{
    padding:28px 22px;
    border-radius:22px;
  }

  .experience-title{
    margin:24px 0 20px;
    font-size:38px;
    letter-spacing:-1.2px;
  }

  .experience-intro{
    font-size:16px;
  }

  .experience-stats{
    grid-template-columns:1fr;
    gap:14px;
  }

  .exp-stat{
    grid-template-columns:52px 1fr;
    padding-bottom:14px;
    border-bottom:1px solid rgba(48,71,255,.10);
  }

  .exp-stat-icon{
    width:52px;
    height:52px;
    border-radius:15px;
  }

  .experience-card{
    grid-template-columns:1fr;
    gap:18px;
    padding:18px;
    border-radius:18px;
  }

  .company-logo{
    width:100%;
    height:96px;
  }

  .experience-main h3{
    font-size:22px;
  }

  .company-name{
    font-size:16px;
    margin-bottom:14px;
  }

  .current-badge{
    margin:10px 0 0;
  }

  .exp-meta{
    gap:12px;
  }

  .experience-details{
    padding-top:16px;
  }

  .experience-details li{
    font-size:13.5px;
  }
}


/* EXPERIENCE FINAL TUNING — smaller, cleaner, logo images */
.company-logo img{
  max-width:100%;
  max-height:58px;
  object-fit:contain;
  display:block;
  filter:saturate(1.05);
}

.company-logo-fallback{
  display:none;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  color:#1268ff;
  font-weight:900;
  font-size:18px;
  letter-spacing:.04em;
  text-align:center;
  line-height:1.15;
}

@media(min-width:1181px){
  .experience-section{
    padding:82px 24px 92px !important;
  }

  .experience-wrap{
    grid-template-columns:340px minmax(0,1fr) !important;
    gap:32px !important;
  }

  .experience-panel{
    min-height:610px !important;
    padding:46px 42px !important;
    border-radius:22px !important;
  }

  .experience-kicker{
    font-size:13px !important;
  }

  .experience-title{
    margin:28px 0 22px !important;
    font-size:40px !important;
    line-height:1.16 !important;
    letter-spacing:-1.4px !important;
  }

  .experience-accent{
    margin-bottom:24px !important;
  }

  .experience-intro{
    font-size:15px !important;
    line-height:1.68 !important;
  }

  .experience-stats{
    margin-top:34px !important;
    gap:16px !important;
  }

  .exp-stat{
    grid-template-columns:50px 1fr !important;
    gap:15px !important;
    padding-bottom:16px !important;
  }

  .exp-stat-icon{
    width:50px !important;
    height:50px !important;
    border-radius:14px !important;
  }

  .exp-stat strong{
    font-size:22px !important;
  }

  .exp-stat span{
    font-size:13.5px !important;
  }

  .experience-list{
    gap:14px !important;
  }

  .experience-card{
    grid-template-columns:128px minmax(0,1fr) minmax(300px,.86fr) !important;
    gap:22px !important;
    padding:14px 22px 14px 14px !important;
    border-radius:16px !important;
  }

  .company-logo{
    height:88px !important;
    padding:14px !important;
    border-radius:13px !important;
  }

  .experience-main h3{
    margin-bottom:8px !important;
    font-size:20px !important;
    letter-spacing:-.25px !important;
  }

  .company-name{
    margin-bottom:13px !important;
    font-size:14.5px !important;
  }

  .exp-meta{
    gap:14px !important;
    font-size:12.5px !important;
  }

  .exp-meta svg{
    width:16px !important;
    height:16px !important;
  }

  .current-badge{
    height:26px !important;
    padding:0 10px !important;
    font-size:11.5px !important;
    border-radius:8px !important;
  }

  .experience-details{
    padding-left:22px !important;
  }

  .experience-details ul{
    gap:8px !important;
  }

  .experience-details li{
    font-size:12.7px !important;
    line-height:1.5 !important;
    padding-left:18px !important;
  }

  .experience-details li::before{
    width:5px !important;
    height:5px !important;
  }
}

@media(max-width:1180px){
  .experience-section{
    padding:72px 24px 82px !important;
  }

  .experience-panel{
    padding:34px !important;
  }

  .experience-title{
    font-size:36px !important;
  }

  .experience-card{
    padding:16px !important;
  }

  .company-logo{
    height:82px !important;
  }

  .experience-main h3{
    font-size:20px !important;
  }

  .company-name{
    font-size:14.5px !important;
  }

  .experience-details li{
    font-size:13px !important;
  }
}

@media(max-width:760px){
  .experience-section{
    padding:58px 18px 64px !important;
  }

  .experience-title{
    font-size:34px !important;
  }

  .experience-card{
    gap:14px !important;
  }

  .company-logo{
    height:78px !important;
  }

  .company-logo img{
    max-height:48px !important;
  }
}


/* CLIENTS & PARTNERS — DARK */
.clients-section{
  position:relative;
  padding:90px 24px 98px;
  background:
    radial-gradient(circle at 11% 18%,rgba(48,113,255,.18),transparent 28%),
    radial-gradient(circle at 88% 82%,rgba(135,147,255,.16),transparent 30%),
    linear-gradient(180deg,#050a2a 0%,#07113a 54%,#030827 100%);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}

.clients-section::before{
  content:"";
  position:absolute;
  right:-120px;
  top:-140px;
  width:430px;
  height:430px;
  border-radius:999px;
  border:30px solid rgba(132,150,255,.12);
  box-shadow:0 0 0 30px rgba(132,150,255,.06);
  pointer-events:none;
  z-index:0;
}

.clients-section::after{
  content:"";
  position:absolute;
  left:42px;
  bottom:110px;
  width:190px;
  height:140px;
  opacity:.42;
  background-image:radial-gradient(circle,rgba(150,170,255,.38) 2px,transparent 2.5px);
  background-size:24px 24px;
  pointer-events:none;
  z-index:0;
}

.clients-wrap{
  position:relative;
  z-index:1;
  width:min(100%,1460px);
  margin:0 auto;
}

.clients-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:44px;
  align-items:end;
  margin-bottom:36px;
}

.clients-kicker{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#8fb0ff;
  font-size:15px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.clients-kicker::before{
  content:"";
  width:42px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#1268ff,#79aaff);
  box-shadow:0 0 0 5px rgba(18,104,255,.08);
}

.clients-title{
  margin:28px 0 22px;
  color:#fff;
  font-size:54px;
  line-height:1.05;
  letter-spacing:-2px;
  font-weight:900;
}

.clients-accent{
  width:64px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#1268ff,#75a8ff);
  margin-bottom:24px;
}

.clients-subtitle{
  margin:0;
  max-width:520px;
  color:#cbd4f5;
  font-size:18px;
  line-height:1.72;
}

.clients-stats{
  min-width:390px;
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  background:rgba(255,255,255,.055);
  box-shadow:0 24px 60px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06);
  overflow:hidden;
}

.client-stat{
  display:flex;
  align-items:center;
  gap:18px;
  padding:24px 28px;
}

.client-stat + .client-stat{
  border-left:1px solid rgba(255,255,255,.10);
}

.client-stat-icon{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  color:#8fb0ff;
  background:rgba(143,176,255,.12);
  box-shadow:inset 0 0 0 1px rgba(143,176,255,.16);
}

.client-stat strong{
  display:block;
  color:#fff;
  font-size:24px;
  line-height:1;
  font-weight:900;
}

.client-stat span{
  display:block;
  margin-top:7px;
  color:#c9d2f2;
  font-size:14px;
  line-height:1.35;
}

.client-tabs{
  display:flex;
  gap:12px;
  align-items:center;
  padding-bottom:22px;
  margin-bottom:28px;
  border-bottom:1px solid rgba(255,255,255,.10);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}

.client-tabs::-webkit-scrollbar{
  display:none;
}

.client-tab{
  flex:0 0 auto;
  min-width:76px;
  height:38px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#dce4ff;
  background:rgba(255,255,255,.045);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

.client-tab.active{
  color:#fff;
  border-color:rgba(80,110,255,.88);
  background:linear-gradient(135deg,#3047ff,#1730ef);
  box-shadow:0 14px 34px rgba(48,71,255,.24);
}

.clients-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}

.client-card{
  min-height:86px;
  padding:16px 18px;
  display:flex;
  align-items:center;
  gap:14px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.045));
  box-shadow:0 18px 46px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:none;
  transition:transform .22s ease, border-color .22s ease, background .22s ease;
}

.client-card:hover{
  transform:translateY(-4px);
  border-color:rgba(143,176,255,.30);
  background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.055));
}

.client-logo{
  width:58px;
  height:46px;
  flex:0 0 58px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:rgba(255,255,255,.95);
  box-shadow:0 12px 28px rgba(0,0,0,.13);
  overflow:hidden;
  padding:8px;
}

.client-logo img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  display:block;
}

.client-fallback{
  display:none;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#1268ff;
  font-weight:900;
  font-size:12px;
  line-height:1.05;
}

.client-name{
  color:#fff;
  font-size:14px;
  line-height:1.25;
  font-weight:850;
  letter-spacing:-.1px;
}

.client-sector{
  display:block;
  margin-top:4px;
  color:#aeb9df;
  font-size:11px;
  font-weight:700;
}

.clients-cta-wrap{
  display:flex;
  justify-content:center;
  margin-top:34px;
}

.clients-cta{
  height:50px;
  min-width:244px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:0 22px;
  border:1.8px solid rgba(120,150,255,.82);
  border-radius:12px;
  color:#fff;
  background:rgba(255,255,255,.045);
  box-shadow:0 18px 45px rgba(0,0,0,.15);
  font-size:14px;
  font-weight:850;
  transition:transform .2s ease, background .2s ease;
}

.clients-cta:hover{
  transform:translateY(-2px);
  background:rgba(48,71,255,.14);
}

@media(max-width:1180px){
  .clients-head{
    grid-template-columns:1fr;
    gap:26px;
  }

  .clients-stats{
    width:100%;
    min-width:0;
  }

  .clients-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .clients-section{
    padding:62px 18px 70px;
  }

  .clients-title{
    margin-top:22px;
    font-size:39px;
    letter-spacing:-1.4px;
  }

  .clients-subtitle{
    font-size:16px;
  }

  .clients-stats{
    grid-template-columns:1fr;
    border-radius:20px;
  }

  .client-stat{
    padding:20px;
  }

  .client-stat + .client-stat{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.10);
  }

  .client-tabs{
    margin-left:-18px;
    margin-right:-18px;
    padding-left:18px;
    padding-right:18px;
  }

  .clients-grid{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }

  .client-card{
    min-height:112px;
    padding:14px;
    flex-direction:column;
    justify-content:center;
    text-align:center;
  }

  .client-logo{
    width:62px;
    height:48px;
  }

  .client-name{
    font-size:13px;
  }
}

@media(max-width:420px){
  .clients-grid{
    grid-template-columns:1fr;
  }

  .client-card{
    min-height:82px;
    flex-direction:row;
    justify-content:flex-start;
    text-align:left;
  }

  .clients-cta{
    width:100%;
  }
}


/* ACHIEVEMENTS & CERTIFICATIONS */
.achievements-section{
  position:relative;
  padding:86px 24px 78px;
  background:
    radial-gradient(circle at 92% 10%,rgba(48,113,255,.10),transparent 26%),
    radial-gradient(circle at 8% 88%,rgba(48,71,255,.065),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
  color:var(--navy);
  overflow:hidden;
  isolation:isolate;
  border-top:1px solid rgba(5,10,42,.06);
}

.achievements-section::before{
  content:"";
  position:absolute;
  right:54px;
  top:36px;
  width:118px;
  height:118px;
  opacity:.42;
  background-image:radial-gradient(circle,#b9c5ff 2.6px,transparent 3.1px);
  background-size:22px 22px;
  pointer-events:none;
}

.achievements-wrap,
.certifications-wrap{
  position:relative;
  z-index:1;
  width:min(100%,1460px);
  margin:0 auto;
}

.section-topline{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:28px;
  margin-bottom:32px;
}

.light-kicker,
.dark-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#1268ff;
  font-size:15px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.light-kicker::before,
.dark-kicker::before{
  content:"";
  width:40px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#1268ff,#75a8ff);
  box-shadow:0 0 0 5px rgba(18,104,255,.08);
}

.achievement-title,
.certification-title{
  margin:20px 0 18px;
  font-size:44px;
  line-height:1.1;
  letter-spacing:-1.4px;
  font-weight:900;
}

.achievement-title{color:#060b2f}
.certification-title{color:#fff}

.section-accent{
  width:56px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#1268ff,#75a8ff);
  margin-bottom:22px;
}

.achievement-subtitle,
.certification-subtitle{
  margin:0;
  max-width:430px;
  font-size:17px;
  line-height:1.72;
}

.achievement-subtitle{color:#59627f}
.certification-subtitle{color:#cbd4f5}

.outline-action{
  height:46px;
  min-width:210px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:0 20px;
  border:1.7px solid rgba(18,104,255,.72);
  border-radius:10px;
  color:#1268ff;
  background:rgba(255,255,255,.70);
  box-shadow:0 16px 40px rgba(18,104,255,.08);
  font-size:14px;
  font-weight:850;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.outline-action.dark{
  color:#fff;
  background:rgba(255,255,255,.045);
  border-color:rgba(130,160,255,.72);
  box-shadow:0 18px 44px rgba(0,0,0,.16);
}

.outline-action:hover{
  transform:translateY(-2px);
  background:rgba(18,104,255,.08);
  box-shadow:0 20px 46px rgba(18,104,255,.12);
}

.outline-action.dark:hover{
  background:rgba(48,71,255,.14);
}

.achievement-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:18px;
}

.achievement-card{
  min-height:240px;
  padding:24px 22px;
  border:1px solid rgba(48,71,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 46px rgba(35,47,115,.08), inset 0 1px 0 rgba(255,255,255,.90);
  backdrop-filter:none;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.achievement-card:hover{
  transform:translateY(-5px);
  border-color:rgba(18,104,255,.22);
  box-shadow:0 26px 62px rgba(35,47,115,.12), inset 0 1px 0 rgba(255,255,255,.92);
}

.award-icon{
  width:60px;
  height:60px;
  display:grid;
  place-items:center;
  border-radius:13px;
  margin-bottom:24px;
  color:#1268ff;
  background:#eef4ff;
}

.award-icon.green{color:#20ad64;background:#eafaf1}
.award-icon.orange{color:#ff8d1a;background:#fff2e8}
.award-icon.purple{color:#a244ff;background:#f7ecff}
.award-icon.gold{color:#d79610;background:#fff4d8}
.award-icon.silver{color:#8990a3;background:#f0f1f5}
.award-icon.teal{color:#16b3b0;background:#e8fbfb}

.achievement-card h3{
  margin:0 0 10px;
  color:#060b2f;
  font-size:18px;
  line-height:1.28;
  font-weight:900;
  letter-spacing:-.2px;
}

.achievement-level{
  display:block;
  color:#1268ff;
  font-size:13px;
  font-weight:850;
  margin-bottom:28px;
}

.achievement-level.green{color:#18a85d}
.achievement-level.orange{color:#ff8d1a}
.achievement-level.purple{color:#a244ff}
.achievement-level.gold{color:#d79610}
.achievement-level.silver{color:#7e8495}
.achievement-level.teal{color:#16a9a6}

.achievement-badge{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 12px;
  border-radius:7px;
  color:#1268ff;
  background:#eaf2ff;
  font-size:12px;
  font-weight:850;
}

.achievement-badge.green{color:#18a85d;background:#e9f8ef}
.achievement-badge.orange{color:#e8790e;background:#fff0df}
.achievement-badge.purple{color:#a244ff;background:#f5e8ff}
.achievement-badge.gold{color:#b9820a;background:#fff1cb}
.achievement-badge.silver{color:#757b8d;background:#eef0f4}
.achievement-badge.teal{color:#119d9a;background:#e4f8f7}

.certifications-section{
  position:relative;
  padding:82px 24px 92px;
  background:
    radial-gradient(circle at 90% 10%,rgba(65,86,255,.18),transparent 28%),
    radial-gradient(circle at 10% 90%,rgba(128,145,255,.12),transparent 30%),
    linear-gradient(180deg,#050a2a 0%,#07113a 54%,#030827 100%);
  color:#fff;
  overflow:hidden;
  isolation:isolate;
}

.certifications-section::before{
  content:"";
  position:absolute;
  right:-120px;
  top:-140px;
  width:400px;
  height:400px;
  border-radius:999px;
  border:30px solid rgba(132,150,255,.12);
  box-shadow:0 0 0 30px rgba(132,150,255,.06);
  pointer-events:none;
}

.cert-grid-wrap{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:42px;
  align-items:start;
}

.certification-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.certification-card{
  min-height:160px;
  padding:24px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.045));
  box-shadow:0 22px 54px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:none;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.certification-card:hover{
  transform:translateY(-5px);
  border-color:rgba(143,176,255,.30);
  box-shadow:0 30px 72px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.08);
}

.cert-head{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:18px;
  align-items:center;
}

.cert-logo{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:rgba(255,255,255,.95);
  color:#071139;
  font-weight:900;
  font-size:23px;
  box-shadow:0 16px 34px rgba(0,0,0,.16);
}

.cert-logo.aws{
  font-size:28px;
  color:#222;
}

.cert-logo.google{
  font-size:0;
  background:
    conic-gradient(from 45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);
  position:relative;
}

.cert-logo.google::after{
  content:"G";
  position:absolute;
  inset:13px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#4285f4;
  font-size:28px;
  font-weight:900;
}

.cert-logo.laravel{
  color:#a855f7;
  font-size:36px;
  background:rgba(255,255,255,.94);
}

.cert-logo.fcc{
  color:#16b3b0;
  font-size:34px;
  background:#e8fbfb;
}

.certification-card h3{
  margin:0;
  color:#fff;
  font-size:17px;
  line-height:1.35;
  font-weight:850;
}

.cert-provider{
  display:block;
  margin-top:8px;
  color:#cbd4f5;
  font-size:13px;
  line-height:1.35;
  font-weight:650;
}

.cert-year{
  margin-top:26px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#aeb9df;
  font-size:13px;
  font-weight:800;
}

@media(max-width:1260px){
  .achievement-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .cert-grid-wrap{
    grid-template-columns:1fr;
    gap:26px;
  }
}

@media(max-width:900px){
  .section-topline{
    display:block;
  }
  .outline-action{
    margin-top:22px;
  }
  .achievement-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .certification-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .achievements-section{
    padding:60px 18px 64px;
  }
  .certifications-section{
    padding:62px 18px 70px;
  }
  .achievement-title,
  .certification-title{
    font-size:34px;
    letter-spacing:-1.1px;
  }
  .achievement-subtitle,
  .certification-subtitle{
    font-size:16px;
  }
  .outline-action{
    width:100%;
  }
  .achievement-grid,
  .certification-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .achievement-card{
    min-height:0;
    padding:22px;
  }
  .award-icon{
    margin-bottom:18px;
  }
  .achievement-level{
    margin-bottom:20px;
  }
  .certification-card{
    min-height:0;
    padding:20px;
  }
  .cert-head{
    grid-template-columns:58px 1fr;
    gap:15px;
  }
  .cert-logo{
    width:58px;
    height:58px;
  }
}


/* Certification 8-card tuning */
.cert-logo.js{
  background:#fff7c7;
  color:#10152f;
  font-size:24px;
  letter-spacing:-1px;
}

.cert-logo.db{
  background:#eaf4ff;
  color:#1268ff;
  font-size:21px;
  letter-spacing:-.8px;
}

.cert-logo.api{
  background:#edf1ff;
  color:#3047ff;
  font-size:23px;
  letter-spacing:-2px;
}

.cert-logo.git{
  background:#fff0e9;
  color:#f05033;
  font-size:22px;
  letter-spacing:-.7px;
}

@media(min-width:1261px){
  .certification-card{
    min-height:150px;
  }
  .certification-card h3{
    font-size:16px;
  }
}


/* CONTACT */
.contact-section{
  position:relative;
  padding:94px 24px 40px;
  background:
    radial-gradient(circle at 0% 76%,rgba(48,113,255,.11),transparent 24%),
    radial-gradient(circle at 96% 8%,rgba(48,71,255,.08),transparent 26%),
    linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
  color:var(--navy);
  overflow:hidden;
  isolation:isolate;
  border-top:1px solid rgba(5,10,42,.06);
}

.contact-section::before{
  content:"";
  position:absolute;
  left:-130px;
  bottom:96px;
  width:270px;
  height:270px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(48,113,255,.14),rgba(48,113,255,0) 68%);
  pointer-events:none;
  z-index:0;
}

.contact-section::after{
  content:"";
  position:absolute;
  right:48px;
  top:138px;
  width:130px;
  height:210px;
  opacity:.42;
  background-image:radial-gradient(circle,#b9c5ff 2.2px,transparent 2.8px);
  background-size:24px 24px;
  pointer-events:none;
  z-index:0;
}

.contact-wrap{
  position:relative;
  z-index:1;
  width:min(100%,1380px);
  margin:0 auto;
}

.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(520px,1fr);
  gap:64px;
  align-items:start;
}

.contact-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#1268ff;
  font-size:15px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.contact-kicker::before{
  content:"";
  width:42px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#1268ff,#75a8ff);
  box-shadow:0 0 0 5px rgba(18,104,255,.08);
}

.contact-title{
  margin:38px 0 20px;
  max-width:620px;
  color:#060b2f;
  font-size:56px;
  line-height:1.08;
  letter-spacing:-2px;
  font-weight:900;
}

.contact-subtitle{
  margin:0;
  max-width:600px;
  color:#59627f;
  font-size:18px;
  line-height:1.78;
}

.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:30px;
}

.contact-btn{
  height:54px;
  min-width:220px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 22px;
  border-radius:10px;
  font-size:15px;
  font-weight:850;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.contact-btn.primary{
  color:#fff;
  background:linear-gradient(135deg,#1268ff,#1730ef);
  box-shadow:0 18px 40px rgba(18,104,255,.22);
}

.contact-btn.secondary{
  color:#1268ff;
  background:#fff;
  border:1.7px solid rgba(18,104,255,.68);
  box-shadow:0 18px 40px rgba(35,47,115,.06);
}

.contact-btn:hover{
  transform:translateY(-2px);
}

.contact-info{
  margin-top:44px;
  max-width:450px;
}

.contact-item{
  display:grid;
  grid-template-columns:58px 1fr;
  gap:18px;
  align-items:center;
  padding:18px 0;
  border-bottom:1px solid rgba(48,71,255,.12);
}

.contact-item:last-child{
  border-bottom:0;
}

.contact-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#1268ff;
  background:#eef4ff;
  box-shadow:0 14px 32px rgba(48,113,255,.10);
}

.contact-item strong{
  display:block;
  color:#060b2f;
  font-size:16px;
  line-height:1.25;
  font-weight:900;
}

.contact-item a,
.contact-item span{
  display:block;
  margin-top:5px;
  color:#59627f;
  font-size:15px;
  line-height:1.35;
}

.contact-card{
  padding:40px;
  border:1px solid rgba(48,71,255,.12);
  border-radius:24px;
  background:rgba(255,255,255,.82);
  box-shadow:0 28px 76px rgba(35,47,115,.11), inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter:none;
}

.contact-form{
  display:grid;
  gap:22px;
}

.form-group{
  display:grid;
  gap:10px;
}

.form-group label{
  color:#060b2f;
  font-size:15px;
  font-weight:850;
}

.form-group input,
.form-group textarea{
  width:100%;
  border:1px solid rgba(48,71,255,.14);
  border-radius:10px;
  background:#fff;
  color:#060b2f;
  font:inherit;
  font-size:15px;
  outline:0;
  transition:border-color .2s ease, box-shadow .2s ease;
}

.form-group input{
  height:54px;
  padding:0 18px;
}

.form-group textarea{
  min-height:150px;
  padding:16px 18px;
  resize:vertical;
}

.form-group input::placeholder,
.form-group textarea::placeholder{
  color:#7a83a2;
}

.form-group input:focus,
.form-group textarea:focus{
  border-color:rgba(18,104,255,.58);
  box-shadow:0 0 0 4px rgba(18,104,255,.08);
}

.submit-btn{
  height:56px;
  border:0;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  color:#fff;
  background:linear-gradient(135deg,#1268ff,#1730ef);
  box-shadow:0 18px 42px rgba(18,104,255,.22);
  font:inherit;
  font-size:16px;
  font-weight:850;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease;
}

.submit-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 52px rgba(18,104,255,.26);
}

.site-footer{
  position:relative;
  z-index:1;
  width:min(100%,1380px);
  margin:54px auto 0;
  padding:24px 0 0;
  border-top:1px solid rgba(48,71,255,.12);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  color:#59627f;
  font-size:15px;
}

.site-footer a{
  color:#1268ff;
  font-weight:800;
}

.footer-links{
  display:flex;
  align-items:center;
  gap:26px;
}

.footer-links a{
  color:#59627f;
  font-weight:700;
}

.footer-links span{
  width:1px;
  height:18px;
  background:rgba(48,71,255,.14);
}

@media(max-width:1040px){
  .contact-grid{
    grid-template-columns:1fr;
    gap:36px;
  }

  .contact-title{
    font-size:46px;
  }

  .contact-card{
    padding:32px;
  }
}

@media(max-width:620px){
  .contact-section{
    padding:62px 18px 32px;
  }

  .contact-title{
    margin-top:28px;
    font-size:38px;
    letter-spacing:-1.3px;
  }

  .contact-subtitle{
    font-size:16px;
  }

  .contact-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:13px;
  }

  .contact-btn{
    width:100%;
    min-width:0;
  }

  .contact-info{
    margin-top:34px;
  }

  .contact-item{
    grid-template-columns:52px 1fr;
    gap:15px;
    padding:15px 0;
  }

  .contact-icon{
    width:52px;
    height:52px;
  }

  .contact-card{
    padding:22px;
    border-radius:20px;
  }

  .contact-form{
    gap:18px;
  }

  .form-group input{
    height:50px;
  }

  .form-group textarea{
    min-height:130px;
  }

  .site-footer{
    margin-top:40px;
    padding-top:22px;
    flex-direction:column;
    align-items:flex-start;
  }

  .footer-links{
    gap:18px;
  }
}


/* CONTACT COMPACT FINAL */
.contact-section{
  padding:70px 24px 34px !important;
}

.contact-grid{
  grid-template-columns:minmax(0,.82fr) minmax(460px,.92fr) !important;
  gap:46px !important;
  align-items:center !important;
}

.contact-kicker{
  font-size:13px !important;
  letter-spacing:.14em !important;
}

.contact-kicker::before{
  width:34px !important;
}

.contact-title{
  margin:26px 0 16px !important;
  max-width:520px !important;
  font-size:42px !important;
  line-height:1.12 !important;
  letter-spacing:-1.4px !important;
}

.contact-subtitle{
  max-width:520px !important;
  font-size:15.5px !important;
  line-height:1.72 !important;
}

.contact-actions{
  gap:13px !important;
  margin-top:24px !important;
}

.contact-btn{
  height:46px !important;
  min-width:180px !important;
  padding:0 18px !important;
  border-radius:9px !important;
  font-size:14px !important;
  gap:10px !important;
}

.contact-btn svg{
  width:18px !important;
  height:18px !important;
}

.contact-info{
  margin-top:34px !important;
  max-width:390px !important;
}

.contact-item{
  grid-template-columns:48px 1fr !important;
  gap:15px !important;
  padding:13px 0 !important;
}

.contact-icon{
  width:48px !important;
  height:48px !important;
}

.contact-icon svg{
  width:21px !important;
  height:21px !important;
}

.contact-item strong{
  font-size:14.5px !important;
}

.contact-item a,
.contact-item span{
  font-size:13.5px !important;
  margin-top:4px !important;
}

.contact-card{
  padding:30px !important;
  border-radius:20px !important;
  box-shadow:0 22px 58px rgba(35,47,115,.09), inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.contact-form{
  gap:17px !important;
}

.form-group{
  gap:8px !important;
}

.form-group label{
  font-size:13.5px !important;
}

.form-group input,
.form-group textarea{
  border-radius:9px !important;
  font-size:14px !important;
}

.form-group input{
  height:46px !important;
  padding:0 15px !important;
}

.form-group textarea{
  min-height:118px !important;
  padding:14px 15px !important;
}

.submit-btn{
  height:48px !important;
  border-radius:9px !important;
  font-size:14.5px !important;
  gap:10px !important;
}

.submit-btn svg{
  width:18px !important;
  height:18px !important;
}

.site-footer{
  margin-top:38px !important;
  padding-top:20px !important;
  font-size:13.5px !important;
}

.footer-links{
  gap:20px !important;
}

@media(max-width:1040px){
  .contact-section{
    padding:62px 24px 34px !important;
  }

  .contact-grid{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }

  .contact-title{
    font-size:38px !important;
    max-width:560px !important;
  }

  .contact-card{
    padding:26px !important;
  }
}

@media(max-width:620px){
  .contact-section{
    padding:52px 18px 30px !important;
  }

  .contact-title{
    margin-top:22px !important;
    font-size:32px !important;
    line-height:1.15 !important;
    letter-spacing:-1px !important;
  }

  .contact-subtitle{
    font-size:14.5px !important;
  }

  .contact-actions{
    margin-top:20px !important;
  }

  .contact-btn{
    height:44px !important;
    font-size:13.5px !important;
  }

  .contact-info{
    margin-top:28px !important;
  }

  .contact-card{
    padding:20px !important;
    border-radius:18px !important;
  }

  .form-group input{
    height:44px !important;
  }

  .form-group textarea{
    min-height:112px !important;
  }

  .submit-btn{
    height:46px !important;
  }

  .site-footer{
    margin-top:32px !important;
    gap:12px !important;
  }
}


/* FINAL CLEANUP: remove contact blue shadow + compact certification text */
.contact-section::before{
  display:none !important;
}

.contact-icon{
  box-shadow:none !important;
  background:#f1f5ff !important;
}

.contact-item{
  border-bottom-color:rgba(48,71,255,.10) !important;
}

.certification-card{
  padding:20px !important;
  min-height:136px !important;
}

.cert-head{
  grid-template-columns:56px 1fr !important;
  gap:14px !important;
}

.cert-logo{
  width:56px !important;
  height:56px !important;
  border-radius:14px !important;
  font-size:20px !important;
}

.cert-logo.aws{
  font-size:22px !important;
}

.cert-logo.google::after{
  inset:11px !important;
  font-size:22px !important;
}

.cert-logo.laravel{
  font-size:28px !important;
}

.cert-logo.fcc{
  font-size:28px !important;
}

.cert-logo.js,
.cert-logo.api,
.cert-logo.git{
  font-size:18px !important;
}

.cert-logo.db{
  font-size:17px !important;
}

.certification-card h3{
  font-size:14px !important;
  line-height:1.34 !important;
  letter-spacing:-.1px !important;
}

.cert-provider{
  margin-top:6px !important;
  font-size:11.5px !important;
  line-height:1.3 !important;
}

.cert-year{
  margin-top:18px !important;
  font-size:11.5px !important;
  gap:7px !important;
}

.cert-year svg{
  width:15px !important;
  height:15px !important;
}

@media(max-width:620px){
  .contact-icon{
    box-shadow:none !important;
  }

  .certification-card{
    padding:18px !important;
  }

  .cert-head{
    grid-template-columns:52px 1fr !important;
    gap:13px !important;
  }

  .cert-logo{
    width:52px !important;
    height:52px !important;
  }

  .certification-card h3{
    font-size:13.5px !important;
  }

  .cert-provider,
  .cert-year{
    font-size:11px !important;
  }
}


/* REMOVE BLUE SHADOW / GLOW IN CONTACT SECTION */
.contact-section{
  background:linear-gradient(180deg,#ffffff 0%,#f8faff 100%) !important;
}

.contact-section::before,
.contact-section::after{
  display:none !important;
  content:none !important;
}

@media (max-width: 768px){
  .contact-section{
    background:#f8faff !important;
  }
}


/* Client logo centering fix */
.clients-grid .client-card{
  align-items:center !important;
}
.clients-grid .client-logo{
  display:grid !important;
  place-items:center !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.clients-grid .client-logo img{
  display:block !important;
  margin:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
}


/* Experience logo API consistency */
.company-logo{
  display:grid !important;
  place-items:center !important;
  overflow:hidden !important;
}
.company-logo img{
  width:100% !important;
  max-width:112px !important;
  height:72px !important;
  max-height:72px !important;
  object-fit:contain !important;
  object-position:center !important;
  margin:auto !important;
}


/* Clients logo blend-in style */
.clients-grid .client-logo{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
  padding:4px !important;
  border-radius:10px !important;
}

.clients-grid .client-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.18));
}

.clients-grid .client-fallback{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:10px !important;
  color:#dfe6ff !important;
}

@media(max-width:620px){
  .clients-grid .client-logo{
    padding:3px !important;
  }
}


/* Clients logo clean white-box style */
.clients-grid .client-card{
  align-items:center !important;
}

.clients-grid .client-logo{
  width:92px !important;
  height:62px !important;
  flex:0 0 92px !important;
  display:grid !important;
  place-items:center !important;
  padding:7px !important;
  border-radius:14px !important;
  background:#ffffff !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

.clients-grid .client-logo img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
  margin:auto !important;
  background:#ffffff !important;
  filter:none !important;
}

.clients-grid .client-fallback{
  width:100% !important;
  height:100% !important;
  display:flex;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  border-radius:10px !important;
  background:#ffffff !important;
  color:#3047ff !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1 !important;
  border:0 !important;
}

@media(max-width:620px){
  .clients-grid .client-logo{
    width:84px !important;
    height:56px !important;
    flex-basis:84px !important;
    padding:6px !important;
  }
}

/* Contact list: show all API contacts neatly */
.contact-info{
  max-width:560px !important;
}

.contact-item{
  grid-template-columns:54px minmax(0,1fr) !important;
  gap:16px !important;
  padding:14px 0 !important;
}

.contact-icon{
  width:54px !important;
  height:54px !important;
}

.contact-item a,
.contact-item span{
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
}


/* FINAL Clients logo precision */
.clients-grid .client-card{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
}

.clients-grid .client-logo{
  width:118px !important;
  height:82px !important;
  min-width:118px !important;
  flex:0 0 118px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:12px !important;
  border-radius:16px !important;
  background:#fff !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

.clients-grid .client-logo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:auto !important;
  background:#fff !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
  transform:scale(.92) !important;
  transform-origin:center center !important;
}

.clients-grid .client-fallback{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#3047ff !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  border:0 !important;
  box-shadow:none !important;
}

@media(max-width:1180px){
  .clients-grid .client-logo{
    width:108px !important;
    height:76px !important;
    min-width:108px !important;
    flex-basis:108px !important;
    padding:11px !important;
  }
}

@media(max-width:620px){
  .clients-grid .client-card{
    gap:14px !important;
  }

  .clients-grid .client-logo{
    width:92px !important;
    height:66px !important;
    min-width:92px !important;
    flex-basis:92px !important;
    padding:10px !important;
    border-radius:14px !important;
  }

  .clients-grid .client-logo img{
    transform:scale(.90) !important;
  }
}


/* FINAL: client logo without initials, precise and centered */
.clients-grid .client-logo{
  width:126px !important;
  height:86px !important;
  min-width:126px !important;
  flex:0 0 126px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:14px !important;
  border-radius:16px !important;
  background:#ffffff !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

.clients-grid .client-logo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:auto !important;
  background:#ffffff !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
}

.clients-grid .client-fallback{
  display:none !important;
}

/* Contact desktop balance: info cards aligned cleaner with the form */
.contact-grid{
  align-items:start !important;
  grid-template-columns:minmax(0,.94fr) minmax(480px,1.06fr) !important;
  gap:56px !important;
}

.contact-copy{
  padding-top:8px !important;
}

.contact-info{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  max-width:100% !important;
  margin-top:32px !important;
}

.contact-item{
  display:grid !important;
  grid-template-columns:46px minmax(0,1fr) !important;
  align-items:center !important;
  gap:12px !important;
  min-height:88px !important;
  padding:16px !important;
  border:1px solid rgba(48,71,255,.10) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.74) !important;
  box-shadow:0 14px 34px rgba(31,45,115,.05) !important;
}

.contact-icon{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
}

.contact-item strong{
  display:block !important;
  margin-bottom:5px !important;
}

.contact-item a,
.contact-item span{
  display:block !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
  line-height:1.35 !important;
}

@media(max-width:1180px){
  .clients-grid .client-logo{
    width:112px !important;
    height:78px !important;
    min-width:112px !important;
    flex-basis:112px !important;
    padding:12px !important;
  }

  .contact-grid{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }
}

@media(max-width:620px){
  .clients-grid .client-logo{
    width:94px !important;
    height:66px !important;
    min-width:94px !important;
    flex-basis:94px !important;
    padding:10px !important;
  }

  .contact-info{
    grid-template-columns:1fr !important;
  }

  .contact-item{
    min-height:78px !important;
    padding:14px !important;
  }
}


/* Smooth animation + parallax enhancement */
@media (prefers-reduced-motion:no-preference){
  .hero-copy,
  .stat,
  .service-card,
  .skill-card,
  .project-card,
  .experience-card,
  .client-card,
  .achievement-card,
  .cert-card,
  .contact-copy,
  .contact-card{
    opacity:0;
    transform:translateY(26px);
    transition:
      opacity .72s cubic-bezier(.22,1,.36,1),
      transform .72s cubic-bezier(.22,1,.36,1),
      box-shadow .25s ease,
      border-color .25s ease;
  }

  .is-visible{
    opacity:1 !important;
    transform:translateY(0) !important;
  }

  .stagger-1{transition-delay:.06s}
  .stagger-2{transition-delay:.12s}
  .stagger-3{transition-delay:.18s}
  .stagger-4{transition-delay:.24s}
  .stagger-5{transition-delay:.30s}

  .parallax-layer{
    will-change:translate;
    translate:var(--parallax-x, 0px) var(--parallax-y, 0px);
    transition:translate .12s linear;
  }

  .float-soft{
    animation:floatSoft 7s ease-in-out infinite;
  }

  .float-soft-alt{
    animation:floatSoftAlt 8.5s ease-in-out infinite;
  }

  .pulse-soft{
    animation:pulseSoft 5.8s ease-in-out infinite;
  }

  .project-media img,
  .client-logo img,
  .company-logo img{
    transition:transform .35s ease;
  }

  .project-card:hover .project-media img{
    transform:scale(1.035);
  }

  .client-card:hover .client-logo img,
  .experience-card:hover .company-logo img{
    transform:scale(1.04);
  }

  @keyframes floatSoft{
    0%,100%{translate:var(--parallax-x,0px) calc(var(--parallax-y,0px) + 0px)}
    50%{translate:var(--parallax-x,0px) calc(var(--parallax-y,0px) - 12px)}
  }

  @keyframes floatSoftAlt{
    0%,100%{translate:var(--parallax-x,0px) calc(var(--parallax-y,0px) + 0px)}
    50%{translate:var(--parallax-x,0px) calc(var(--parallax-y,0px) + 10px)}
  }

  @keyframes pulseSoft{
    0%,100%{opacity:.72}
    50%{opacity:.95}
  }
}

@media (prefers-reduced-motion:reduce){
  .hero-copy,
  .stat,
  .service-card,
  .skill-card,
  .project-card,
  .experience-card,
  .client-card,
  .achievement-card,
  .cert-card,
  .contact-copy,
  .contact-card{
    opacity:1 !important;
    transform:none !important;
  }
}


/* Enhanced scroll animation + deeper parallax (professional, not excessive) */
@media (prefers-reduced-motion:no-preference){
  .scroll-reveal{
    opacity:0;
    transform:translate3d(0,34px,0) scale(.985);
    filter:none;
    transition:
      opacity .82s cubic-bezier(.22,1,.36,1),
      transform .82s cubic-bezier(.22,1,.36,1),
      box-shadow .25s ease,
      border-color .25s ease;
    will-change:opacity, transform, filter;
  }

  .scroll-reveal.from-up{
    transform:translate3d(0,-24px,0) scale(.99);
  }

  .scroll-reveal.is-visible{
    opacity:1 !important;
    transform:translate3d(0,0,0) scale(1) !important;
    filter:none !important;
  }

  .scroll-reveal.is-leaving{
    opacity:.18;
    transform:translate3d(0,-18px,0) scale(.99);
  }

  .parallax-section{
    will-change:transform;
    transform:translate3d(0,var(--section-parallax,0px),0);
  }

  .parallax-card{
    will-change:transform;
    transform:translate3d(0,var(--card-parallax,0px),0);
  }

  .hero-copy.is-visible{
    transition-duration:.95s;
  }

  .project-card,
  .experience-card,
  .client-card,
  .skill-card{
    transition:
      opacity .78s cubic-bezier(.22,1,.36,1),
      transform .78s cubic-bezier(.22,1,.36,1),
      box-shadow .25s ease,
      border-color .25s ease,
      background .25s ease;
  }

  .project-card:hover,
  .experience-card:hover,
  .client-card:hover,
  .skill-card:hover{
    transform:translate3d(0,calc(var(--card-parallax,0px) - 5px),0) !important;
  }

  .parallax-layer{
    transition:translate .08s linear;
  }
}

@media (prefers-reduced-motion:reduce){
  .scroll-reveal,
  .parallax-section,
  .parallax-card{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}


/* FINAL animation style: premium reveal, no heavy parallax */
@media (prefers-reduced-motion:no-preference){
  .premium-reveal{
    opacity:0 !important;
    transform:translate3d(0,22px,0) scale(.992) !important;
    filter:none !important;
    transition:
      opacity .72s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),
      transform .72s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),

      box-shadow .25s ease,
      border-color .25s ease,
      background .25s ease !important;
    will-change:opacity, transform, filter;
  }

  .premium-reveal.is-visible{
    opacity:1 !important;
    transform:translate3d(0,0,0) scale(1) !important;
    filter:none !important;
  }

  .parallax-section,
  .parallax-card{
    transform:none !important;
  }

  .parallax-layer{
    translate:0 0 !important;
    transform:none;
  }

  .premium-float{
    animation:premiumFloat 7.5s ease-in-out infinite;
    translate:0 var(--hero-depth,0px);
  }

  .premium-float-alt{
    animation:premiumFloatAlt 8.5s ease-in-out infinite;
    translate:0 var(--hero-depth,0px);
  }

  .premium-pulse{
    animation:premiumPulse 6.5s ease-in-out infinite;
  }

  .project-card,
  .experience-card,
  .client-card,
  .skill-card{
    transform-origin:center;
  }

  .project-card:hover,
  .experience-card:hover,
  .client-card:hover,
  .skill-card:hover{
    transform:translate3d(0,-6px,0) !important;
  }

  .project-media img,
  .client-logo img,
  .company-logo img{
    transition:transform .35s ease;
  }

  .project-card:hover .project-media img{
    transform:scale(1.025);
  }

  .client-card:hover .client-logo img,
  .experience-card:hover .company-logo img{
    transform:scale(1.035);
  }

  @keyframes premiumFloat{
    0%,100%{translate:0 var(--hero-depth,0px)}
    50%{translate:0 calc(var(--hero-depth,0px) - 8px)}
  }

  @keyframes premiumFloatAlt{
    0%,100%{translate:0 var(--hero-depth,0px)}
    50%{translate:0 calc(var(--hero-depth,0px) + 7px)}
  }

  @keyframes premiumPulse{
    0%,100%{opacity:.68}
    50%{opacity:.92}
  }
}

@media (prefers-reduced-motion:reduce){
  .premium-reveal{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}


/* Repeat reveal animation when scrolling back */
@media (prefers-reduced-motion:no-preference){
  .premium-reveal{
    transition-duration:.64s !important;
  }

  .premium-reveal:not(.is-visible){
    pointer-events:none;
  }

  .premium-reveal.is-visible{
    pointer-events:auto;
  }
}


/* Clean reveal animation: no blur */
@media (prefers-reduced-motion:no-preference){
  .premium-reveal{
    opacity:0 !important;
    transform:translate3d(0,24px,0) scale(.995) !important;
    filter:none !important;
    transition:
      opacity .58s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),
      transform .58s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),
      box-shadow .25s ease,
      border-color .25s ease,
      background .25s ease !important;
  }

  .premium-reveal.is-visible{
    opacity:1 !important;
    transform:translate3d(0,0,0) scale(1) !important;
    filter:none !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .premium-reveal{
    filter:none !important;
  }
}

/* =========================================================
   FINAL LOGO CENTERING FIX
   Agar logo company/client selalu berada tepat di tengah kotak.
   Catatan: jika file logo memiliki padding/transparansi di dalam gambar,
   crop file logonya untuk hasil visual yang paling presisi.
   ========================================================= */
.company-logo,
.client-logo{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.company-logo{
  min-width:0 !important;
}

.company-logo img,
.client-logo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:132px !important;
  max-height:64px !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:auto !important;
  flex:0 1 auto !important;
  vertical-align:middle !important;
}

.company-logo-img.logo-wide,
.company-logo-img.logo-pertamina,
.company-logo-img.logo-ptc{
  max-width:126px !important;
  max-height:58px !important;
}

.company-logo-img.logo-united-tractors{
  max-width:118px !important;
  max-height:62px !important;
}

.company-logo-img.logo-compact{
  max-width:108px !important;
  max-height:60px !important;
}

.company-logo-fallback,
.client-fallback{
  margin:auto !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

@media(min-width:1181px){
  .company-logo img{
    max-width:116px !important;
    max-height:58px !important;
  }

  .company-logo-img.logo-wide,
  .company-logo-img.logo-pertamina,
  .company-logo-img.logo-ptc{
    max-width:118px !important;
    max-height:54px !important;
  }

  .company-logo-img.logo-united-tractors{
    max-width:110px !important;
    max-height:58px !important;
  }
}

@media(max-width:760px){
  .company-logo img{
    max-width:112px !important;
    max-height:52px !important;
  }

  .company-logo-img.logo-wide,
  .company-logo-img.logo-pertamina,
  .company-logo-img.logo-ptc,
  .company-logo-img.logo-united-tractors{
    max-width:112px !important;
    max-height:50px !important;
  }
}



/* PROJECT MODAL */
          .project-modal-overlay{
            position:fixed;
            inset:0;
            z-index:99999;
            display:none;
            align-items:center;
            justify-content:center;
            padding:24px;
            background:rgba(3,8,39,.78);
            backdrop-filter:none;
          }
          .project-modal-overlay.is-open{display:flex}
          .project-modal-box{
            position:relative;
            width:min(100%,1080px);
            max-height:92vh;
            border:1px solid rgba(255,255,255,.16);
            border-radius:22px;
            background:#071139;
            box-shadow:0 32px 90px rgba(0,0,0,.42);
            overflow:hidden;
          }
          .project-modal-top{
            height:58px;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:14px;
            padding:0 18px 0 22px;
            color:#fff;
            border-bottom:1px solid rgba(255,255,255,.10);
          }
          .project-modal-title{
            min-width:0;
            font-size:15px;
            font-weight:850;
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
          }
          .project-modal-close,
          .project-modal-nav{
            border:1px solid rgba(255,255,255,.24);
            cursor:pointer;
            color:#fff;
            background:linear-gradient(135deg,#3047ff,#1730ef);
            box-shadow:0 18px 42px rgba(0,0,0,.30);
            transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
            z-index:20;
          }
          .project-modal-close{
            width:38px;
            height:38px;
            border-radius:12px;
            font-size:24px;
            line-height:1;
          }
          .project-modal-close:hover,
          .project-modal-nav:hover{
            transform:translateY(-1px);
            background:linear-gradient(135deg,#4562ff,#2445ff);
            box-shadow:0 22px 52px rgba(0,0,0,.36);
          }
          .project-modal-body{
            position:relative;
            display:grid;
            place-items:center;
            min-height:280px;
            background:linear-gradient(180deg,#081340,#030827);
          }
          .project-modal-img{
            width:100%;
            max-height:calc(92vh - 118px);
            object-fit:contain;
            display:block;
            background:#fff;
          }
          .project-modal-nav{
            position:absolute;
            top:50%;
            transform:translateY(-50%);
            width:54px;
            height:54px;
            border-radius:999px;
            display:flex;
            align-items:center;
            justify-content:center;
            font-size:34px;
            line-height:1;
            font-weight:900;
            user-select:none;
          }
          .project-modal-nav:hover{transform:translateY(-50%) scale(1.04)}
          .project-modal-prev{left:20px}
          .project-modal-next{right:20px}
          .project-modal-count{
            position:absolute;
            left:50%;
            bottom:14px;
            transform:translateX(-50%);
            min-width:64px;
            height:30px;
            padding:0 12px;
            border-radius:999px;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            color:#fff;
            background:rgba(3,8,39,.70);
            border:1px solid rgba(255,255,255,.14);
            font-size:13px;
            font-weight:800;
          }
          .project-media{cursor:pointer}
          .project-media::after{
            content:"Click to view";
            position:absolute;
            right:12px;
            bottom:12px;
            z-index:5;
            padding:7px 10px;
            border-radius:999px;
            color:#fff;
            background:rgba(3,8,39,.72);
            border:1px solid rgba(255,255,255,.14);
            font-size:11px;
            font-weight:800;
            opacity:0;
            transform:translateY(5px);
            transition:opacity .2s ease, transform .2s ease;
            pointer-events:none;
          }
          .project-media:hover::after{
            opacity:1;
            transform:translateY(0);
          }
          @media(max-width:620px){
            .project-modal-overlay{padding:12px}
            .project-modal-box{border-radius:18px}
            .project-modal-top{height:52px;padding-left:16px}
            .project-modal-title{font-size:13px}
            .project-modal-close{width:34px;height:34px;border-radius:10px}
            .project-modal-nav{width:44px;height:44px;font-size:28px}
            .project-modal-prev{left:12px}
            .project-modal-next{right:12px}
            .project-media::after{display:none}
          }
        


/* LOGO CENTERING CLEANUP */
.company-logo,
.client-logo{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

.company-logo{
  min-width:0 !important;
}

.company-logo img,
.client-logo img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:132px !important;
  max-height:64px !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:auto !important;
  flex:0 1 auto !important;
  vertical-align:middle !important;
}

.company-logo-img.logo-wide,
.company-logo-img.logo-pertamina,
.company-logo-img.logo-ptc{
  max-width:126px !important;
  max-height:58px !important;
}

.company-logo-img.logo-united-tractors{
  max-width:118px !important;
  max-height:62px !important;
}

.company-logo-img.logo-compact{
  max-width:108px !important;
  max-height:60px !important;
}

.company-logo-fallback,
.client-fallback{
  margin:auto !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

@media(min-width:1181px){
  .company-logo img{
    max-width:116px !important;
    max-height:58px !important;
  }

  .company-logo-img.logo-wide,
  .company-logo-img.logo-pertamina,
  .company-logo-img.logo-ptc{
    max-width:118px !important;
    max-height:54px !important;
  }

  .company-logo-img.logo-united-tractors{
    max-width:110px !important;
    max-height:58px !important;
  }
}

@media(max-width:760px){
  .company-logo img{
    max-width:112px !important;
    max-height:52px !important;
  }

  .company-logo-img.logo-wide,
  .company-logo-img.logo-pertamina,
  .company-logo-img.logo-ptc,
  .company-logo-img.logo-united-tractors{
    max-width:112px !important;
    max-height:50px !important;
  }
}


/* =========================================================
   PROFESSIONAL ICON HEADER + REMIX ICON CLEANUP
   Mengganti inline SVG/icon hamburger span dengan icon library.
   ========================================================= */
.app-icon,
.brand-logo i,
.header-cta i,
.menu-toggle i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  vertical-align:-0.12em;
  flex:0 0 auto;
}

.brand{
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
}

.brand-logo{
  width:46px;
  height:46px;
  flex:0 0 46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,#3047ff 0%,#071139 100%);
  box-shadow:0 16px 34px rgba(48,71,255,.22);
}

.brand-logo i{
  font-size:24px;
}

.brand-text{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}

.brand-title{
  display:block !important;
  font-size:20px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.25px;
}

.brand-subtitle{
  display:block !important;
  margin-top:0 !important;
  font-size:13px;
  line-height:1.1;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.header-cta strong{
  line-height:1;
  font-weight:800;
}

.header-cta i{
  font-size:18px;
}

.menu-toggle{
  place-items:center;
}

.menu-toggle i{
  font-size:27px;
}

.menu-toggle .menu-close{
  display:none;
}

.site-header.is-open .menu-open{
  display:none;
}

.site-header.is-open .menu-close{
  display:inline-flex;
}

/* Aliases untuk elemen semantik pengganti span */
.stat small{
  display:block;
  margin-top:8px;
  color:#343a55;
  font-size:16px;
  line-height:1.1;
  white-space:nowrap;
}

.dash-head strong{
  color:var(--navy);
  font-size:14px;
  font-weight:850;
}

.project-meta small{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:27px;
  padding:0 10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:7px;
  color:#dce4ff;
  background:rgba(255,255,255,.045);
  font-size:11px;
  font-weight:700;
}

.project-meta small::before{
  content:"";
  width:13px;
  height:13px;
  flex:0 0 13px;
  border-radius:4px;
  background:linear-gradient(135deg,#7392ff,#2f56ff);
  box-shadow:0 5px 12px rgba(47,86,255,.20);
}

.project-meta small:nth-child(2)::before{
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%,#fff 0 25%,transparent 27%),linear-gradient(135deg,#87a2ff,#3358ff);
}

.exp-stat small,
.client-stat small{
  display:block;
  margin-top:5px;
  color:#344061;
  font-size:15px;
  line-height:1.35;
}

.exp-meta time,
.exp-meta address{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#4e5b84;
  font-size:14px;
  line-height:1.4;
  font-style:normal;
}

.company-name{
  margin:0 0 18px;
}

.current-badge{
  border:0;
}

.client-sector,
.cert-provider{
  display:block;
}

.achievement-level,
.achievement-badge{
  font-style:normal;
}

.contact-item p{
  margin:0;
}

.footer-separator{
  display:inline-block;
  width:4px;
  height:4px;
  margin:0 2px;
  border-radius:999px;
  background:rgba(255,255,255,.35);
  vertical-align:middle;
}

/* Decorative replacements untuk SVG visual */
.waves{
  position:absolute;
  z-index:2;
  left:660px;
  bottom:-13px;
  width:700px;
  height:190px;
  opacity:.35;
  overflow:hidden;
  pointer-events:none;
}

.waves i{
  position:absolute;
  left:-20px;
  width:760px;
  height:105px;
  border-top:2px solid #c7c3ff;
  border-radius:50%;
  transform:rotate(-8deg);
}

.waves i:nth-child(1){top:40px}
.waves i:nth-child(2){top:52px}
.waves i:nth-child(3){top:64px}
.waves i:nth-child(4){top:76px}

.line-chart,
.response-sparkline{
  position:relative;
  display:block;
  overflow:hidden;
}

.line-chart{
  width:100%;
  height:72px;
  margin-top:12px;
}

.line-chart i,
.response-sparkline i{
  position:absolute;
  inset:8px 4px;
  border-left:0;
  border-bottom:0;
  background:
    linear-gradient(135deg,transparent 0 45%, currentColor 46% 48%, transparent 49% 100%),
    linear-gradient(25deg,transparent 0 48%, currentColor 49% 51%, transparent 52% 100%);
  color:#3047ff;
  opacity:.9;
  border-radius:18px;
}

.line-chart::after{
  content:"";
  position:absolute;
  right:0;
  top:5px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#3047ff;
}

.response-sparkline{
  width:154px;
  height:38px;
}

.response-sparkline i{
  color:#9be1c2;
  inset:6px 0;
  opacity:.8;
}

/* Icon spacing pada tombol dan meta */
.btn .app-icon,
.outline-action .app-icon,
.projects-view-all .app-icon,
.project-detail .app-icon,
.clients-cta .app-icon,
.contact-btn .app-icon,
.submit-btn .app-icon{
  transition:transform .2s ease;
}

.btn:hover .app-icon,
.outline-action:hover .app-icon,
.projects-view-all:hover .app-icon,
.project-detail:hover .app-icon,
.clients-cta:hover .app-icon,
.contact-btn:hover .app-icon,
.submit-btn:hover .app-icon{
  transform:translateX(3px);
}

.project-detail .app-icon{
  font-size:17px !important;
}

.filter-btn .app-icon,
.exp-meta .app-icon,
.cert-year .app-icon{
  flex:0 0 auto;
}

@media(max-width:1024px){
  .brand-logo{
    width:42px;
    height:42px;
    flex-basis:42px;
    border-radius:13px;
  }

  .brand-logo i{
    font-size:22px;
  }

  .brand-title{
    font-size:16px !important;
  }

  .brand-subtitle{
    font-size:11px !important;
  }

  .menu-toggle{
    display:grid !important;
  }
}

@media(max-width:620px){
  .brand-logo{
    width:38px;
    height:38px;
    flex-basis:38px;
    border-radius:12px;
  }

  .brand-logo i{
    font-size:20px;
  }

  .brand-title{
    font-size:13px !important;
  }

  .brand-subtitle{
    font-size:10px !important;
  }

  .stat small{
    font-size:14px;
  }

  .waves,
  .circle-outline,
  .blob,
  .dots,
  .code-card,
  .person{
    display:none !important;
  }

  .response-sparkline{
    width:100%;
    height:30px;
  }
}

.code-card pre b{font-weight:500;}

/* Header nav refinement: keep Certifications link neat on medium desktop screens */
@media(max-width:1360px) and (min-width:1025px){
  .site-header{
    grid-template-columns:260px minmax(0,1fr) 170px;
    padding-left:44px;
    padding-right:44px;
    gap:22px;
  }

  .nav{
    gap:24px;
    font-size:15px;
  }

  .header-cta{
    width:148px;
  }
}

/* =========================================================
   FINAL HEADER SPACING CLEANUP
   Memberi jarak lebih lega antara menu Certifications dan tombol Contact Me.
   ========================================================= */
@media(min-width:1025px){
  .site-header{
    grid-template-columns:330px minmax(0,1fr) 210px !important;
    column-gap:56px !important;
  }

  .nav{
    padding-right:10px !important;
  }

  .header-cta{
    width:184px !important;
    margin-left:0 !important;
  }
}

@media(max-width:1360px) and (min-width:1025px){
  .site-header{
    grid-template-columns:260px minmax(0,1fr) 190px !important;
    column-gap:38px !important;
    padding-left:40px !important;
    padding-right:40px !important;
  }

  .nav{
    gap:22px !important;
    padding-right:8px !important;
    font-size:14.5px !important;
  }

  .header-cta{
    width:174px !important;
  }
}

/* =========================================================
   FINAL COMPACT HEADER FIX
   Header dibuat sedikit lebih kecil dan nav diberi ruang agar
   Certifications tidak menabrak tombol Contact Me.
   ========================================================= */
@media(min-width:1025px){
  .site-header{
    height:96px !important;
    min-height:96px !important;
    padding-left:clamp(42px,5vw,84px) !important;
    padding-right:clamp(42px,5vw,84px) !important;
    grid-template-columns:minmax(260px,300px) minmax(0,1fr) 164px !important;
    column-gap:30px !important;
  }

  .brand{
    gap:11px !important;
  }

  .brand-logo{
    width:42px !important;
    height:42px !important;
    flex-basis:42px !important;
    border-radius:13px !important;
  }

  .brand-logo i{
    font-size:22px !important;
  }

  .brand-title{
    font-size:18px !important;
    letter-spacing:-.35px !important;
  }

  .brand-subtitle{
    font-size:12px !important;
    letter-spacing:.035em !important;
  }

  .nav{
    min-width:0 !important;
    height:96px !important;
    justify-content:center !important;
    gap:clamp(20px,1.55vw,31px) !important;
    font-size:15px !important;
    padding-right:14px !important;
    overflow:visible !important;
  }

  .nav a{
    height:96px !important;
    letter-spacing:-.12px !important;
  }

  .header-cta{
    width:164px !important;
    height:44px !important;
    justify-self:end !important;
    margin-left:0 !important;
    gap:10px !important;
    border-radius:13px !important;
    font-size:14.5px !important;
  }

  .header-cta i{
    font-size:17px !important;
  }

  section[id]{
    scroll-margin-top:108px !important;
  }
}

@media(max-width:1360px) and (min-width:1025px){
  .site-header{
    height:92px !important;
    min-height:92px !important;
    padding-left:32px !important;
    padding-right:32px !important;
    grid-template-columns:minmax(230px,270px) minmax(0,1fr) 154px !important;
    column-gap:18px !important;
  }

  .brand-logo{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }

  .brand-title{
    font-size:17px !important;
  }

  .brand-subtitle{
    font-size:11px !important;
  }

  .nav{
    height:92px !important;
    gap:clamp(14px,1.25vw,22px) !important;
    font-size:14px !important;
    padding-right:10px !important;
  }

  .nav a{
    height:92px !important;
  }

  .header-cta{
    width:154px !important;
    height:42px !important;
    font-size:13.5px !important;
    gap:8px !important;
  }

  section[id]{
    scroll-margin-top:104px !important;
  }
}


/* =========================================================
   FINAL TABLET + MOBILE RESPONSIVE CLEANUP
   Tablet dibuat lebih rapi, HP dibatasi dengan tombol Lihat Selengkapnya.
   ========================================================= */
.projects-cta-wrap,
.clients-cta-wrap[data-skills-toggle-wrap]{
  display:flex;
  justify-content:center;
  margin-top:28px;
}

.projects-cta-wrap .projects-view-all,
.clients-cta-wrap[data-skills-toggle-wrap] .outline-action{
  margin-top:0;
}

@media(max-width:1024px){
  body{
    background:#fbfbff !important;
  }

  .site-header{
    padding:14px 26px !important;
    min-height:82px !important;
  }

  .stage{
    min-height:auto !important;
    padding-top:88px !important;
    padding-bottom:58px !important;
  }

  .hero-copy{
    max-width:820px !important;
    margin-top:42px !important;
  }

  .description{
    max-width:760px !important;
  }

  .stats{
    align-items:stretch !important;
  }

  .stat{
    overflow:hidden !important;
  }

  .skill-card,
  .selected-project-card,
  .client-card{
    will-change:auto !important;
  }
}

@media(min-width:621px) and (max-width:1024px){
  .hero-copy{
    margin-top:38px !important;
  }

  .eyebrow{
    font-size:20px !important;
    margin-bottom:14px !important;
  }

  h1{
    font-size:clamp(54px,8.3vw,72px) !important;
    letter-spacing:-3.6px !important;
  }

  .subtitle{
    margin-top:20px !important;
    font-size:clamp(25px,4vw,32px) !important;
  }

  .description{
    margin-top:18px !important;
    font-size:18px !important;
    line-height:1.68 !important;
  }

  .actions{
    margin-top:30px !important;
  }

  .stats{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:16px !important;
    max-width:840px !important;
    margin-top:30px !important;
  }

  .stat,
  .stat:nth-child(1),
  .stat:nth-child(2),
  .stat:nth-child(3){
    min-height:116px !important;
    padding:18px !important;
    border-radius:22px !important;
    gap:14px !important;
  }

  .stat-icon{
    width:56px !important;
    height:56px !important;
    flex-basis:56px !important;
  }

  .stat strong{
    font-size:30px !important;
  }

  .stat small{
    font-size:13px !important;
    white-space:normal !important;
  }

  .hero-visual{
    max-width:760px !important;
    min-height:680px !important;
    margin-top:34px !important;
    border-radius:32px !important;
  }

  .circle-outline{
    top:110px !important;
    width:620px !important;
    height:620px !important;
  }

  .blob{
    top:345px !important;
    height:255px !important;
  }

  .dots{
    top:38px !important;
    right:38px !important;
  }

  .code-card{
    left:28px !important;
    top:26px !important;
    width:min(43vw,318px) !important;
    height:208px !important;
    padding:20px 22px !important;
  }

  .code-card pre{
    font-size:14px !important;
  }

  .person{
    top:214px !important;
    width:min(42vw,320px) !important;
  }

  .dashboard{
    left:28px !important;
    right:28px !important;
    bottom:24px !important;
    top:auto !important;
    width:auto !important;
    height:auto !important;
    padding:19px !important;
    border-radius:20px !important;
  }

  .dash-row{
    grid-template-columns:1fr 1fr !important;
  }

  .metric{
    height:162px !important;
  }

  .response{
    height:66px !important;
  }

  .skills-section,
  .projects-section,
  .clients-section{
    padding-left:22px !important;
    padding-right:22px !important;
  }

  .skill-cards{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
  }

  .skill-card{
    min-height:auto !important;
    padding:24px 22px !important;
    border-radius:20px !important;
  }

  .filter-buttons,
  .client-tabs{
    display:flex !important;
    grid-template-columns:none !important;
    overflow-x:auto !important;
    gap:10px !important;
    padding-bottom:6px !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .filter-buttons::-webkit-scrollbar,
  .client-tabs::-webkit-scrollbar{
    display:none !important;
  }

  .filter-btn,
  .client-tab{
    flex:0 0 auto !important;
    scroll-snap-align:start !important;
    white-space:nowrap !important;
  }

  .selected-project-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px !important;
  }

  .project-media{
    height:190px !important;
  }

  .projects-cta-wrap{
    margin-top:26px !important;
  }

  .clients-head{
    gap:22px !important;
  }

  .clients-grid{
    grid-template-columns:repeat(auto-fit,minmax(185px,1fr)) !important;
    gap:14px !important;
  }
}

@media(max-width:620px){
  .site-header{
    padding:13px 16px !important;
  }

  .stage{
    padding-left:16px !important;
    padding-right:16px !important;
    padding-top:78px !important;
    padding-bottom:44px !important;
  }

  .hero-copy{
    margin-top:34px !important;
  }

  .eyebrow{
    font-size:18px !important;
  }

  h1{
    font-size:clamp(38px,11vw,50px) !important;
    letter-spacing:-2.8px !important;
  }

  .subtitle{
    font-size:clamp(21px,6.5vw,27px) !important;
  }

  .description{
    font-size:15.5px !important;
    line-height:1.68 !important;
  }

  .stats{
    margin-top:24px !important;
  }

  .stat,
  .stat:nth-child(1),
  .stat:nth-child(2),
  .stat:nth-child(3){
    min-height:84px !important;
    padding:14px 16px !important;
    border-radius:20px !important;
  }

  .stat-icon{
    width:52px !important;
    height:52px !important;
    flex-basis:52px !important;
  }

  .stat strong{
    font-size:28px !important;
  }

  .stat small{
    font-size:13px !important;
    white-space:normal !important;
  }

  .hero-visual{
    margin-top:20px !important;
  }

  .dashboard{
    padding:14px !important;
    border-radius:20px !important;
    box-shadow:0 18px 46px rgba(25,34,92,.10) !important;
  }

  .dash-head{
    gap:10px !important;
  }

  .period{
    white-space:nowrap !important;
  }

  .skills-section,
  .projects-section,
  .clients-section{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .skills-section{
    padding-top:52px !important;
    padding-bottom:58px !important;
  }

  .skills-head{
    margin-bottom:24px !important;
  }

  .skills-title,
  .projects-title,
  .clients-title{
    font-size:36px !important;
    line-height:1.08 !important;
    letter-spacing:-1.5px !important;
  }

  .skills-subtitle,
  .projects-subtitle,
  .clients-subtitle{
    font-size:15px !important;
    line-height:1.62 !important;
  }

  .skill-cards{
    grid-template-columns:1fr !important;
    gap:14px !important;
    margin-top:24px !important;
  }

  .skill-card{
    min-height:auto !important;
    padding:20px 18px !important;
    border-radius:20px !important;
  }

  .skill-card-head{
    gap:14px !important;
    margin-bottom:18px !important;
  }

  .skill-category-icon{
    width:50px !important;
    height:50px !important;
    flex-basis:50px !important;
  }

  .skill-desc{
    margin-bottom:16px !important;
  }

  .skill-list{
    gap:12px !important;
  }

  .projects-section{
    padding-top:52px !important;
  }

  .projects-head{
    margin-bottom:18px !important;
  }

  .project-filter{
    margin:18px 0 20px !important;
  }

  .filter-buttons,
  .client-tabs{
    display:flex !important;
    grid-template-columns:none !important;
    overflow-x:auto !important;
    gap:9px !important;
    padding-bottom:6px !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .filter-buttons::-webkit-scrollbar,
  .client-tabs::-webkit-scrollbar{
    display:none !important;
  }

  .filter-btn,
  .client-tab{
    flex:0 0 auto !important;
    min-height:42px !important;
    white-space:nowrap !important;
    scroll-snap-align:start !important;
  }

  .selected-project-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .project-media{
    height:172px !important;
  }

  .project-body{
    padding:16px !important;
  }

  .project-name{
    font-size:19px !important;
  }

  .projects-cta-wrap,
  .clients-cta-wrap,
  .clients-cta-wrap[data-skills-toggle-wrap]{
    margin-top:20px !important;
  }

  .projects-view-all,
  .clients-cta,
  .outline-action{
    width:100% !important;
    min-height:50px !important;
    justify-content:center !important;
    text-align:center !important;
    border-radius:14px !important;
  }

  .clients-section{
    padding-top:52px !important;
    padding-bottom:60px !important;
  }

  .clients-head{
    display:block !important;
    margin-bottom:18px !important;
  }

  .clients-stats{
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:18px !important;
  }

  .client-stat{
    min-height:76px !important;
  }

  .clients-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .client-card{
    min-height:82px !important;
    padding:14px !important;
    border-radius:18px !important;
  }

  .client-logo{
    width:56px !important;
    height:56px !important;
    flex-basis:56px !important;
  }

  .client-name{
    font-size:14.5px !important;
  }

  .client-sector{
    font-size:12px !important;
  }
}

@media(max-width:390px){
  .skills-title,
  .projects-title,
  .clients-title{
    font-size:32px !important;
  }

  .project-media{
    height:160px !important;
  }
}

/* =========================================================
   FINAL TABLET HERO VISUAL FIX ONLY
   Perubahan ini hanya berlaku untuk tablet 621px - 1024px.
   Desktop dan mobile tetap mengikuti CSS lama.
   ========================================================= */
@media (min-width:621px) and (max-width:1024px){
  .hero-visual{
    min-height:820px !important;
    margin-top:42px !important;
    border-radius:36px !important;
    overflow:hidden !important;
    background:
      radial-gradient(circle at 80% 10%,rgba(48,71,255,.14),transparent 30%),
      radial-gradient(circle at 20% 92%,rgba(32,182,111,.07),transparent 28%),
      linear-gradient(180deg,rgba(255,255,255,.97),rgba(247,248,255,.98)) !important;
    box-shadow:0 34px 90px rgba(25,34,92,.14) !important;
  }

  .hero-visual .circle-outline,
  .circle-outline{
    left:50% !important;
    top:88px !important;
    width:680px !important;
    height:680px !important;
    transform:translateX(-50%) !important;
    z-index:1 !important;
  }

  .hero-visual .blob,
  .blob{
    left:9% !important;
    right:9% !important;
    top:340px !important;
    width:auto !important;
    height:315px !important;
    z-index:1 !important;
  }

  .hero-visual .dots,
  .dots{
    top:38px !important;
    right:38px !important;
    z-index:2 !important;
  }

  .hero-visual .waves,
  .waves{
    display:none !important;
  }

  .hero-visual .code-card,
  .code-card{
    left:30px !important;
    top:30px !important;
    width:min(42vw,320px) !important;
    height:210px !important;
    padding:20px 22px !important;
    border-radius:18px !important;
    z-index:8 !important;
  }

  .hero-visual .code-card pre,
  .code-card pre{
    font-size:14px !important;
    line-height:1.75 !important;
  }

  .hero-visual .person,
  .person{
    left:60% !important;
    top:92px !important;
    width:clamp(350px,45vw,430px) !important;
    height:auto !important;
    transform:translateX(-50%) !important;
    z-index:7 !important;
    object-fit:contain !important;
  }

  .hero-visual .dashboard,
  .dashboard{
    left:34px !important;
    right:34px !important;
    top:auto !important;
    bottom:30px !important;
    width:auto !important;
    height:auto !important;
    min-height:315px !important;
    padding:20px !important;
    border-radius:24px !important;
    z-index:9 !important;
    background:rgba(255,255,255,.94) !important;
    box-shadow:0 28px 70px rgba(77,89,170,.16) !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
  }

  .hero-visual .dash-row,
  .dash-row{
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
  }

  .hero-visual .metric,
  .metric{
    height:165px !important;
    padding:16px !important;
    border-radius:16px !important;
  }

  .hero-visual .response,
  .response{
    height:68px !important;
    margin-top:12px !important;
    border-radius:16px !important;
  }
}

/* Tablet portrait / iPad ukuran kecil */
@media (min-width:621px) and (max-width:820px){
  .hero-visual{
    min-height:790px !important;
    max-width:760px !important;
    border-radius:34px !important;
  }

  .hero-visual .circle-outline,
  .circle-outline{
    top:92px !important;
    width:620px !important;
    height:620px !important;
  }

  .hero-visual .blob,
  .blob{
    top:335px !important;
    left:8% !important;
    right:8% !important;
    height:285px !important;
  }

  .hero-visual .code-card,
  .code-card{
    left:26px !important;
    top:26px !important;
    width:min(44vw,300px) !important;
    height:205px !important;
  }

  .hero-visual .person,
  .person{
    top:105px !important;
    width:clamp(320px,48vw,385px) !important;
  }

  .hero-visual .dashboard,
  .dashboard{
    left:26px !important;
    right:26px !important;
    bottom:26px !important;
    min-height:300px !important;
    padding:18px !important;
  }

  .hero-visual .metric,
  .metric{
    height:158px !important;
  }
}

/* Tablet sangat sempit, tetap bukan mobile */
@media (min-width:621px) and (max-width:700px){
  .hero-visual{
    min-height:760px !important;
  }

  .hero-visual .code-card,
  .code-card{
    width:285px !important;
    max-width:calc(100% - 52px) !important;
  }

  .hero-visual .person,
  .person{
    top:122px !important;
    width:clamp(300px,52vw,350px) !important;
  }

  .hero-visual .dashboard,
  .dashboard{
    left:22px !important;
    right:22px !important;
    bottom:22px !important;
    min-height:292px !important;
  }

  .hero-visual .metric,
  .metric{
    height:152px !important;
  }
}

