:root{
  --bg:#02000a;--bg2:#05020f;--bg3:#080514;
  --c1:#00f5ff;--c2:#bf00ff;--c3:#ff0077;--c4:#00ff88;--c5:#ff9500;
  --t1:#f0ecff;--t2:#a89fd4;--t3:#6a6490;
  --g1:linear-gradient(135deg,#00f5ff,#bf00ff);
  --g2:linear-gradient(135deg,#bf00ff,#ff0077);
  --g3:linear-gradient(135deg,#00ff88,#00f5ff);
  --g4:linear-gradient(135deg,#ff9500,#ff0077);
  --gcard:rgba(0,245,255,0.03);
  --gbord:rgba(0,245,255,0.12);
  --gbordh:rgba(0,245,255,0.3);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--t1);
  font-family:'Inter',sans-serif;line-height:1.6;
  overflow-x:hidden;cursor:none;
}
@media(hover:none),(pointer:coarse){body{cursor:auto;}}

/* CURSOR */
#cur{position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-50%);}
#cur-inner{width:8px;height:8px;background:var(--c1);border-radius:50%;box-shadow:0 0 10px var(--c1),0 0 20px var(--c1);}
#cur-outer{
  position:fixed;z-index:9998;pointer-events:none;transform:translate(-50%,-50%);
  width:32px;height:32px;border:1px solid rgba(0,245,255,0.5);border-radius:50%;
}
#cur-outer::before,#cur-outer::after{content:'';position:absolute;background:var(--c1);}
#cur-outer::before{width:4px;height:1px;top:50%;left:-5px;transform:translateY(-50%);}
#cur-outer::after{width:1px;height:4px;left:50%;top:-5px;transform:translateX(-50%);}
@media(hover:none),(pointer:coarse){#cur,#cur-outer{display:none;}}

/* SCANLINES */
body::after{
  content:'';position:fixed;inset:0;z-index:9997;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.05) 2px,rgba(0,0,0,0.05) 4px);
}

/* GRID BG */
.grid-bg{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(0,245,255,0.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,245,255,0.025) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 30%,transparent 100%);
}

/* AMBIENT */
.ambient{position:fixed;inset:0;z-index:0;pointer-events:none;}
.amb-1{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(0,245,255,0.07) 0%,transparent 65%);top:-200px;left:-200px;animation:ambFloat 8s ease-in-out infinite alternate;}
.amb-2{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(191,0,255,0.07) 0%,transparent 65%);top:30%;right:-150px;animation:ambFloat 10s ease-in-out infinite alternate-reverse;}
.amb-3{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(0,255,136,0.05) 0%,transparent 65%);bottom:-100px;left:35%;animation:ambFloat 12s ease-in-out infinite alternate;}
@keyframes ambFloat{0%{transform:scale(1) translate(0,0);}100%{transform:scale(1.15) translate(20px,-20px);}}

/* NAV */
nav.topnav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 2.5rem;height:56px;
  background:rgba(2,0,10,0.92);
  backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(0,245,255,0.1);
}
nav.topnav::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--c1),transparent);opacity:.4;}
.logo{
  font-family:'Orbitron',monospace;font-size:.85rem;font-weight:700;
  color:var(--c1);text-decoration:none;letter-spacing:.1em;
  text-shadow:0 0 16px rgba(0,245,255,0.6);
}
.nav-links{display:flex;gap:.2rem;list-style:none;}
.nav-links a{
  font-family:'JetBrains Mono',monospace;font-size:.7rem;
  color:var(--t2);text-decoration:none;padding:.35rem .75rem;
  border-radius:4px;transition:all .2s;letter-spacing:.05em;
}
.nav-links a:hover{color:var(--c1);background:rgba(0,245,255,0.07);text-shadow:0 0 10px var(--c1);}
.nav-status{
  display:flex;align-items:center;gap:.5rem;
  font-family:'JetBrains Mono',monospace;font-size:.65rem;
  color:var(--c4);border:1px solid rgba(0,255,136,.2);
  background:rgba(0,255,136,.05);padding:.28rem .8rem;border-radius:4px;
  white-space:nowrap;
}
.nav-status::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--c4);box-shadow:0 0 8px var(--c4);animation:blink 1.5s infinite;flex-shrink:0;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}

