
:root{
  --bg:#07111b;
  --bg2:#0d1824;
  --card:rgba(255,255,255,.055);
  --card2:rgba(255,255,255,.085);
  --line:rgba(255,255,255,.11);
  --text:#f7fbff;
  --muted:#a8bacb;
  --cyan:#55d6ff;
  --blue:#4b7cff;
  --gold:#d7b36a;
  --green:#79e2b4;
  --shadow:0 30px 90px rgba(0,0,0,.35);
  --radius:26px;
  --max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at 12% 5%,rgba(75,124,255,.20),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(85,214,255,.12),transparent 28%),
    linear-gradient(180deg,#061019 0%,#09131e 44%,#07111b 100%);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.6;
}
body:before{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:-1;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:40px 40px;
  mask-image:linear-gradient(to bottom,black,transparent 85%);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.nav{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(18px);
  background:rgba(6,16,25,.66);
  border-bottom:1px solid rgba(255,255,255,.07)
}
.nav-inner{
  height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px
}
.brand{display:flex;align-items:center;gap:13px;font-weight:800;letter-spacing:.08em}
.brand-mark{
  width:42px;height:42px;border:1px solid rgba(255,255,255,.18);
  border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,rgba(85,214,255,.14),rgba(75,124,255,.13));
  box-shadow:inset 0 0 30px rgba(85,214,255,.05)
}
.nav-links{display:flex;gap:24px;align-items:center;color:#c5d1dc;font-size:14px}
.nav-links a:hover{color:white}
.nav-cta{
  border:1px solid rgba(85,214,255,.35);
  padding:10px 15px;border-radius:999px;background:rgba(85,214,255,.07)
}
.menu{display:none;background:none;border:0;color:white;font-size:24px}
.hero{
  min-height:calc(100vh - 76px);display:grid;align-items:center;padding:84px 0 68px;
  position:relative;overflow:hidden
}
.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:68px;align-items:center}
.kicker{display:flex;align-items:center;gap:12px;color:#c7d4df;text-transform:uppercase;letter-spacing:.2em;font-size:12px}
.kicker:before{content:"";width:42px;height:1px;background:linear-gradient(90deg,var(--cyan),transparent)}
h1{
  font-size:clamp(58px,8vw,116px);line-height:.86;letter-spacing:-.065em;margin:24px 0 25px;
  font-weight:800
}
h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.68)}
.hero-lede{font-size:clamp(20px,2.1vw,30px);line-height:1.36;color:#d5e0e9;max-width:820px}
.hero-sub{max-width:760px;color:var(--muted);font-size:16px;margin-top:22px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.btn{
  padding:14px 20px;border-radius:999px;border:1px solid var(--line);
  display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14px
}
.btn.primary{
  background:linear-gradient(135deg,#f9fcff,#d9efff);color:#06111b;border-color:transparent;
  box-shadow:0 15px 40px rgba(85,214,255,.12)
}
.btn:hover{transform:translateY(-2px);transition:.2s ease}
.hero-status{
  display:flex;gap:22px;flex-wrap:wrap;margin-top:36px;color:#9fb0c0;font-size:13px
}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 18px var(--green);margin-right:8px}
.network-orbit{position:relative;min-height:540px}
.orbit-card{
  position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);
  width:min(430px,90vw);aspect-ratio:1;border-radius:50%;
  border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 0 80px rgba(85,214,255,.05),0 0 80px rgba(75,124,255,.08)
}
.orbit-card:before,.orbit-card:after{
  content:"";position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.10)
}
.orbit-card:before{inset:11%}
.orbit-card:after{inset:27%}
.core{
  position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);
  width:138px;height:138px;border-radius:32px;display:grid;place-items:center;text-align:center;
  background:linear-gradient(145deg,rgba(85,214,255,.16),rgba(75,124,255,.12));
  border:1px solid rgba(85,214,255,.25);box-shadow:0 0 70px rgba(85,214,255,.12)
}
.core strong{font-size:14px;letter-spacing:.14em}
.node{
  position:absolute;padding:11px 14px;border-radius:999px;background:rgba(8,20,31,.9);
  border:1px solid rgba(255,255,255,.12);font-size:12px;color:#dce9f3;white-space:nowrap;
  box-shadow:var(--shadow)
}
.n1{top:5%;left:35%}.n2{right:-2%;top:28%}.n3{right:5%;bottom:20%}.n4{left:1%;bottom:18%}.n5{left:-5%;top:32%}
.orbit-line{
  position:absolute;inset:9%;border-radius:50%;border-top:1px solid rgba(85,214,255,.35);
  animation:spin 18s linear infinite
}
@keyframes spin{to{transform:rotate(360deg)}}

