:root{
  --bg:#07111f;--panel:#0c1829;--panel2:#101f33;--text:#edf5ff;--muted:#8fa3bb;
  --line:rgba(143,163,187,.18);--accent:#53e0c2;--accent2:#6ea8ff;--white:#fff;
  --shadow:0 24px 70px rgba(0,0,0,.32)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% 0%,rgba(83,224,194,.08),transparent 30%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));z-index:1000}.topbar{height:74px;position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);background:rgba(7,17,31,.78);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.13em}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(83,224,194,.45);border-radius:10px;color:var(--accent);font-family:ui-monospace}.dot{color:var(--accent)}.top-actions{display:flex;align-items:center;gap:9px}.lang-wrap{height:38px;display:flex;align-items:center;gap:7px;padding:0 9px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.lang-icon{color:var(--accent);font-size:13px}.lang-wrap select{border:0;background:transparent;color:var(--text);outline:0;font-size:12px}.lang-wrap option{background:#0b1727}.icon-btn,.mini-cta{height:38px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text);padding:0 12px}.icon-btn{width:38px;cursor:pointer}.mini-cta{display:grid;place-items:center;color:var(--accent);font-weight:700}.section-shell{width:min(1160px,90vw);margin:auto}.section{padding:105px 0}.hero{min-height:720px;display:flex;align-items:center}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:50px;align-items:center}.eyebrow,.section-kicker{font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.18em;color:var(--accent)}.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:20px}.pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(83,224,194,.09)}h1{font-size:clamp(45px,6.2vw,79px);line-height:.99;letter-spacing:-.055em;margin:0 0 25px;max-width:780px}h1 span{background:linear-gradient(90deg,var(--accent),#9bd7ff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{max-width:700px;color:var(--muted);font-size:16px}.hero-actions{display:flex;gap:12px;margin:30px 0 18px}.btn{padding:13px 18px;border-radius:11px;font-size:13px;font-weight:800;border:1px solid var(--line);transition:.25s}.btn-primary{background:var(--accent);color:#031410;border-color:var(--accent)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(83,224,194,.18)}.btn-ghost{background:rgba(255,255,255,.03)}.btn-ghost:hover{border-color:rgba(83,224,194,.45)}.quick-links{display:flex;gap:20px;color:var(--muted);font-size:12px}.quick-links a:hover{color:var(--accent)}.hero-visual{height:570px;position:relative;display:grid;place-items:center}.photo-ring{position:absolute;width:280px;height:280px;border-radius:50%;padding:9px;background:linear-gradient(145deg,var(--accent),transparent 55%,var(--accent2));box-shadow:0 0 70px rgba(83,224,194,.12);z-index:3}.photo-ring:after{content:"";position:absolute;inset:9px;border:1px solid rgba(255,255,255,.12);border-radius:50%}.photo-ring img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:saturate(.92)}.orbital{position:absolute;border:1px solid rgba(110,168,255,.18);border-radius:50%;transform:rotate(-20deg)}.orbital-1{width:450px;height:190px}.orbital-2{width:360px;height:500px;transform:rotate(50deg);border-color:rgba(83,224,194,.13)}.tech-card{
  position:absolute;
  top:28px;
  right:8px;
  width:330px;
  background:linear-gradient(145deg,rgba(6,17,30,.92),rgba(7,25,42,.78));
  border:1px solid rgba(83,224,194,.18);
  border-radius:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.34),0 0 45px rgba(83,224,194,.06);
  overflow:hidden;
  z-index:2;
  transform:translate3d(0,0,0) rotate(1deg);
  animation:codeFloat 6s ease-in-out infinite;
  backdrop-filter:blur(12px);
  isolation:isolate
}
.tech-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 25%,rgba(83,224,194,.08) 50%,transparent 75%);
  transform:translateX(-120%);
  animation:codeScan 5.5s ease-in-out infinite;
  pointer-events:none
}
.tech-card:after{
  content:"";
  position:absolute;
  width:150px;height:150px;
  right:-70px;top:-70px;
  border-radius:50%;
  background:rgba(83,224,194,.08);
  filter:blur(30px);
  animation:codeGlow 4s ease-in-out infinite alternate;
  pointer-events:none
}
.terminal-head{height:35px;padding:0 12px;display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--line);color:var(--muted);font:10px ui-monospace}.terminal-head span{width:7px;height:7px;border-radius:50%;background:#33465d}.terminal-head b{margin-left:8px;font-weight:500}.terminal-body{padding:16px 17px;font:11px/1.9 ui-monospace,SFMono-Regular,Menlo,monospace;color:#b8c7d9}.indent{padding-left:16px}.code-key{color:#7db2ff}.code-name{color:#fff}.code-string{color:#65d8c1}.code-num{color:#ffc86b}.terminal-cursor{color:var(--accent);animation:blink 1s infinite}.floating-chip{position:absolute;z-index:5;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:rgba(10,24,40,.82);font:700 8px ui-monospace;letter-spacing:.12em;color:#b8c7d9;box-shadow:0 12px 30px rgba(0,0,0,.18)}.chip-a{left:0;top:120px}.chip-b{right:0;bottom:145px}.chip-c{left:28px;bottom:75px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.018)}.metric{padding:25px 5vw;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.metric:last-child{border-right:0}.metric strong{font-size:26px;letter-spacing:-.04em;color:var(--accent)}.metric span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-top:24px}h2{font-size:clamp(31px,4vw,52px);line-height:1.05;letter-spacing:-.045em;margin:0}p{color:var(--muted)}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tag-cloud span{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.025);font:10px ui-monospace;color:#b8c7d9}.dark-section{width:100%;max-width:none;padding-left:5vw;padding-right:5vw;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.006));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.dark-section>*{max-width:1160px;margin-left:auto;margin-right:auto}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin:18px auto 35px}.section-heading p{max-width:390px;margin:0}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.expertise-card{position:relative;padding:25px;border:1px solid var(--line);background:rgba(5,14,25,.45);border-radius:14px;min-height:230px;transition:.25s}.expertise-card:hover{transform:translateY(-4px);border-color:rgba(83,224,194,.34);box-shadow:0 18px 50px rgba(0,0,0,.18)}.num{position:absolute;top:17px;right:20px;color:#43566e;font:10px ui-monospace}.card-icon{display:grid;place-items:center;width:45px;height:45px;border:1px solid rgba(83,224,194,.25);border-radius:11px;color:var(--accent);font:700 10px ui-monospace;margin-bottom:22px}.expertise-card h3,.service h3,.timeline-item h3{margin:0 0 6px;font-size:18px}.expertise-card p,.service p,.timeline-item p{font-size:13px;margin:0;line-height:1.7}.timeline{position:relative;margin-top:45px;padding-left:30px;border-left:1px solid var(--line)}.timeline-item{position:relative;padding:0 0 52px 25px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:-35px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px rgba(83,224,194,.08)}.timeline-meta{font:10px ui-monospace;color:var(--accent);letter-spacing:.12em;margin-bottom:8px}.timeline-item h4{font-size:12px;color:#b7c6d8;margin:0 0 8px;font-weight:600}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service{padding:26px;border:1px solid var(--line);border-radius:14px;background:rgba(5,14,25,.45)}.service>span{color:var(--accent);font-size:18px}.service h3{margin-top:17px}.credentials{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}.credentials>div{padding:24px;border:1px solid var(--line);border-radius:13px}.credentials span{font:700 9px ui-monospace;color:var(--accent);letter-spacing:.14em}.credentials h3{font-size:16px;line-height:1.3;margin:15px 0 5px}.credentials p{font-size:12px;margin:0}.contact-section{position:relative;max-width:none;padding:110px 5vw;background:#06101d;border-top:1px solid var(--line);overflow:hidden}.contact-section>*{max-width:1160px;margin-left:auto;margin-right:auto;position:relative}.contact-glow{position:absolute!important;width:500px;height:500px;background:rgba(83,224,194,.07);filter:blur(100px);border-radius:50%;right:-150px;top:-100px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-top:25px}.contact-grid p{max-width:500px}.contact-actions{border-top:1px solid var(--line)}.contact-row{display:grid;grid-template-columns:95px 1fr 20px;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}.contact-row span{font:9px ui-monospace;color:var(--accent);letter-spacing:.1em}.contact-row b{font-size:13px}.contact-row i{font-style:normal;color:var(--muted)}footer{display:flex;justify-content:space-between;padding:23px 5vw;color:#6e8197;font-size:10px;border-top:1px solid var(--line)}.back-top{position:fixed;right:22px;bottom:22px;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#0c1b2d;color:var(--accent);display:none;cursor:pointer}.back-top.show{display:block}@keyframes blink{50%{opacity:0}}@media(max-width:900px){.hero-grid,.two-col,.contact-grid{grid-template-columns:1fr}.hero{padding:70px 0}.hero-visual{height:500px}.metrics{grid-template-columns:repeat(2,1fr)}.metric{border-bottom:1px solid var(--line)}.expertise-grid,.services-grid{grid-template-columns:repeat(2,1fr)}.credentials{grid-template-columns:repeat(2,1fr)}.section-heading{display:block}.section-heading p{margin-top:12px}.topbar{padding:0 4vw}.brand{font-size:11px}.mini-cta{display:none}}@media(max-width:600px){.hero-visual{height:410px}.photo-ring{width:220px;height:220px}.tech-card{width:245px;right:-5px;top:5px;transform:scale(.9)}.orbital-1{width:330px;height:150px}.orbital-2{width:270px;height:380px}.chip-a{left:-5px;top:90px}.chip-b{right:-3px;bottom:95px}.chip-c{left:5px;bottom:35px}.expertise-grid,.services-grid,.credentials{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.metric{padding:20px 4vw}.quick-links{flex-wrap:wrap}.contact-row{grid-template-columns:80px 1fr 15px}.lang-wrap select{max-width:68px}footer{display:block;line-height:2}.section{padding:75px 0}}

body.light{--bg:#f4f8fc;--panel:#fff;--panel2:#eef4fa;--text:#0b1727;--muted:#5d6f82;--line:rgba(23,43,77,.14);--accent:#007f72;--accent2:#2463c6}.light .topbar{background:rgba(244,248,252,.84)}.light .terminal-head,.light .terminal-body{background:#edf4fa;color:#43566e}.light .tech-card{background:rgba(255,255,255,.92)}.light .dark-section,.light .contact-section{background:#eaf1f7}.light .expertise-card,.light .service{background:rgba(255,255,255,.62)}.light .contact-section{color:#0b1727}
.expertise-card,.service,.timeline-item,.credentials>div{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.expertise-card.in-view,.service.in-view,.timeline-item.in-view,.credentials>div.in-view{opacity:1;transform:none}

/* Creative code-panel motion: it floats in its own orbit instead of sitting on the portrait. */
@keyframes codeFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(1deg)}
  50%{transform:translate3d(8px,-13px,0) rotate(-1deg)}
}
@keyframes codeScan{
  0%,55%{transform:translateX(-120%)}
  75%,100%{transform:translateX(120%)}
}
@keyframes codeGlow{
  from{opacity:.35;transform:scale(.85)}
  to{opacity:.8;transform:scale(1.1)}
}
@keyframes orbitPulse{
  0%,100%{opacity:.18;transform:scale(.96)}
  50%{opacity:.42;transform:scale(1.04)}
}
.hero-visual:before{
  content:"";
  position:absolute;
  width:305px;height:305px;
  border-radius:50%;
  border:1px dashed rgba(83,224,194,.18);
  animation:orbitPulse 5s ease-in-out infinite;
  z-index:1;
}
.photo-ring{
  z-index:5;
}
.photo-ring:before{
  content:"";
  position:absolute;
  inset:-13px;
  border-radius:50%;
  border:1px solid rgba(110,168,255,.18);
  animation:orbitSpin 13s linear infinite;
}
@keyframes orbitSpin{to{transform:rotate(360deg)}}

/* Keep the animated panel safely clear of the portrait on desktop. */
@media(min-width:901px){
  .tech-card{right:-18px;top:8px}
  .photo-ring{transform:translateY(55px)}
  .chip-a{left:-8px;top:105px}
  .chip-b{right:-5px;bottom:110px}
  .chip-c{left:12px;bottom:35px}
}
@media(max-width:900px){
  .tech-card{right:0;top:0;width:300px}
  .photo-ring{transform:translateY(60px)}
}
@media(max-width:600px){
  .tech-card{width:245px;right:0;top:0}
  .photo-ring{transform:translateY(48px)}
}

.terminal-head{position:relative}
.terminal-head em{
  margin-left:auto;
  color:var(--accent);
  font:700 8px ui-monospace;
  letter-spacing:.12em;
  font-style:normal;
  display:flex;
  align-items:center;
  gap:5px
}
.terminal-head em:before{
  content:"";
  width:5px;height:5px;border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 10px var(--accent);
  animation:statusBlink 1.5s ease-in-out infinite
}
@keyframes statusBlink{50%{opacity:.25;transform:scale(.7)}}