/* HAMBURGER */
.hamburger{
  display:none;flex-direction:column;justify-content:space-between;
  width:28px;height:20px;background:none;border:none;
  cursor:pointer;padding:0;z-index:600;flex-shrink:0;
}
.hamburger span{
  display:block;width:100%;height:2px;
  background:var(--c1);border-radius:2px;
  transition:all .3s ease;box-shadow:0 0 6px var(--c1);
}
.hamburger.open span:nth-child(1){transform:translateY(9px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}

/* MOBILE NAV DRAWER */
.mobile-nav{
  position:fixed;top:56px;left:0;right:0;z-index:490;
  background:rgba(2,0,10,0.97);backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(0,245,255,0.15);
  flex-direction:column;
  max-height:0;overflow:hidden;
  transition:max-height .35s ease;
  display:flex;
}
.mobile-nav.open{max-height:380px;}
.mobile-nav a{
  display:block;font-family:'JetBrains Mono',monospace;font-size:.82rem;
  color:var(--t2);text-decoration:none;padding:.9rem 1.8rem;
  border-bottom:1px solid rgba(0,245,255,0.05);
  transition:all .2s;letter-spacing:.08em;
}
.mobile-nav a:hover,.mobile-nav a:active{
  color:var(--c1);background:rgba(0,245,255,.06);
  padding-left:2.2rem;text-shadow:0 0 8px var(--c1);
}

/* WRAP */
.wrap{max-width:1080px;margin:0 auto;padding:0 2.5rem;position:relative;z-index:1;}
section{padding:6.5rem 0;}

/* HERO */
.hero{min-height:100vh;display:grid;place-items:center;padding-top:56px;}
.hero-inner{display:grid;grid-template-columns:1fr 300px;gap:4rem;align-items:center;width:100%;}
.hud-corner{position:absolute;width:16px;height:16px;opacity:.6;}
.hud-tl{top:0;left:0;border-top:2px solid var(--c1);border-left:2px solid var(--c1);}
.hud-tr{top:0;right:0;border-top:2px solid var(--c1);border-right:2px solid var(--c1);}
.hud-bl{bottom:0;left:0;border-bottom:2px solid var(--c1);border-left:2px solid var(--c1);}
.hud-br{bottom:0;right:0;border-bottom:2px solid var(--c1);border-right:2px solid var(--c1);}
.hero-kicker{
  font-family:'JetBrains Mono',monospace;font-size:clamp(.6rem,.85vw,.7rem);
  color:var(--c4);letter-spacing:.1em;margin-bottom:1.2rem;
  display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap;line-height:1.6;
}
.hero-kicker::before{content:'>';color:var(--c1);flex-shrink:0;margin-top:1px;}
.hero-name{
  font-family:'Orbitron',monospace;
  font-size:clamp(2.4rem,8vw,5.5rem);
  font-weight:900;line-height:1;letter-spacing:-0.01em;margin-bottom:.25em;
}
.hero-name .n1{display:block;color:var(--t1);}
.hero-name .n2{
  display:block;background:var(--g1);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  filter:drop-shadow(0 0 20px rgba(0,245,255,0.4));
}
.hero-role{
  font-family:'JetBrains Mono',monospace;
  font-size:clamp(.76rem,.9vw,.85rem);color:var(--t2);margin-bottom:1.6rem;line-height:2;
}
.hero-role .hl{color:var(--c1);font-weight:500;}
.hero-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:2rem;}
.chip{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.3rem .7rem;font-family:'JetBrains Mono',monospace;
  font-size:clamp(.58rem,.7vw,.65rem);letter-spacing:.04em;border-radius:3px;
  border:1px solid;position:relative;overflow:hidden;min-height:32px;
}
.chip::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity .2s;background:currentColor;}
.chip:hover::before{opacity:.06;}
.chip-c{color:var(--c1);border-color:rgba(0,245,255,.3);background:rgba(0,245,255,.05);}
.chip-v{color:var(--c2);border-color:rgba(191,0,255,.3);background:rgba(191,0,255,.05);}
.chip-g{color:var(--c4);border-color:rgba(0,255,136,.3);background:rgba(0,255,136,.05);}
.chip-a{color:var(--c5);border-color:rgba(255,149,0,.3);background:rgba(255,149,0,.05);}
.chip-i{color:var(--c3);border-color:rgba(255,0,119,.3);background:rgba(255,0,119,.05);}
.hero-btns{display:flex;gap:.75rem;flex-wrap:wrap;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.72rem 1.4rem;font-family:'JetBrains Mono',monospace;
  font-size:clamp(.7rem,.85vw,.75rem);letter-spacing:.05em;font-weight:500;
  text-decoration:none;transition:all .25s;cursor:none;border:none;
  border-radius:4px;position:relative;overflow:hidden;min-height:44px;
}
@media(hover:none),(pointer:coarse){.btn{cursor:pointer;}}
.btn-primary{
  background:transparent;color:var(--c1);border:1px solid var(--c1);
  box-shadow:0 0 20px rgba(0,245,255,.15),inset 0 0 20px rgba(0,245,255,.05);
}
.btn-primary:hover{background:rgba(0,245,255,.1);box-shadow:0 0 35px rgba(0,245,255,.3),inset 0 0 25px rgba(0,245,255,.1);transform:translateY(-2px);}
.btn-secondary{background:transparent;color:var(--t2);border:1px solid rgba(255,255,255,.15);}
.btn-secondary:hover{border-color:rgba(0,245,255,.35);color:var(--c1);transform:translateY(-2px);}