.section{padding:110px 0}
.section-head{display:grid;grid-template-columns:.35fr 1fr;gap:40px;align-items:start;margin-bottom:48px}
.eyebrow{font-size:12px;letter-spacing:.18em;color:#7f95a9;text-transform:uppercase;padding-top:9px}
.section-head h2{margin:0;font-size:clamp(36px,5vw,64px);line-height:1.02;letter-spacing:-.045em}
.section-head p{color:var(--muted);max-width:760px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{
  padding:26px;border:1px solid var(--line);background:var(--card);border-radius:22px;
  min-height:145px;display:flex;flex-direction:column;justify-content:space-between
}
.stat strong{font-size:32px;letter-spacing:-.04em}.stat span{color:#96a9ba;font-size:13px}
.domain-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.domain{
  border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--card2),var(--card));
  padding:32px;min-height:270px;position:relative;overflow:hidden
}
.domain:after{
  content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-80px;bottom:-90px;
  background:radial-gradient(circle,rgba(85,214,255,.12),transparent 70%)
}
.domain.large{grid-column:span 7}.domain.medium{grid-column:span 5}.domain.small{grid-column:span 4}
.domain .num{color:#71869a;font-size:12px;letter-spacing:.12em}
.domain h3{font-size:28px;line-height:1.05;margin:26px 0 14px;letter-spacing:-.035em}
.domain p{color:var(--muted);max-width:560px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.tag{font-size:11px;border:1px solid rgba(255,255,255,.10);padding:7px 10px;border-radius:999px;color:#c9d6e1;background:rgba(255,255,255,.03)}

.timeline{position:relative;padding-left:30px}
.timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:linear-gradient(var(--cyan),rgba(255,255,255,.08))}
.timeline-item{position:relative;padding:0 0 48px 34px}
.timeline-item:before{content:"";position:absolute;left:-28px;top:8px;width:14px;height:14px;border-radius:50%;background:#08131e;border:2px solid var(--cyan);box-shadow:0 0 18px rgba(85,214,255,.38)}
.timeline-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.timeline-item h3{font-size:26px;margin:0 0 6px;letter-spacing:-.03em}
.timeline-item .role{font-weight:700;color:#dce7ef}.timeline-item time{color:#8da2b5;font-size:13px;white-space:nowrap}
.timeline-item p{color:var(--muted);max-width:850px}
.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.project{
  border:1px solid var(--line);background:var(--card);border-radius:var(--radius);padding:30px;
  display:grid;grid-template-columns:1fr auto;gap:20px
}
.project h3{margin:0 0 10px;font-size:24px}.project p{color:var(--muted);margin:0}
.project .type{font-size:11px;letter-spacing:.14em;color:#7fcff0;text-transform:uppercase}

.credential-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.credential{
  border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));
  border-radius:var(--radius);overflow:hidden
}
.credential-media{aspect-ratio:16/9;background:#0a1520;overflow:hidden;display:grid;place-items:center}
.credential-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.credential-body{padding:26px}.credential h3{margin:0 0 8px;font-size:23px}.credential p{color:var(--muted);margin:0 0 16px}
.text-link{font-size:13px;color:#9ddfff}
.edu-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}
.edu{border:1px solid var(--line);border-radius:var(--radius);padding:34px;background:var(--card)}
.edu h3{font-size:30px;margin:4px 0 8px}.edu p{color:var(--muted)}
.contact-card{
  border:1px solid rgba(85,214,255,.18);border-radius:34px;padding:46px;
  background:
    radial-gradient(circle at 85% 10%,rgba(85,214,255,.13),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.03))
}
.contact-card h2{font-size:clamp(42px,6vw,80px);line-height:.95;margin:0 0 18px;letter-spacing:-.055em}
.contact-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.footer{padding:34px 0 48px;color:#7f92a4;font-size:13px;display:flex;justify-content:space-between;gap:20px}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}
.page-hero{padding:95px 0 52px}
.page-hero h1{font-size:clamp(52px,7vw,92px);margin-bottom:20px}
.prose{max-width:860px;color:#bccbd7;font-size:18px}
.detail-list{display:grid;gap:14px;margin-top:30px}
.detail{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.detail strong{display:block;margin-bottom:6px}

@media(max-width:900px){
  .hero-grid,.section-head,.edu-grid{grid-template-columns:1fr}
  .network-orbit{min-height:420px}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
  .domain.large,.domain.medium,.domain.small{grid-column:span 12}
  .project-grid,.credential-grid{grid-template-columns:1fr}
  .nav-links{display:none;position:absolute;top:76px;left:0;right:0;padding:20px;background:#07111b;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}
  .nav-links.open{display:flex}.menu{display:block}
}
@media(max-width:560px){
  .container{width:min(var(--max),calc(100% - 26px))}
  .stat-grid{grid-template-columns:1fr}
  .timeline-top{flex-direction:column}
  .hero{padding-top:54px}.section{padding:78px 0}
  .contact-card{padding:30px}
}


/* =========================================================
   V3 VISUAL ENHANCEMENT — GOLDEN BASELINE SAFE OVERRIDES
   Structure/content untouched. Visual layer only.
   ========================================================= */

:root{
  --bg:#06111a;
  --bg2:#0a1823;
  --card:rgba(10,25,37,.72);
  --card2:rgba(15,34,48,.88);
  --line:rgba(123,211,255,.16);
  --text:#f5fbff;
  --muted:#9fb4c4;
  --cyan:#6ce2ff;
  --cyan2:#20bfe8;
  --blue:#4e84ff;
  --blue2:#6b5cff;
  --gold:#e5bd73;
  --green:#76e2b8;
  --shadow:0 30px 100px rgba(0,0,0,.42);
}

/* Richer atmospheric background */
body{
  background:
    radial-gradient(circle at 14% 8%,rgba(78,132,255,.20),transparent 24%),
    radial-gradient(circle at 82% 12%,rgba(32,191,232,.14),transparent 24%),
    radial-gradient(circle at 72% 72%,rgba(107,92,255,.08),transparent 28%),
    linear-gradient(180deg,#061019 0%,#081521 48%,#06111a 100%);
}
body:after{
  content:"";
  position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:
    radial-gradient(circle at 50% -10%,rgba(255,255,255,.06),transparent 35%),
    linear-gradient(120deg,transparent 0 46%,rgba(108,226,255,.025) 48%,transparent 50% 100%);
}

/* Executive glass navigation */
.nav{
  background:rgba(4,15,24,.78);
  border-bottom:1px solid rgba(108,226,255,.12);
  box-shadow:0 12px 45px rgba(0,0,0,.16);
}
.brand-mark{
  position:relative;
  background:linear-gradient(145deg,rgba(108,226,255,.17),rgba(78,132,255,.18));
  border-color:rgba(108,226,255,.24);
  box-shadow:inset 0 0 30px rgba(108,226,255,.07),0 10px 30px rgba(0,0,0,.22);
}
.brand-mark:after{
  content:"";
  position:absolute;inset:4px;border-radius:10px;
  border:1px solid rgba(255,255,255,.045);
}
.nav-links a{position:relative;transition:color .2s ease}
.nav-links a:not(.nav-cta):after{
  content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;
  background:linear-gradient(90deg,var(--cyan),var(--blue));
  transition:right .25s ease;
}
.nav-links a:not(.nav-cta):hover:after{right:0}
.nav-cta{
  border-color:rgba(108,226,255,.42);
  background:linear-gradient(135deg,rgba(108,226,255,.10),rgba(78,132,255,.07));
  box-shadow:inset 0 0 20px rgba(108,226,255,.025);
}

/* Hero — stronger high-profile engineering identity */
.hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(108,226,255,.05) 1px,transparent 1px),
    linear-gradient(rgba(108,226,255,.04) 1px,transparent 1px);
  background-size:80px 80px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 80%);
}
.kicker{color:#a7c2d5}
.kicker:before{
  width:54px;
  background:linear-gradient(90deg,var(--cyan),var(--blue),transparent);
  box-shadow:0 0 18px rgba(108,226,255,.30);
}
h1{
  text-shadow:0 10px 50px rgba(0,0,0,.23);
}
h1 span{
  background:linear-gradient(90deg,#9feeff,#7aa6ff 45%,#a998ff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-stroke:0;
  text-shadow:none;
}
.hero-lede{
  color:#dce9f1;
}
.hero-sub{color:#9fb5c7}
.btn{
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.btn:hover{
  transform:translateY(-3px);
  border-color:rgba(108,226,255,.38);
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.btn.primary{
  background:linear-gradient(135deg,#eefaff 0%,#ccecff 45%,#cbdcff 100%);
  box-shadow:0 18px 46px rgba(78,132,255,.18);
}
.dot{background:var(--green);box-shadow:0 0 20px rgba(118,226,184,.9)}

/* Orbit upgraded from generic ring to network-core instrument */
.network-orbit:after{
  content:"";
  position:absolute;left:50%;top:50%;width:70%;height:70%;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(108,226,255,.09),transparent 67%);
  filter:blur(10px);pointer-events:none;
}
.orbit-card{
  border-color:rgba(108,226,255,.16);
  background:radial-gradient(circle at center,rgba(32,191,232,.035),transparent 68%);
  box-shadow:
    inset 0 0 100px rgba(108,226,255,.055),
    0 0 100px rgba(78,132,255,.10);
}
.orbit-card:before{border-color:rgba(108,226,255,.16)}
.orbit-card:after{border-color:rgba(123,150,255,.18)}
.orbit-line{
  border-top-color:rgba(108,226,255,.72);
  filter:drop-shadow(0 0 8px rgba(108,226,255,.4));
}
.core{
  background:
    linear-gradient(145deg,rgba(108,226,255,.19),rgba(78,132,255,.16));
  border-color:rgba(108,226,255,.38);
  box-shadow:
    inset 0 0 32px rgba(255,255,255,.025),
    0 0 80px rgba(32,191,232,.16);
}
.node{
  background:rgba(5,18,28,.92);
  border-color:rgba(108,226,255,.20);
  box-shadow:0 14px 40px rgba(0,0,0,.30),inset 0 0 20px rgba(108,226,255,.025);
}

/* Section hierarchy */
.section{position:relative}
.section:nth-of-type(even):before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(108,226,255,.10),transparent);
}
.eyebrow{color:#83a8bf}
.section-head h2{
  text-wrap:balance;
}
.section-head h2::selection,h1::selection{background:rgba(108,226,255,.22)}

/* Stats */
.stat{
  position:relative;overflow:hidden;
  background:
    linear-gradient(145deg,rgba(15,34,48,.80),rgba(7,20,31,.68));
  border-color:rgba(108,226,255,.13);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.stat:before{
  content:"";position:absolute;left:0;top:0;width:100%;height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--blue),transparent);
  opacity:.45;
}
.stat:hover{
  transform:translateY(-5px);
  border-color:rgba(108,226,255,.26);
  box-shadow:0 24px 55px rgba(0,0,0,.24);
}
.stat strong{
  background:linear-gradient(90deg,#fff,#aeeeff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* Domain cards */
.domain{
  border-color:rgba(108,226,255,.14);
  background:
    linear-gradient(145deg,rgba(18,38,52,.86),rgba(8,22,33,.75));
  box-shadow:inset 0 1px rgba(255,255,255,.025);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.domain:before{
  content:"";position:absolute;left:0;top:0;width:3px;height:100%;
  background:linear-gradient(var(--cyan),var(--blue),transparent);
  opacity:.45;
}
.domain:hover{
  transform:translateY(-7px);
  border-color:rgba(108,226,255,.28);
  box-shadow:0 30px 70px rgba(0,0,0,.26);
}
.domain .num{color:#7da7bf}
.tag{
  border-color:rgba(108,226,255,.11);
  background:rgba(108,226,255,.035);
}

/* Timeline */
.timeline:before{
  width:2px;
  background:linear-gradient(var(--cyan),var(--blue),rgba(255,255,255,.05));
  box-shadow:0 0 18px rgba(108,226,255,.12);
}
.timeline-item:before{
  border-color:var(--cyan);
  background:#07131d;
}
.timeline-item h3{color:#f7fbff}
.timeline-item .role{color:#bcd3e1}

/* Projects made more premium and scannable */
.project{
  position:relative;overflow:hidden;
  background:
    linear-gradient(145deg,rgba(16,35,49,.90),rgba(8,22,33,.78));
  border-color:rgba(108,226,255,.14);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.project:before{
  content:"";position:absolute;left:0;top:0;width:100%;height:2px;
  background:linear-gradient(90deg,var(--cyan),var(--blue),transparent 75%);
  opacity:.55;
}
.project:after{
  content:"";position:absolute;right:-90px;bottom:-90px;width:190px;height:190px;border-radius:50%;
  background:radial-gradient(circle,rgba(108,226,255,.08),transparent 70%);
}
.project:hover{
  transform:translateY(-6px);
  border-color:rgba(108,226,255,.30);
  box-shadow:0 28px 70px rgba(0,0,0,.28);
}
.project .type{color:#71dcff}
.project h3{letter-spacing:-.025em}

/* Credentials */
.credential{
  border-color:rgba(108,226,255,.14);
  background:linear-gradient(180deg,rgba(18,37,51,.90),rgba(8,22,33,.78));
  box-shadow:0 24px 70px rgba(0,0,0,.18);
  transition:transform .25s ease,border-color .25s ease;
}
.credential:hover{transform:translateY(-5px);border-color:rgba(108,226,255,.28)}
.credential-media{
  background:
    linear-gradient(135deg,rgba(108,226,255,.05),rgba(78,132,255,.05)),
    #091723;
}

/* Contact CTA */
.contact-card{
  position:relative;overflow:hidden;
  border-color:rgba(108,226,255,.26);
  background:
    radial-gradient(circle at 88% 8%,rgba(108,226,255,.14),transparent 27%),
    radial-gradient(circle at 10% 100%,rgba(78,132,255,.10),transparent 30%),
    linear-gradient(145deg,rgba(18,38,52,.91),rgba(7,20,31,.84));
  box-shadow:0 30px 90px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.03);
}
.contact-card:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(110deg,transparent 0 46%,rgba(255,255,255,.025) 49%,transparent 52% 100%);
}
.contact-card h2{
  max-width:1100px;
}
.contact-links .btn{
  background:rgba(255,255,255,.025);
}
.contact-links .btn.primary{
  background:linear-gradient(135deg,#eefaff,#d4ebff);
}

/* Footer refinement */
.footer{
  border-top:1px solid rgba(108,226,255,.07);
}

/* Accessibility / reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Mobile preservation & polish */
@media (max-width: 800px){
  .nav-inner{height:68px}
  .hero{padding-top:58px}
  h1{font-size:clamp(50px,17vw,78px)}
  .hero-grid{gap:34px}
  .network-orbit{min-height:390px}
  .contact-card{padding:30px 22px}
  .contact-links .btn{width:100%;justify-content:center;text-align:center}
  .project,.domain,.stat{transform:none!important}
}


/* =========================================================
   V3.1 REFINED VISUAL PASS
   Purpose: reduce dead space, strengthen visual storytelling,
   keep all content/navigation/URLs unchanged.
   ========================================================= */

/* Tighter page hero rhythm */
.page-hero{
  min-height:auto;
  padding-top:118px;
  padding-bottom:72px;
}
.page-hero .container{
  position:relative;
}
.page-hero .page-title{
  max-width:860px;
  margin-bottom:22px;
}
.page-hero .prose{
  max-width:980px;
  margin-bottom:0;
}

/* Add restrained infrastructure artwork to the right side */
.page-hero .container:after{
  content:"";
  position:absolute;
  right:2%;
  top:58%;
  width:420px;
  height:240px;
  transform:translateY(-50%);
  opacity:.34;
  pointer-events:none;
  background:
    linear-gradient(90deg,transparent 0 8%,rgba(108,226,255,.45) 8% 8.5%,transparent 8.5% 22%,rgba(108,226,255,.30) 22% 22.5%,transparent 22.5% 100%),
    linear-gradient(0deg,transparent 0 20%,rgba(78,132,255,.42) 20% 20.5%,transparent 20.5% 46%,rgba(108,226,255,.28) 46% 46.5%,transparent 46.5% 100%),
    radial-gradient(circle at 10% 20%,rgba(108,226,255,.95) 0 3px,transparent 4px),
    radial-gradient(circle at 32% 46%,rgba(123,150,255,.95) 0 3px,transparent 4px),
    radial-gradient(circle at 58% 20%,rgba(108,226,255,.9) 0 3px,transparent 4px),
    radial-gradient(circle at 78% 46%,rgba(123,150,255,.9) 0 3px,transparent 4px),
    radial-gradient(circle at 92% 20%,rgba(108,226,255,.9) 0 3px,transparent 4px);
  filter:drop-shadow(0 0 16px rgba(108,226,255,.12));
}
.page-hero .container:before{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:450px;
  height:300px;
  transform:translateY(-50%);
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%,rgba(108,226,255,.10),transparent 62%),
    repeating-linear-gradient(90deg,rgba(108,226,255,.045) 0 1px,transparent 1px 44px),
    repeating-linear-gradient(0deg,rgba(108,226,255,.035) 0 1px,transparent 1px 44px);
  mask-image:linear-gradient(90deg,transparent,black 25%,black 75%,transparent);
}

/* Bring the first section up and give it a premium separator */
.page-hero + .section{
  padding-top:54px;
}
.page-hero + .section:before{
  content:"";
  position:absolute;
  left:3%;
  right:3%;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(108,226,255,.18),rgba(78,132,255,.18),transparent);
}

/* Make Data Center delivery section feel like the anchor portfolio block */
#projects{
  position:relative;
}
#projects:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%,rgba(32,191,232,.05),transparent 28%),
    radial-gradient(circle at 88% 78%,rgba(78,132,255,.05),transparent 32%);
}
#projects .section-head{
  position:relative;
  z-index:1;
}
#projects .project-grid{
  position:relative;
  z-index:1;
}

/* Visual hierarchy across project cards */
.project-grid .project:nth-child(1),
.project-grid .project:nth-child(2){
  min-height:285px;
}
.project-grid .project:nth-child(1){
  background:
    linear-gradient(145deg,rgba(20,43,58,.94),rgba(8,24,36,.84)),
    radial-gradient(circle at 80% 20%,rgba(108,226,255,.06),transparent 32%);
}
.project-grid .project:nth-child(2){
  background:
    linear-gradient(145deg,rgba(19,38,58,.94),rgba(8,22,35,.84)),
    radial-gradient(circle at 82% 20%,rgba(78,132,255,.06),transparent 32%);
}
.project .type{
  letter-spacing:.16em;
}
.project p{
  max-width:95%;
}

/* Sharper section labeling */
.section-head .eyebrow,
.page-hero .eyebrow{
  letter-spacing:.20em;
}
.section-head{
  margin-bottom:38px;
}

/* Slightly more visual momentum on hover without gimmicks */
.project:hover:before{
  opacity:.95;
}
.project:hover .type{
  color:#a5efff;
}
.domain:hover .num{
  color:#a5efff;
}

/* Improve long-screen flow */
.section{
  padding-top:86px;
  padding-bottom:86px;
}
.section + .section{
  margin-top:0;
}

/* Better desktop balance */
@media (min-width: 1200px){
  .page-hero .page-title,
  .page-hero .prose{
    width:68%;
  }
}

/* Tablet/mobile: remove decorative right-side art and keep compact */
@media (max-width: 980px){
  .page-hero{
    padding-top:92px;
    padding-bottom:58px;
  }
  .page-hero .container:before,
  .page-hero .container:after{
    display:none;
  }
  .page-hero .page-title,
  .page-hero .prose{
    width:auto;
    max-width:none;
  }
  .page-hero + .section{
    padding-top:44px;
  }
}

@media (max-width: 640px){
  .page-hero{
    padding-top:76px;
    padding-bottom:44px;
  }
  .section{
    padding-top:64px;
    padding-bottom:64px;
  }
  .section-head{
    margin-bottom:28px;
  }
  .project-grid .project:nth-child(1),
  .project-grid .project:nth-child(2){
    min-height:auto;
  }
}

/* v3.2 signature infrastructure topology */
.topology{display:flex;align-items:center;justify-content:center;min-height:540px}
.topology:after{width:88%;height:72%;background:radial-gradient(circle,rgba(108,226,255,.10),transparent 68%)}
.topology-shell{position:relative;width:min(560px,100%);padding:30px 26px 24px;border:1px solid rgba(108,226,255,.16);border-radius:30px;background:linear-gradient(145deg,rgba(14,35,51,.70),rgba(7,22,33,.42));box-shadow:inset 0 0 70px rgba(108,226,255,.035),0 24px 70px rgba(0,0,0,.22);overflow:hidden}
.topology-shell:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(108,226,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(108,226,255,.035) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,black,transparent 92%);pointer-events:none}
.topology-kicker,.topology-caption{position:relative;z-index:2;font-size:10px;letter-spacing:.22em;color:#83a8bf}
.topology-caption{text-align:right;margin-top:20px;color:#708da1;letter-spacing:.14em}
.topology-route{position:relative;z-index:2;margin-top:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:center;min-height:260px}
.route-line{position:absolute;left:8%;right:8%;top:50%;height:1px;background:linear-gradient(90deg,rgba(108,226,255,.2),#6ce2ff,#7b96ff,rgba(108,226,255,.28));box-shadow:0 0 16px rgba(108,226,255,.22)}
.topo-node{position:relative;z-index:3;min-height:112px;padding:16px 11px;border:1px solid rgba(108,226,255,.18);border-radius:18px;background:rgba(5,18,28,.94);display:flex;flex-direction:column;justify-content:center;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.topo-node:hover{transform:translateY(-6px);border-color:rgba(108,226,255,.55);box-shadow:0 16px 36px rgba(0,0,0,.28),0 0 24px rgba(108,226,255,.09)}
.topo-node i{font-style:normal;font-size:10px;color:#6ce2ff;letter-spacing:.16em;margin-bottom:9px}
.topo-node strong{font-size:12px;letter-spacing:.06em;line-height:1.25}.topo-node small{font-size:9px;color:#8298aa;line-height:1.45;margin-top:7px}
.topo-node.dc{border-color:rgba(123,150,255,.42);background:linear-gradient(145deg,rgba(16,42,59,.98),rgba(21,30,55,.96));box-shadow:0 0 32px rgba(123,150,255,.10)}
.data-pulse{position:absolute;z-index:4;top:calc(50% - 4px);left:7%;width:8px;height:8px;border-radius:50%;background:#dffaff;box-shadow:0 0 10px #6ce2ff,0 0 24px rgba(108,226,255,.75);animation:routePulse 5.2s linear infinite}
.data-pulse.p2{animation-delay:-1.7s}.data-pulse.p3{animation-delay:-3.4s}
@keyframes routePulse{0%{left:7%;opacity:0}7%{opacity:1}93%{opacity:1}100%{left:91%;opacity:0}}
@media (max-width:980px){.topology{min-height:400px}.topology-shell{width:min(620px,100%)}.topology-route{min-height:220px}}
@media (max-width:640px){.topology{min-height:auto}.topology-shell{padding:24px 18px}.topology-route{grid-template-columns:1fr 1fr;gap:12px;min-height:auto}.route-line,.data-pulse{display:none}.topo-node{min-height:100px}.topology-caption{text-align:left;line-height:1.6}}
@media (prefers-reduced-motion:reduce){.data-pulse{animation:none}}


/* =========================================================
   V3.3 TOPOLOGY REFINEMENT
   Fixes the awkward central box and improves visual balance.
   ========================================================= */

.topology-signature,
.network-orbit{
  position:relative;
}

/* Softer, more technical central hub */
.topology-center,
.network-orbit .core{
  width:168px !important;
  height:168px !important;
  border-radius:50% !important;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:20px;
  background:
    radial-gradient(circle at 35% 30%,rgba(255,255,255,.08),transparent 24%),
    radial-gradient(circle at 50% 50%,rgba(108,226,255,.18),rgba(78,132,255,.11) 55%,rgba(8,25,38,.88) 100%) !important;
  border:1px solid rgba(108,226,255,.34) !important;
  box-shadow:
    0 0 0 10px rgba(108,226,255,.025),
    0 0 70px rgba(32,191,232,.14),
    inset 0 0 36px rgba(108,226,255,.08) !important;
  letter-spacing:.12em;
  line-height:1.45;
}

/* Add a subtle inner ring so it reads like a network core, not a square CTA */
.topology-center:before,
.network-orbit .core:before{
  content:"";
  position:absolute;
  inset:14px;
  border-radius:50%;
  border:1px dashed rgba(108,226,255,.18);
  pointer-events:none;
}

/* Give the hub a compact label treatment */
.topology-center span,
.network-orbit .core span{
  position:relative;
  z-index:1;
  max-width:118px;
  font-size:15px;
  font-weight:800;
  letter-spacing:.13em;
  color:#f6fbff;
}

/* Improve surrounding node balance and consistency */
.network-orbit .node,
.topology-node{
  min-width:124px;
  height:56px;
  padding:0 20px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-size:14px;
  font-weight:700;
  letter-spacing:.02em;
  background:rgba(5,18,28,.94);
  border:1px solid rgba(108,226,255,.16);
  box-shadow:0 12px 32px rgba(0,0,0,.25),inset 0 0 18px rgba(108,226,255,.025);
}

/* Slightly stronger emphasis on DATA CENTER without making it oversized */
.network-orbit .node.dc,
.topology-node.dc{
  border-color:rgba(108,226,255,.28);
  background:linear-gradient(135deg,rgba(11,31,45,.96),rgba(7,23,34,.96));
  box-shadow:0 14px 36px rgba(0,0,0,.26),0 0 24px rgba(108,226,255,.06);
}

/* Refine rings so the composition feels intentional */
.network-orbit{
  filter:none;
}
.network-orbit .orbit-card{
  background:
    radial-gradient(circle at center,rgba(108,226,255,.035),transparent 58%),
    radial-gradient(circle at center,rgba(78,132,255,.025),transparent 72%);
}
.network-orbit .orbit-card:before{
  border-style:solid;
  opacity:.85;
}
.network-orbit .orbit-card:after{
  opacity:.55;
}

/* Add a faint halo behind the whole topology */
.network-orbit:before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:72%;
  height:72%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(108,226,255,.055),transparent 64%);
  filter:blur(16px);
  pointer-events:none;
}

/* Mobile keeps the hub compact */
@media (max-width: 800px){
  .topology-center,
  .network-orbit .core{
    width:132px !important;
    height:132px !important;
    padding:15px;
  }
  .topology-center span,
  .network-orbit .core span{
    font-size:12px;
    max-width:92px;
  }
  .network-orbit .node,
  .topology-node{
    min-width:105px;
    height:48px;
    font-size:12px;
    padding:0 14px;
  }
}


/* =========================================================
   V3.4 — DATA CENTER DESTINATION EMPHASIS
   Makes the DC endpoint the intellectual/visual culmination.
   ========================================================= */
.topology-route{
  grid-template-columns:.92fr .92fr 1.14fr 1.38fr;
  gap:12px;
}
.topo-node.dc{
  min-height:168px;
  padding:20px 18px;
  border-radius:22px;
  transform:translateY(0);
  border:1px solid rgba(126,154,255,.58);
  background:
    radial-gradient(circle at 50% 15%,rgba(108,226,255,.10),transparent 42%),
    linear-gradient(145deg,rgba(13,47,65,.98),rgba(25,31,65,.98));
  box-shadow:
    0 18px 42px rgba(0,0,0,.28),
    0 0 42px rgba(108,226,255,.07),
    inset 0 0 28px rgba(126,154,255,.05);
}
.topo-node.dc:before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:48px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(108,226,255,.34),transparent);
}
.topo-node.dc i{
  font-size:11px;
  color:#8ceaff;
  margin-bottom:18px;
}
.topo-node.dc strong{
  font-size:17px;
  line-height:1.08;
  letter-spacing:.045em;
}
.topo-node.dc small{
  font-size:10px;
  line-height:1.55;
  margin-top:14px;
  color:#a7b8c8;
}
.topo-node.dc small:after{
  content:"Power · Cooling · ICT/ELV · Operations";
  display:block;
  margin-top:9px;
  color:#7596aa;
  font-size:8px;
  letter-spacing:.025em;
}
.topo-node.dc:hover{
  transform:translateY(-6px);
  border-color:rgba(140,234,255,.68);
  box-shadow:0 22px 50px rgba(0,0,0,.30),0 0 44px rgba(108,226,255,.12);
}
@media (max-width:640px){
  .topology-route{grid-template-columns:1fr 1fr}
  .topo-node.dc{min-height:128px}
  .topo-node.dc strong{font-size:14px}
}


/* =========================================================
   V3.5 — DATA CENTER COLOR ENHANCEMENT
   Premium cyan → blue → violet endpoint, without overpowering hero.
   ========================================================= */
.topo-node.dc{
  border:1px solid rgba(125,156,255,.78);
  background:
    radial-gradient(circle at 48% 18%,rgba(107,229,255,.22),transparent 34%),
    radial-gradient(circle at 82% 84%,rgba(144,105,255,.22),transparent 44%),
    linear-gradient(145deg,rgba(13,64,82,.98) 0%,rgba(20,55,86,.98) 42%,rgba(42,39,91,.98) 100%);
  box-shadow:
    0 22px 52px rgba(0,0,0,.32),
    0 0 36px rgba(90,216,255,.12),
    0 0 60px rgba(126,112,255,.08),
    inset 0 1px 0 rgba(203,244,255,.10);
}
.topo-node.dc:after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(116,235,255,.34),transparent 34%,transparent 64%,rgba(150,116,255,.30));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  padding:1px;
}
.topo-node.dc i{
  color:#8ceeff;
  text-shadow:0 0 14px rgba(108,226,255,.24);
}
.topo-node.dc strong{
  color:#f7fbff;
  text-shadow:0 0 18px rgba(122,208,255,.10);
}
.topo-node.dc small{
  color:#b5c7d9;
}
.topo-node.dc small:after{
  color:#88a9c5;
}
.topo-node.dc:hover{
  border-color:rgba(145,225,255,.90);
  background:
    radial-gradient(circle at 48% 18%,rgba(107,229,255,.28),transparent 36%),
    radial-gradient(circle at 82% 84%,rgba(151,111,255,.28),transparent 46%),
    linear-gradient(145deg,rgba(14,70,89,.99),rgba(23,60,94,.99) 42%,rgba(48,43,101,.99));
  box-shadow:
    0 26px 58px rgba(0,0,0,.34),
    0 0 46px rgba(90,216,255,.17),
    0 0 76px rgba(126,112,255,.12);
}