/* RESUME BUTTON */
.btn-resume{
  background:transparent;color:var(--c5);
  border:1px solid var(--c5);
  box-shadow:0 0 20px rgba(255,149,0,.12),inset 0 0 20px rgba(255,149,0,.04);
}
.btn-resume:hover{
  background:rgba(255,149,0,.08);
  box-shadow:0 0 35px rgba(255,149,0,.3),inset 0 0 25px rgba(255,149,0,.1);
  transform:translateY(-2px);color:var(--c5);
}
.btn-resume svg{flex-shrink:0;}

/* NAV RESUME LINK */
.nav-resume{
  display:inline-flex;align-items:center;gap:.4rem;
  font-family:'JetBrains Mono',monospace;font-size:.68rem;font-weight:500;
  color:var(--c5);text-decoration:none;letter-spacing:.05em;
  border:1px solid rgba(255,149,0,.35);background:rgba(255,149,0,.06);
  padding:.3rem .8rem;border-radius:4px;transition:all .22s;white-space:nowrap;
}
.nav-resume:hover{
  background:rgba(255,149,0,.12);
  box-shadow:0 0 18px rgba(255,149,0,.25);
  color:var(--c5);border-color:rgba(255,149,0,.6);
}
.nav-resume svg{flex-shrink:0;}

/* Mobile resume link in drawer */
.mobile-nav .mob-resume{
  color:var(--c5);border-bottom:1px solid rgba(255,149,0,.1);
}
.mobile-nav .mob-resume:hover,.mobile-nav .mob-resume:active{
  color:var(--c5);background:rgba(255,149,0,.07);
  text-shadow:0 0 8px var(--c5);
}

/* HUD CARD */
.hud-card{
  position:relative;background:rgba(0,245,255,0.02);
  border:1px solid rgba(0,245,255,0.15);border-radius:8px;padding:2rem;overflow:hidden;
}
.hud-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--c1),transparent);
  animation:scanH 3s ease-in-out infinite;
}
@keyframes scanH{0%{opacity:0;transform:scaleX(0)}50%{opacity:1;transform:scaleX(1)}100%{opacity:0;transform:scaleX(0)}}
.orbit-wrap{display:flex;justify-content:center;align-items:center;margin:1rem 0;}
.orbit{position:relative;width:200px;height:200px;}
.orbit-ring{position:absolute;border-radius:50%;border:1px solid;animation:spin linear infinite;}
.or1{inset:0;border-color:rgba(0,245,255,.3);animation-duration:8s;}
.or2{inset:12px;border-color:rgba(191,0,255,.25);animation-duration:12s;animation-direction:reverse;}
.or3{inset:24px;border-color:rgba(0,255,136,.2);animation-duration:6s;}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.orbit-ring::after{content:'';position:absolute;width:6px;height:6px;border-radius:50%;top:-3px;left:50%;transform:translateX(-50%);}
.or1::after{background:var(--c1);box-shadow:0 0 8px var(--c1);}
.or2::after{background:var(--c2);box-shadow:0 0 8px var(--c2);}
.or3::after{background:var(--c4);box-shadow:0 0 8px var(--c4);}
.orbit-core{
  position:absolute;inset:32px;border-radius:50%;
  background:radial-gradient(circle,rgba(0,245,255,.15),rgba(191,0,255,.08),transparent);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.orbit-core img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.hud-data{display:flex;flex-direction:column;gap:.4rem;}
.hud-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:.35rem .5rem;border-bottom:1px solid rgba(255,255,255,.05);
  font-family:'JetBrains Mono',monospace;font-size:.65rem;
}
.hud-row-label{color:var(--t3);}
.hud-row-val{color:var(--c1);text-shadow:0 0 8px rgba(0,245,255,.5);}
.hud-row-val.v{color:var(--c2);text-shadow:0 0 8px rgba(191,0,255,.5);}
.hud-row-val.g{color:var(--c4);text-shadow:0 0 8px rgba(0,255,136,.5);}
.hud-row-val.r{color:var(--c3);text-shadow:0 0 8px rgba(255,0,119,.5);}
.avail-bar{
  margin-top:.8rem;display:flex;align-items:center;justify-content:center;gap:.5rem;
  background:rgba(0,255,136,.06);border:1px solid rgba(0,255,136,.2);
  border-radius:4px;padding:.5rem;
  font-family:'JetBrains Mono',monospace;font-size:.65rem;
  color:var(--c4);letter-spacing:.06em;text-align:center;
}

/* SECTION HEADERS */
.sec-eyebrow{
  font-family:'JetBrains Mono',monospace;font-size:.65rem;
  color:var(--t3);letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:.5rem;display:flex;align-items:center;gap:.6rem;
}
.sec-eyebrow::before{content:'//';color:var(--c1);}
.sec-title{
  font-family:'Orbitron',monospace;font-size:clamp(1.5rem,4vw,2.4rem);
  font-weight:800;letter-spacing:-.01em;line-height:1.1;margin-bottom:.4rem;
}
.sec-title .g1{background:var(--g1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sec-title .g2{background:var(--g2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sec-title .g3{background:var(--g3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.sec-sub{color:var(--t2);font-size:clamp(.76rem,.9vw,.83rem);margin-bottom:2.8rem;font-family:'JetBrains Mono',monospace;line-height:1.7;}

/* REVEAL */
.rv{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease;}
.rv.in{opacity:1;transform:none;}
.rv-l{opacity:0;transform:translateX(-24px);transition:opacity .7s ease,transform .7s ease;}
.rv-l.in{opacity:1;transform:none;}

/* GLASS CARD */
.gc{
  background:var(--gcard);border:1px solid var(--gbord);
  border-radius:6px;transition:all .28s;position:relative;overflow:hidden;
}
.gc::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,245,255,.4),transparent);
  opacity:0;transition:opacity .3s;
}
.gc:hover{border-color:var(--gbordh);background:rgba(0,245,255,.05);}
.gc:hover::before{opacity:1;}
.gc-glow{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;}

/* BENTO */
.bento{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:88px;gap:8px;}
.b4{grid-column:span 4;}.b5{grid-column:span 5;}.b6{grid-column:span 6;}
.b7{grid-column:span 7;}.b8{grid-column:span 8;}.b12{grid-column:span 12;}
.r2{grid-row:span 2;}.r3{grid-row:span 3;}.r4{grid-row:span 4;}

/* TIMELINE */
.tl{display:flex;flex-direction:column;}
.tl-item{display:grid;grid-template-columns:60px 1fr;gap:1rem;position:relative;padding-bottom:2rem;}
.tl-item:last-child{padding-bottom:0;}
.tl-side{display:flex;flex-direction:column;align-items:center;}
.tl-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;background:var(--c1);box-shadow:0 0 12px var(--c1),0 0 24px rgba(0,245,255,.3);margin-top:6px;}
.tl-dot-active{background:var(--c4);box-shadow:0 0 12px var(--c4),0 0 24px rgba(0,255,136,.4);}
.tl-line{flex:1;width:1px;background:linear-gradient(to bottom,rgba(0,245,255,.3),rgba(0,245,255,.05));margin-top:6px;}
.tl-body{padding:1.2rem 1.4rem;}
.tl-co{font-family:'JetBrains Mono',monospace;font-size:.62rem;color:var(--c1);margin-bottom:.25rem;letter-spacing:.08em;text-transform:uppercase;}
.tl-role{font-family:'Orbitron',monospace;font-size:.85rem;font-weight:700;margin-bottom:.2rem;word-break:break-word;line-height:1.3;}
.tl-when{font-family:'JetBrains Mono',monospace;font-size:.62rem;color:var(--t3);margin-bottom:.7rem;}
.tl-txt{font-size:.83rem;color:var(--t2);line-height:1.85;margin-bottom:.8rem;}
.tl-badge{
  display:inline-flex;align-items:center;gap:.4rem;
  font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.07em;
  color:var(--c4);border:1px solid rgba(0,255,136,.3);background:rgba(0,255,136,.07);
  padding:.2rem .6rem;border-radius:3px;margin-bottom:.7rem;
}
.tl-badge::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--c4);box-shadow:0 0 6px var(--c4);animation:blink 1.5s infinite;}
.tags{display:flex;flex-wrap:wrap;gap:.3rem;}
.tag{font-family:'JetBrains Mono',monospace;font-size:.62rem;padding:.2rem .5rem;border-radius:3px;border:1px solid;min-height:26px;display:inline-flex;align-items:center;}
.tc{color:var(--c1);border-color:rgba(0,245,255,.25);background:rgba(0,245,255,.07);}
.tv{color:var(--c2);border-color:rgba(191,0,255,.25);background:rgba(191,0,255,.07);}
.tg{color:var(--c4);border-color:rgba(0,255,136,.25);background:rgba(0,255,136,.07);}
.ta{color:var(--c5);border-color:rgba(255,149,0,.25);background:rgba(255,149,0,.07);}

/* SKILLS */
.sk-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:8px;}
.sk-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.sk-card{padding:1.2rem;}
.sk-h{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem;}
.sk-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.sk-label{font-family:'JetBrains Mono',monospace;font-size:.62rem;color:var(--t2);text-transform:uppercase;letter-spacing:.07em;}
.pills{display:flex;flex-wrap:wrap;gap:.3rem;}
.pill{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  padding:.22rem .55rem;border-radius:3px;
  font-family:'JetBrains Mono',monospace;font-size:.68rem;color:var(--t2);
  transition:all .2s;min-height:28px;display:inline-flex;align-items:center;
}
.pill:hover{border-color:rgba(0,245,255,.35);color:var(--c1);text-shadow:0 0 8px rgba(0,245,255,.4);}

/* BARS */
.bars-card{padding:1.4rem;display:flex;flex-direction:column;gap:.85rem;}
.bar-r{display:flex;flex-direction:column;gap:.32rem;}
.bar-top{display:flex;justify-content:space-between;align-items:center;}
.bar-n{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--t1);}
.bar-p{font-family:'JetBrains Mono',monospace;font-size:.62rem;color:var(--t3);}
.bar-track{height:4px;background:rgba(255,255,255,.07);border-radius:99px;overflow:hidden;}
.bar-fill{height:100%;border-radius:99px;transition:width 1.4s cubic-bezier(.4,0,.2,1);}

/* PROJECTS */
.pj-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.pj{padding:1.6rem;display:flex;flex-direction:column;cursor:none;}
@media(hover:none),(pointer:coarse){.pj{cursor:pointer;}}
.pj-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;}
.pj-ico{
  width:44px;height:44px;border-radius:6px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);
  font-family:'Orbitron',monospace;font-size:.55rem;font-weight:700;color:var(--c1);letter-spacing:.04em;
}
.pj-arr{
  font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--t3);
  width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.07);border-radius:4px;transition:all .2s;
}
.pj:hover .pj-arr{color:var(--c1);border-color:rgba(0,245,255,.3);text-shadow:0 0 8px var(--c1);}
.pj-name{font-family:'Orbitron',monospace;font-size:.85rem;font-weight:700;margin-bottom:.45rem;letter-spacing:.02em;word-break:break-word;line-height:1.3;}
.pj-desc{font-size:.82rem;color:var(--t2);line-height:1.8;flex:1;margin-bottom:1rem;}

/* CONTACT */
.ct-wrap{
  position:relative;border:1px solid rgba(0,245,255,.15);border-radius:8px;
  padding:4rem 3rem;text-align:center;overflow:hidden;background:rgba(0,245,255,.015);
}
.ct-wrap::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent 0%,var(--c1) 30%,var(--c2) 70%,transparent 100%);
}
.ct-wrap::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,var(--c4) 50%,transparent 100%);
}
.ct-glow{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(0,245,255,.05) 0%,transparent 65%);
}
.ct-title{font-family:'Orbitron',monospace;font-size:clamp(1.5rem,4vw,2.8rem);font-weight:900;letter-spacing:-.01em;margin-bottom:.6rem;position:relative;}
.ct-sub{color:var(--t2);font-size:clamp(.76rem,.9vw,.83rem);max-width:520px;margin:0 auto 2.2rem;line-height:1.9;font-family:'JetBrains Mono',monospace;position:relative;}
.ct-links{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;position:relative;}

/* FOOTER */
footer{
  text-align:center;padding:2rem 1.5rem;color:var(--t3);
  font-family:'JetBrains Mono',monospace;font-size:.65rem;letter-spacing:.06em;
  border-top:1px solid rgba(0,245,255,.07);line-height:2;
}

/* ===== TABLET ≤ 900px ===== */
@media(max-width:900px){
  .wrap{padding:0 1.8rem;}
  nav.topnav{padding:0 1.8rem;}
  .nav-resume{display:none;}
  .hero-inner{grid-template-columns:1fr;gap:2.5rem;}
  .hud-card{max-width:420px;margin:0 auto;}
  .bento{grid-template-columns:repeat(6,1fr);}
  .b8{grid-column:span 6;}.b4{grid-column:span 6;}.b12{grid-column:span 6;}
  .b5{grid-column:span 6;}.b7{grid-column:span 6;}
  .r4{grid-row:span 2;}
  .sk-grid{grid-template-columns:1fr;}
  .sk-cards{grid-template-columns:1fr 1fr;}
}

/* ===== MOBILE ≤ 640px ===== */
@media(max-width:640px){
  nav.topnav{padding:0 1.2rem;}
  .nav-links{display:none;}
  .nav-status{display:none;}
  .hamburger{display:flex;}
  .wrap{padding:0 1.2rem;}
  section{padding:4.5rem 0;}
  .hero{min-height:auto;padding-top:72px;padding-bottom:3rem;}
  .hero-inner{grid-template-columns:1fr;gap:2rem;}
  .hero-btns{flex-direction:column;}
  .hero-btns .btn{width:100%;}
  .hud-card{max-width:100%;}
  .bento{grid-template-columns:1fr;grid-auto-rows:auto;}
  .b4,.b5,.b6,.b7,.b8,.b12{grid-column:span 1;}
  .r2,.r3,.r4{grid-row:span 1;}
  .tl-item{grid-template-columns:36px 1fr;gap:.6rem;}
  .tl-body{padding:.9rem 1rem;}
  .tl-role{font-size:.78rem;}
  .tl-txt{font-size:.8rem;}
  .sk-cards{grid-template-columns:1fr;}
  .sk-grid{grid-template-columns:1fr;}
  .pj-grid{grid-template-columns:1fr;}
  .pj{padding:1.2rem;}
  .ct-wrap{padding:2rem 1.2rem;}
  .ct-links{flex-direction:column;align-items:stretch;}
  .ct-links .btn{text-align:center;word-break:break-all;}
  .sec-sub{margin-bottom:1.6rem;}
  .sec-title{margin-bottom:.5rem;}
}

/* ===== VERY SMALL ≤ 380px ===== */
@media(max-width:380px){
  .wrap{padding:0 1rem;}
  nav.topnav{padding:0 1rem;}
  .hero-name{font-size:2.1rem;}
  .hero-chips{gap:.3rem;}
  .chip{font-size:.54rem;padding:.25rem .5rem;}
  .tl-item{grid-template-columns:28px 1fr;gap:.4rem;}
  .tl-body{padding:.75rem .8rem;}
}
