:root{
  --bg:#03080f;--s1:#06111e;--s2:#091828;--s3:#0d2038;
  --c:#17d4d4;--c2:#3de8e8;
  --w:#d6eaf8;--g1:#8fabbe;--g2:#3d5a6f;
  --bd:rgba(23,212,212,.12);--bd2:rgba(23,212,212,.28);
  --fh:'Space Grotesk',sans-serif;--fb:'Inter',sans-serif;--fm:'JetBrains Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--w);font-family:var(--fb);}
::-webkit-scrollbar{width:2px;} ::-webkit-scrollbar-track{background:var(--bg);} ::-webkit-scrollbar-thumb{background:var(--c);}

@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes scan{0%{top:-3px;}100%{top:101vh;}}
@keyframes pulse{0%,100%{opacity:.3;}50%{opacity:1;}}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@keyframes spin-r{from{transform:rotate(0deg);}to{transform:rotate(-360deg);}}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes blink{0%,85%,100%{opacity:1;}92%{opacity:0;}}
@keyframes circuit-flow{0%{stroke-dashoffset:200;}100%{stroke-dashoffset:0;}}
@keyframes seg1-l{0%,100%{transform:rotate(-5deg);}30%{transform:rotate(22deg);}60%{transform:rotate(-12deg);}80%{transform:rotate(8deg);}}
@keyframes seg2-l{0%,100%{transform:rotate(8deg);}25%{transform:rotate(-28deg);}55%{transform:rotate(18deg);}75%{transform:rotate(-8deg);}}
@keyframes seg3-l{0%,100%{transform:rotate(-6deg);}20%{transform:rotate(30deg);}50%{transform:rotate(-18deg);}80%{transform:rotate(12deg);}}
@keyframes claw-l{0%,100%{transform:rotate(-4deg);}40%{transform:rotate(18deg);}70%{transform:rotate(-8deg);}}
@keyframes jaw-open{0%,30%,60%,100%{transform:rotate(0deg);}42%{transform:rotate(16deg);}52%{transform:rotate(16deg);}}
@keyframes jaw-close{0%,30%,60%,100%{transform:rotate(0deg);}42%{transform:rotate(-16deg);}52%{transform:rotate(-16deg);}}
@keyframes obj-lift{0%,18%{transform:translateY(0) rotate(0deg);opacity:1;}38%{transform:translateY(-28px) rotate(8deg);opacity:1;}55%{transform:translateY(-28px) rotate(-5deg);opacity:.9;}75%{transform:translateY(0) rotate(0deg);opacity:.7;}100%{transform:translateY(0) rotate(0deg);opacity:1;}}
@keyframes seg1-r{0%,100%{transform:rotate(4deg);}28%{transform:rotate(-18deg);}52%{transform:rotate(26deg);}78%{transform:rotate(-6deg);}}
@keyframes seg2-r{0%,100%{transform:rotate(-10deg);}22%{transform:rotate(25deg);}50%{transform:rotate(-16deg);}72%{transform:rotate(6deg);}}
@keyframes seg3-r{0%,100%{transform:rotate(8deg);}18%{transform:rotate(-26deg);}48%{transform:rotate(14deg);}78%{transform:rotate(-10deg);}}
@keyframes float-obj{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-6px) rotate(6deg);}}

body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(23,212,212,.017) 1px,transparent 1px),linear-gradient(90deg,rgba(23,212,212,.017) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;z-index:0;}
body::after{content:'';position:fixed;top:0;left:0;width:100%;height:3px;background:linear-gradient(transparent,rgba(23,212,212,.05),transparent);animation:scan 7s linear infinite;pointer-events:none;z-index:9998;}

#wormhole{position:fixed;inset:0;z-index:9999;display:none;pointer-events:none;}

nav{position:fixed;top:0;left:0;width:100%;z-index:600;height:58px;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center;background:rgba(3,8,15,.94);backdrop-filter:blur(20px);border-bottom:1px solid var(--bd);}
.nav-logo{cursor:pointer;display:flex;align-items:center;}
.nav-links{display:flex;gap:.05rem;list-style:none;}
.nav-links a{color:var(--g1);text-decoration:none;font-family:var(--fm);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .58rem;transition:all .22s;border:1px solid transparent;cursor:pointer;white-space:nowrap;}
.nav-links a:hover{color:var(--c2);border-color:var(--bd);}
.nav-links a.active{color:var(--c);border-color:var(--bd2);background:rgba(23,212,212,.05);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:.3rem;}
.hamburger span{width:22px;height:1.5px;background:var(--c);display:block;}

/* arms drawn on canvas — z-index 9000 */

.page{position:fixed;inset:0;top:58px;display:none;overflow-y:auto;overflow-x:hidden;z-index:1;}
.page.active{display:block;}
.pc{min-height:calc(100vh - 58px);padding:2.5rem clamp(1rem,5vw,3.5rem) 4rem;max-width:1060px;margin:0 auto;position:relative;z-index:2;}


.sn{color:rgba(23,212,212,.75);font-family:var(--fm);font-size:.55rem;letter-spacing:.35em;color:var(--c);text-transform:uppercase;margin-bottom:.4rem;opacity:.65;}
.st{font-family:var(--fh);font-size:clamp(1.45rem,3.5vw,2.3rem);font-weight:700;line-height:1.1;}
.st .hl{color:var(--c);}
.sl{width:40px;height:1px;background:linear-gradient(to right,var(--c),transparent);margin-top:.65rem;}
.sh{margin-bottom:2.5rem;}

.tl{position:relative;padding-left:1.5rem;}
.tl::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,var(--c),var(--g2));}
.tli{position:relative;margin-bottom:1.8rem;padding-left:1.3rem;opacity:0;transform:translateX(-10px);transition:all .5s;}
.tli.in{opacity:1;transform:translateX(0);}
.tld{position:absolute;left:-1.8rem;top:.3rem;width:7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c);}
.tly{font-family:var(--fm);font-size:.56rem;letter-spacing:.2em;color:var(--c);margin-bottom:.18rem;}
.tlt{font-family:var(--fh);font-size:.75rem;font-weight:600;margin-bottom:.18rem;line-height:1.3;}
.tlo{font-family:var(--fm);font-size:.63rem;color:var(--g1);margin-bottom:.55rem;}
.tldesc{font-size:.82rem;color:var(--g1);line-height:1.75;}

.ec{background:var(--s1);border:1px solid var(--bd);border-left:1px solid var(--c);padding:1.2rem 1.4rem;margin-bottom:.8rem;transition:all .28s;opacity:0;transform:translateX(-10px);}
.ec.in{opacity:1;transform:translateX(0);}
.ec:hover{background:var(--s2);border-left-color:var(--c2);}
.er{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.3rem;margin-bottom:.3rem;}
.et{font-family:var(--fh);font-size:.74rem;font-weight:600;line-height:1.25;}
.ed{font-family:var(--fm);font-size:.56rem;color:var(--c);}
.eo{font-family:var(--fm);font-size:.62rem;color:var(--g1);margin-bottom:.6rem;}
.ep{list-style:none;font-size:.8rem;color:var(--g1);line-height:1.78;}
.ep li{padding-left:.9rem;position:relative;margin-bottom:.22rem;}
.ep li::before{content:'›';position:absolute;left:0;color:var(--c);}

.pg{display:grid;grid-template-columns:repeat(auto-fill,minmax(265px,1fr));gap:.85rem;}
.pjc{background:var(--s1);border:1px solid var(--bd);padding:1.15rem;transition:all .28s;opacity:0;transform:translateY(10px);overflow:hidden;display:flex;flex-direction:column;}
.pjc.in{opacity:1;transform:translateY(0);}
.pjc:hover{background:var(--s2);border-color:var(--bd2);}
.pjc-img{margin:-1.15rem -1.15rem 1rem;aspect-ratio:16/9;overflow:hidden;background:var(--bg);position:relative;border-bottom:1px solid var(--bd);}
.pjc-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,8,15,0) 60%,rgba(3,8,15,.55) 100%);pointer-events:none;transition:opacity .3s;}
.pjc-img img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.78) contrast(1.04) brightness(.94);transition:filter .4s,transform .6s cubic-bezier(.2,.7,.2,1);}
.pjc-img img.fit-contain{object-fit:contain;padding:.35rem;background:#eef2f5;filter:saturate(.9) contrast(1.02) brightness(.98);}
.pjc:hover .pjc-img img{filter:saturate(1) contrast(1.06) brightness(1);transform:scale(1.045);}
.pjc:hover .pjc-img img.fit-contain{transform:scale(1.018);}
.pjc:hover .pjc-img::after{opacity:.45;}
.pjy{font-family:var(--fm);font-size:.54rem;color:var(--c);letter-spacing:.18em;margin-bottom:.28rem;}
.pjt{font-family:var(--fh);font-size:.68rem;font-weight:600;margin-bottom:.45rem;line-height:1.3;}
.pjd{font-size:.78rem;color:var(--g1);line-height:1.62;margin-bottom:.5rem;}
.gh-link{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--fm);font-size:.56rem;color:var(--c);text-decoration:none;padding:.22rem .55rem;border:1px solid var(--bd);transition:all .2s;margin-top:.2rem;}
.gh-link:hover{background:rgba(23,212,212,.06);border-color:var(--bd2);}
.gh-soon{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--fm);font-size:.56rem;color:rgba(180,210,225,.85);padding:.22rem .55rem;border:1px solid rgba(61,90,111,.2);margin-top:.2rem;}
.gh-classified{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--fm);font-size:.56rem;color:#c89b3c;padding:.22rem .55rem;border:1px solid rgba(200,155,60,.22);background:rgba(200,155,60,.04);margin-top:.2rem;letter-spacing:.02em;}

.project-intro{display:grid;grid-template-columns:1fr auto;gap:1.2rem;align-items:end;margin:-1.1rem 0 1.3rem;padding:1rem 1.1rem;background:linear-gradient(135deg,rgba(23,212,212,.055),rgba(23,212,212,.012));border:1px solid var(--bd);border-left:2px solid var(--c);}
.project-intro p{font-size:.8rem;color:var(--g1);line-height:1.7;max-width:680px;}
.project-stats{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end;}
.project-stat{min-width:74px;padding:.52rem .62rem;background:rgba(3,8,15,.55);border:1px solid var(--bd);text-align:center;}
.project-stat strong{display:block;font-family:var(--fh);font-size:.92rem;color:var(--c);}
.project-stat span{display:block;font-family:var(--fm);font-size:.46rem;color:var(--g1);letter-spacing:.08em;text-transform:uppercase;margin-top:.08rem;}
.project-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:1rem;}
.project-filters{display:flex;gap:.35rem;flex-wrap:wrap;}
.pf-btn,.project-search{background:var(--s1);border:1px solid var(--bd);color:var(--g1);font-family:var(--fm);font-size:.54rem;letter-spacing:.07em;}
.pf-btn{padding:.42rem .64rem;cursor:pointer;transition:.2s;}
.pf-btn:hover,.pf-btn.active{color:var(--c);border-color:var(--bd2);background:rgba(23,212,212,.055);}
.project-search{padding:.43rem .7rem;min-width:215px;outline:none;}
.project-search:focus{border-color:var(--c);color:var(--w);}
.project-result{font-family:var(--fm);font-size:.52rem;color:var(--g1);margin:0 0 .7rem;}
.pjc{position:relative;}
.pjc[data-open-source="true"]::before{content:'OPEN SOURCE';position:absolute;top:.55rem;right:.55rem;z-index:4;background:rgba(3,8,15,.88);border:1px solid var(--bd2);padding:.18rem .4rem;font-family:var(--fm);font-size:.43rem;letter-spacing:.12em;color:var(--c);}
.pjc-media-stack{margin:-1.15rem -1.15rem 1rem;}
.pjc-media-stack .pjc-img{margin:0;}
.pjc-video{position:relative;aspect-ratio:16/9;background:#02060b;border-bottom:1px solid var(--bd);overflow:hidden;}
.pjc-video iframe{width:100%;height:100%;border:0;display:block;}
.pjc-video-label{position:absolute;left:.55rem;top:.5rem;z-index:2;padding:.18rem .42rem;background:rgba(3,8,15,.84);border:1px solid rgba(255,255,255,.14);font-family:var(--fm);font-size:.43rem;letter-spacing:.12em;color:#fff;pointer-events:none;}
.pjc-actions{display:flex;gap:.38rem;flex-wrap:wrap;align-items:center;margin-top:auto;padding-top:.75rem;}
.gh-link{margin-top:0;}
.gh-profile-link{display:inline-flex;align-items:center;gap:.4rem;text-decoration:none;color:var(--c);font-family:var(--fm);font-size:.56rem;border:1px solid var(--bd2);padding:.46rem .7rem;white-space:nowrap;transition:.2s;}
.gh-profile-link:hover{background:rgba(23,212,212,.07);}
.repo-name{font-family:var(--fm);font-size:.48rem;color:rgba(143,171,190,.72);margin-top:.28rem;overflow-wrap:anywhere;}
.no-projects{grid-column:1/-1;border:1px dashed var(--bd2);padding:2rem;text-align:center;color:var(--g1);font-family:var(--fm);font-size:.62rem;}
@media(max-width:700px){.project-intro{grid-template-columns:1fr;}.project-stats{justify-content:flex-start;}.project-search{width:100%;}.project-toolbar{align-items:stretch;}.gh-profile-link{width:max-content;}}


/* DATA-DRIVEN SECTION DASHBOARDS */
.section-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:-1.05rem 0 1.45rem;}
.insight-card{min-width:0;background:linear-gradient(145deg,rgba(9,24,40,.92),rgba(6,17,30,.94));border:1px solid var(--bd);padding:1rem 1.05rem;position:relative;overflow:hidden;}
.insight-card::before{content:'';position:absolute;left:0;top:0;width:46px;height:1px;background:var(--c);box-shadow:0 0 10px rgba(23,212,212,.4);}
.insight-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.55rem;}
.insight-kicker{font-family:var(--fm);font-size:.46rem;letter-spacing:.16em;color:var(--c);text-transform:uppercase;margin-bottom:.2rem;}
.insight-title{font-family:var(--fh);font-size:.68rem;font-weight:600;line-height:1.3;}
.insight-note{font-family:var(--fm);font-size:.47rem;color:rgba(143,171,190,.78);line-height:1.55;max-width:270px;text-align:right;}
.chart-wrap{position:relative;height:220px;width:100%;}
.chart-wrap.compact{height:205px;}
.chart-wrap canvas{max-width:100%;max-height:100%;}
.section-chart-intro{font-size:.78rem;color:var(--g1);line-height:1.7;margin:-.35rem 0 .85rem;}
@media(max-width:760px){.section-insights{grid-template-columns:1fr;margin-top:-.5rem;}.chart-wrap{height:210px;}.insight-note{text-align:left;max-width:none;}.insight-head{display:block;}.project-intro{grid-template-columns:1fr;}.project-stats{justify-content:flex-start;}.project-search{width:100%;}.project-toolbar{align-items:stretch;}.gh-profile-link{width:max-content;}}



/* STRICT SEARCH, INTERACTIVE FILTERS & QUANTIFIED DASHBOARDS */
.nav-tools{display:flex;align-items:center;gap:.55rem;}
.nav-search-wrap{position:relative;width:190px;flex:0 0 190px;}
.nav-search-wrap::before{content:'⌕';position:absolute;left:.65rem;top:50%;transform:translateY(-52%);font-family:var(--fm);font-size:.8rem;color:var(--c);pointer-events:none;}
.nav-search-input{width:100%;height:32px;padding:.35rem .65rem .35rem 1.7rem;border:1px solid var(--bd);background:rgba(6,17,30,.86);color:var(--w);font-family:var(--fm);font-size:.55rem;letter-spacing:.03em;outline:none;transition:.22s;}
.nav-search-input:focus{border-color:var(--c);box-shadow:0 0 0 2px rgba(23,212,212,.06);}
.nav-search-input::placeholder{color:rgba(143,171,190,.65);}
.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:-1rem 0 1.45rem;}
.metric-card{background:var(--s1);border:1px solid var(--bd);border-top:1px solid rgba(23,212,212,.34);padding:.85rem 1rem;min-width:0;}
.metric-card strong{display:block;font-family:var(--fh);font-size:1.05rem;color:var(--c);margin-bottom:.18rem;}
.metric-card span{font-family:var(--fm);font-size:.49rem;line-height:1.55;color:var(--g1);text-transform:uppercase;letter-spacing:.1em;}
.filter-state{display:none;align-items:center;justify-content:space-between;gap:.8rem;background:rgba(23,212,212,.04);border:1px solid var(--bd2);padding:.55rem .75rem;margin:-.45rem 0 1rem;font-family:var(--fm);font-size:.55rem;color:var(--g1);}
.filter-state.visible{display:flex;}
.filter-state strong{color:var(--c);font-weight:500;}
.filter-clear{border:1px solid var(--bd2);background:transparent;color:var(--c);padding:.25rem .55rem;font-family:var(--fm);font-size:.5rem;cursor:pointer;}
.filter-clear:hover{background:rgba(23,212,212,.08);}
.workload-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin:.55rem 0 .2rem;}
.workload-pill{font-family:var(--fm);font-size:.5rem;color:var(--c);padding:.18rem .45rem;border:1px solid var(--bd2);background:rgba(23,212,212,.035);}
.role-pill{font-family:var(--fm);font-size:.49rem;color:#b7d0df;padding:.18rem .42rem;border:1px solid rgba(85,167,255,.22);background:rgba(85,167,255,.035);}
.chart-wrap canvas{cursor:pointer;}
.insight-note em{color:var(--c);font-style:normal;}
.chart-assumption{font-family:var(--fm);font-size:.48rem;color:rgba(143,171,190,.75);line-height:1.65;margin-top:.5rem;}
.project-effort{font-family:var(--fm);font-size:.5rem;color:var(--c);margin:.45rem 0 0;letter-spacing:.05em;}
.search-page-lead{max-width:760px;color:var(--g1);font-size:.84rem;line-height:1.75;margin:-1.15rem 0 1rem;}
.search-page-box{display:flex;gap:.55rem;margin-bottom:1.2rem;}
.search-page-input{flex:1;min-width:0;padding:.72rem .85rem;border:1px solid var(--bd2);background:var(--s1);color:var(--w);font-family:var(--fm);font-size:.72rem;outline:none;}
.search-page-input:focus{border-color:var(--c);box-shadow:0 0 0 2px rgba(23,212,212,.06);}
.search-summary{font-family:var(--fm);font-size:.58rem;color:var(--g1);margin:0 0 1rem;}
.search-summary strong{color:var(--c);}
.search-groups{display:grid;gap:1rem;}
.search-group{background:rgba(6,17,30,.48);border:1px solid var(--bd);padding:1rem;}
.search-group-head{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.7rem;}
.search-group-title{font-family:var(--fh);font-size:.72rem;color:var(--w);}
.search-group-count{font-family:var(--fm);font-size:.5rem;color:var(--c);}
.search-result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:.6rem;}
.search-result-card{display:block;width:100%;text-align:left;background:var(--s1);border:1px solid var(--bd);padding:.8rem;cursor:pointer;color:inherit;transition:.22s;}
.search-result-card:hover{background:var(--s2);border-color:var(--bd2);transform:translateY(-1px);}
.search-result-type{font-family:var(--fm);font-size:.46rem;letter-spacing:.14em;color:var(--c);text-transform:uppercase;margin-bottom:.28rem;}
.search-result-title{font-family:var(--fh);font-size:.65rem;font-weight:600;line-height:1.35;margin-bottom:.35rem;}
.search-result-desc{font-size:.7rem;color:var(--g1);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.search-result-meta{font-family:var(--fm);font-size:.46rem;color:rgba(143,171,190,.75);margin-top:.45rem;}
.search-empty{border:1px dashed var(--bd2);padding:1.2rem;text-align:center;color:var(--g1);font-size:.78rem;line-height:1.7;}
.highlight-match{border-color:rgba(23,212,212,.5)!important;box-shadow:0 0 0 1px rgba(23,212,212,.08);}
@media(max-width:1120px){.nav-search-wrap{width:150px;flex-basis:150px}.nav-links a{padding:.4rem .42rem;font-size:.54rem;}}
@media(max-width:860px){nav{gap:.6rem}.nav-tools{margin-left:auto}.nav-search-wrap{width:min(48vw,230px);flex-basis:min(48vw,230px)}.hamburger{display:flex}.metric-strip{grid-template-columns:1fr}.search-page-box{flex-direction:column}.search-result-grid{grid-template-columns:1fr}}
@media(max-width:480px){.nav-search-wrap{width:54vw;flex-basis:54vw}.nav-search-input{font-size:.5rem}.metric-card{padding:.7rem .8rem}}

.tags{display:flex;flex-wrap:wrap;gap:.28rem;margin-top:.6rem;}
.tag{padding:.14rem .45rem;border:1px solid rgba(23,212,212,.18);font-family:var(--fm);font-size:.56rem;color:var(--g1);}

.sk-layout{display:grid;grid-template-columns:260px 1fr;gap:3rem;align-items:start;}
.sk-lbl{font-family:var(--fm);font-size:.55rem;color:rgba(180,210,225,.85);text-align:center;margin-top:.4rem;}

.sk-total{font-family:var(--fm);font-size:.58rem;color:rgba(23,212,212,.55);letter-spacing:.1em;margin-bottom:.6rem;margin-top:-.1rem;}
.sk-cat{font-family:var(--fh);font-size:.58rem;letter-spacing:.18em;color:var(--c);margin-bottom:.75rem;margin-top:1.3rem;}
.sk-cat:first-child{margin-top:0;}
.sk-i{margin-bottom:.55rem;}
.sk-h{display:flex;justify-content:space-between;margin-bottom:.2rem;font-family:var(--fm);font-size:.6rem;color:var(--g1);}
.sk-h span:last-child{color:var(--c);}
.sk-tr{height:1px;background:rgba(255,255,255,.06);}
.sk-fi{height:100%;background:linear-gradient(to right,var(--c),var(--c2));width:0;transition:width 1.4s cubic-bezier(.4,0,.2,1);}

.al{display:grid;grid-template-columns:240px 1fr;gap:2.8rem;align-items:start;}
.ps{display:flex;flex-direction:column;gap:.8rem;align-items:center;}
.pf-outer{position:relative;width:220px;}
.pf-outer img{width:100%;height:270px;object-fit:cover;object-position:top;display:block;}
.pf-border{position:absolute;inset:0;border:1px solid var(--c);pointer-events:none;}
.pf-corner{position:absolute;width:11px;height:11px;border-color:var(--c);border-style:solid;}
.pc-tl{top:0;left:0;border-width:2px 0 0 2px;}.pc-tr{top:0;right:0;border-width:2px 2px 0 0;}
.pc-bl{bottom:0;left:0;border-width:0 0 2px 2px;}.pc-br{bottom:0;right:0;border-width:0 2px 2px 0;}
.pf-label{font-family:var(--fm);font-size:.52rem;color:var(--c);letter-spacing:.14em;padding:.22rem .5rem;border:1px solid var(--bd);background:rgba(23,212,212,.03);text-align:center;}
.seek{padding:.5rem .9rem;border:1px solid rgba(23,212,212,.3);background:rgba(23,212,212,.04);font-family:var(--fm);font-size:.56rem;color:var(--c);text-align:center;letter-spacing:.05em;line-height:1.6;}
.bp{color:rgba(200,220,230,.88);font-size:.86rem;color:var(--g1);line-height:1.85;margin-bottom:.85rem;}
.bp strong{color:var(--w);}
.vb{margin-top:1.6rem;background:rgba(23,212,212,.025);border:1px solid var(--bd);padding:1.5rem;position:relative;overflow:hidden;}
.vb::before{content:'"';position:absolute;top:-1rem;left:.5rem;font-size:5.5rem;color:var(--c);opacity:.05;font-family:serif;line-height:1;}
.vbt{font-family:var(--fh);font-size:.6rem;letter-spacing:.18em;color:var(--c);margin-bottom:.85rem;}
.vb p{font-size:.83rem;color:var(--g1);line-height:1.85;margin-bottom:.65rem;}
.vb p strong{color:var(--w);}

.passion-layout{display:grid;grid-template-columns:1fr 230px;gap:2.5rem;}
.pass-g{display:grid;gap:.85rem;}
.passc{background:var(--s1);border:1px solid var(--bd);padding:1.2rem;transition:all .28s;}
.passc:hover{background:var(--s2);border-color:var(--bd2);}
.pi{font-family:var(--fm);font-size:.58rem;color:var(--c);letter-spacing:.15em;margin-bottom:.45rem;padding:.15rem .45rem;border:1px solid var(--bd);display:inline-block;background:rgba(23,212,212,.04);}
.psince{font-family:var(--fm);font-size:.54rem;letter-spacing:.18em;color:var(--c);margin-bottom:.28rem;}
.ptitle{font-family:var(--fh);font-size:.72rem;font-weight:600;margin-bottom:.45rem;}
.pdesc{font-size:.8rem;color:var(--g1);line-height:1.72;}

.hud-box{position:sticky;top:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;}
.hud-ring-wrap{position:relative;width:185px;height:185px;}
.hud-ring-wrap svg{position:absolute;inset:0;}
.hud-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.hc-id{font-family:var(--fh);font-size:.45rem;color:var(--c);letter-spacing:.12em;}
.hc-st{font-family:var(--fm);font-size:.46rem;color:var(--g1);animation:blink 3.5s infinite;}
.hud-data{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.35rem;}
.hd-item{background:var(--s1);border:1px solid var(--bd);padding:.45rem;text-align:center;}
.hd-v{font-family:var(--fh);font-size:.65rem;color:var(--c);}
.hd-k{font-family:var(--fm);font-size:.46rem;color:rgba(180,210,225,.85);letter-spacing:.1em;}
.hud-log{font-family:var(--fm);font-size:.5rem;color:rgba(180,210,225,.85);text-align:center;line-height:1.9;margin-top:.2rem;}

.cl{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem;}
.cgt{font-family:var(--fh);font-size:.58rem;letter-spacing:.18em;color:var(--c);margin-bottom:.75rem;}
.ci{display:flex;align-items:center;gap:.65rem;padding:.68rem .85rem;background:var(--s1);border:1px solid var(--bd);margin-bottom:.4rem;transition:all .25s;text-decoration:none;color:var(--g1);}
.ci:hover{background:var(--s2);border-color:var(--bd2);color:var(--c2);}
.ci-lbl{font-family:var(--fm);font-size:.56rem;min-width:55px;}
.ci-val{font-size:.82rem;}
.ci svg{color:var(--c);flex-shrink:0;}
.lc{padding:1rem;background:var(--s1);border:1px solid var(--bd);text-align:center;margin-bottom:.5rem;transition:.25s;}
.lc:hover{background:var(--s2);}
.lcf{font-size:1.6rem;margin-bottom:.25rem;}
.lcc{font-family:var(--fh);font-size:.62rem;letter-spacing:.12em;color:var(--c);margin-bottom:.18rem;}
.lcd{font-family:var(--fm);font-size:.6rem;color:var(--g1);}

#page-home{background:var(--bg);}
#bgc{position:fixed;inset:0;width:100%;height:100%;z-index:0;}
.hero{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 58px);text-align:center;padding:2rem;}
.htag{font-family:var(--fm);font-size:.6rem;letter-spacing:.32em;color:var(--c);text-transform:uppercase;margin-bottom:1.3rem;opacity:0;animation:fadeUp .7s .3s forwards;}
.hname{font-family:var(--fh);font-size:clamp(2.5rem,8vw,6.2rem);font-weight:900;line-height:.92;margin-bottom:.85rem;opacity:0;animation:fadeUp .8s .5s forwards;}
.hname .hl{color:var(--c);}
.hsub{font-family:var(--fm);font-size:clamp(.58rem,1.2vw,.78rem);color:var(--g1);letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.7rem;opacity:0;animation:fadeUp .8s .7s forwards;}
.hbadges{display:flex;gap:.45rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.6rem;opacity:0;animation:fadeUp .8s .88s forwards;}
.hbadge{padding:.26rem .7rem;border:1px solid var(--bd);font-family:var(--fm);font-size:.55rem;color:var(--g1);background:rgba(23,212,212,.03);}
.hcta{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;opacity:0;animation:fadeUp .8s 1.04s forwards;}
.btn{padding:.6rem 1.5rem;font-family:var(--fm);font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .28s;text-decoration:none;border:none;display:inline-block;}
.btn-p{background:var(--c);color:#030810;font-weight:700;}
.btn-p:hover{background:var(--c2);box-shadow:0 0 22px rgba(23,212,212,.35);}
.btn-o{background:transparent;color:var(--w);border:1px solid rgba(214,234,248,.18);}
.btn-o:hover{border-color:var(--c);color:var(--c);}
.sh-hint{display:flex;flex-direction:column;align-items:center;gap:.3rem;margin-top:1.4rem;opacity:0;animation:fadeUp 1s 1.3s forwards;}
.sh-hint span{font-family:var(--fm);font-size:.5rem;letter-spacing:.28em;color:rgba(180,210,225,.85);}
.sh-line{width:1px;height:30px;background:linear-gradient(to bottom,var(--c),transparent);animation:pulse 2s infinite;}

.mq{overflow:hidden;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);padding:.75rem 0;background:rgba(23,212,212,.012);}
.mq-i{display:flex;gap:2.5rem;animation:marquee 30s linear infinite;white-space:nowrap;}
.mq-item{font-family:var(--fm);font-size:.54rem;letter-spacing:.18em;color:rgba(180,210,225,.85);text-transform:uppercase;flex-shrink:0;}
.mq-item span{color:var(--c);}

.pfoot{text-align:center;padding:1.6rem 0 0;border-top:1px solid var(--bd);margin-top:2.5rem;font-family:var(--fm);font-size:.52rem;color:rgba(160,190,210,.70);letter-spacing:.14em;}

@media(max-width:860px){
  .nav-links{display:none;position:absolute;top:58px;left:0;width:100%;background:rgba(3,8,15,.98);flex-direction:column;border-bottom:1px solid var(--bd);padding:.5rem 1rem;z-index:999;}
  .nav-links.open{display:flex;}
  .hamburger{display:flex;}
  .al{grid-template-columns:1fr;}.ps{flex-direction:row;flex-wrap:wrap;justify-content:center;}
  .sk-layout{grid-template-columns:1fr;}
  .passion-layout{grid-template-columns:1fr;}
  .hud-box{position:relative;margin:0 auto 1.5rem;}
  .cl{grid-template-columns:1fr;}
}
@media(max-width:580px){
  .pc{padding:1.4rem .9rem 3rem;}
  .pg{grid-template-columns:1fr;}
  .hname{font-size:2.4rem;}
  .er{flex-direction:column;}
}

/* V5 — unified analytics and corporate aerospace homepage preview */
.chart-wrap.tall{height:360px;}
.skill-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;}
.skill-group{background:linear-gradient(145deg,rgba(9,24,40,.92),rgba(6,17,30,.94));border:1px solid var(--bd);padding:1rem 1.05rem;position:relative;overflow:hidden;}
.skill-group::before{content:'';position:absolute;left:0;top:0;width:42px;height:1px;background:var(--c);box-shadow:0 0 10px rgba(23,212,212,.35);}
.skill-group-head{display:flex;justify-content:space-between;gap:.8rem;align-items:baseline;margin-bottom:.8rem;}
.skill-group-title{font-family:var(--fh);font-size:.68rem;color:var(--w);line-height:1.3;}
.skill-group-total{font-family:var(--fm);font-size:.52rem;color:var(--c);white-space:nowrap;}
.skill-row{margin-bottom:.65rem;}
.skill-row:last-child{margin-bottom:0;}
.skill-row-head{display:flex;justify-content:space-between;gap:.7rem;font-family:var(--fm);font-size:.56rem;color:var(--g1);margin-bottom:.25rem;}
.skill-row-head span:last-child{color:var(--c);white-space:nowrap;}
.skill-track{height:3px;background:rgba(255,255,255,.055);overflow:hidden;}
.skill-fill{height:100%;width:0;background:linear-gradient(90deg,var(--c),#6be5ff);box-shadow:0 0 8px rgba(23,212,212,.28);transition:width 1.1s cubic-bezier(.2,.8,.2,1);}
.skill-group.in .skill-fill{width:var(--skill-width);}

#page-home{background:#02070d;overflow-y:auto;}
#page-home::before{content:'';position:fixed;inset:58px 0 0;pointer-events:none;background:radial-gradient(circle at 23% 38%,rgba(11,83,111,.22),transparent 31%),linear-gradient(90deg,rgba(2,7,13,.92),rgba(2,7,13,.45));z-index:0;}
.home-stage{position:relative;z-index:2;min-height:calc(100vh - 58px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);max-width:1440px;margin:0 auto;border-left:1px solid rgba(125,183,213,.08);border-right:1px solid rgba(125,183,213,.08);overflow:hidden;}
.home-stage::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(78,139,169,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(78,139,169,.045) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,#000,transparent 75%);}
.home-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,6vw,6.5rem) clamp(1.4rem,5.4vw,5.6rem) 3rem;}
.home-topline{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.8rem;margin-bottom:clamp(2rem,5vh,4rem);border-bottom:1px solid rgba(132,180,207,.18);font-family:var(--fm);font-size:.5rem;letter-spacing:.16em;color:rgba(183,208,223,.72);}
.home-eyebrow{display:flex;align-items:center;gap:.55rem;font-family:var(--fm);font-size:.57rem;letter-spacing:.2em;text-transform:uppercase;color:var(--c);margin-bottom:1.05rem;}
.home-live-dot{width:6px;height:6px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c);animation:pulse 1.7s infinite;}
.home-title{font-family:var(--fh);font-size:clamp(2.8rem,6.2vw,6.7rem);line-height:.91;letter-spacing:-.048em;font-weight:800;margin:0 0 1.35rem;max-width:850px;}
.home-title span{display:block;}
.home-accent{color:var(--c);}
.home-outline{color:rgba(224,240,250,.06);-webkit-text-stroke:1px rgba(190,222,239,.48);}
.home-lead{max-width:720px;color:rgba(201,222,235,.82);font-size:clamp(.88rem,1.3vw,1.02rem);line-height:1.78;margin-bottom:1.2rem;}
.home-role-line{font-family:var(--fm);font-size:.58rem;letter-spacing:.1em;color:rgba(174,203,220,.8);min-height:1.2rem;margin-bottom:1.7rem;}
.home-role-line #tw-prefix{color:rgba(174,203,220,.55);}
.home-role-line #tw-text,.home-role-line #tw-cursor{color:var(--c);}
.home-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-bottom:2rem;}
.home-cv{display:inline-flex;align-items:center;gap:.45rem;}
.home-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(132,180,207,.15);border-bottom:1px solid rgba(132,180,207,.15);margin-bottom:1.25rem;}
.home-metric{padding:.9rem .75rem .85rem 0;border-right:1px solid rgba(132,180,207,.13);}
.home-metric:not(:first-child){padding-left:.75rem;}
.home-metric:last-child{border-right:0;}
.home-metric strong{display:block;font-family:var(--fh);font-size:clamp(.9rem,1.6vw,1.3rem);color:var(--w);margin-bottom:.15rem;}
.home-metric span{font-family:var(--fm);font-size:.46rem;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:rgba(165,195,213,.66);}
.home-opportunity{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:center;padding:.85rem 1rem;border:1px solid rgba(23,212,212,.23);background:linear-gradient(90deg,rgba(23,212,212,.07),rgba(23,212,212,.015));max-width:720px;}
.home-opportunity-label{display:block;font-family:var(--fm);font-size:.45rem;letter-spacing:.19em;color:var(--c);margin-bottom:.2rem;}
.home-opportunity strong{font-family:var(--fh);font-size:.61rem;color:var(--w);}
.home-opportunity p{font-family:var(--fm);font-size:.52rem;line-height:1.7;color:rgba(194,217,230,.78);}
.home-opportunity p span{color:var(--c);}
.home-visual{position:relative;min-height:650px;background-image:none;background-size:cover;background-position:center 35%;border-left:1px solid rgba(132,180,207,.16);overflow:hidden;}
.home-visual-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,7,13,.7),rgba(2,7,13,.03) 38%,rgba(2,7,13,.18)),linear-gradient(0deg,rgba(2,7,13,.92),transparent 42%,rgba(2,7,13,.28));}
.home-visual::after{content:'';position:absolute;left:0;right:0;height:1px;top:20%;background:linear-gradient(90deg,transparent,var(--c),transparent);box-shadow:0 0 16px rgba(23,212,212,.7);opacity:.55;animation:homeScan 5.5s ease-in-out infinite;}
@keyframes homeScan{0%,100%{transform:translateY(-120px);opacity:0}15%,80%{opacity:.55}50%{transform:translateY(520px)}}
.home-visual-head{position:absolute;z-index:2;left:1.2rem;right:1.2rem;top:1.15rem;display:flex;justify-content:space-between;gap:1rem;font-family:var(--fm);font-size:.46rem;letter-spacing:.14em;color:rgba(226,241,249,.78);}
.home-target{position:absolute;z-index:2;left:51%;top:34%;width:150px;height:150px;transform:translate(-50%,-50%);opacity:.68;}
.home-target i{position:absolute;inset:0;border:1px solid rgba(23,212,212,.48);border-radius:50%;animation:spin 18s linear infinite;}
.home-target i:nth-child(2){inset:18px;border-style:dashed;animation-direction:reverse;animation-duration:12s;}
.home-target i:nth-child(3){inset:46px;border-color:rgba(255,255,255,.42);}
.home-target b{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:var(--c);box-shadow:0 0 13px var(--c);transform:translate(-50%,-50%);}
.home-data-card{position:absolute;z-index:3;width:min(220px,42%);padding:.72rem .8rem;background:rgba(2,8,15,.76);border:1px solid rgba(171,215,235,.22);backdrop-filter:blur(8px);box-shadow:0 10px 35px rgba(0,0,0,.22);}
.home-data-card span{display:block;font-family:var(--fm);font-size:.43rem;letter-spacing:.18em;color:var(--c);margin-bottom:.25rem;}
.home-data-card strong{display:block;font-family:var(--fh);font-size:.6rem;color:#fff;margin-bottom:.2rem;}
.home-data-card small{font-family:var(--fm);font-size:.45rem;color:rgba(200,223,235,.72);}
.home-data-a{left:1rem;bottom:26%;animation:homeFloat 5s ease-in-out infinite;}
.home-data-b{right:1rem;top:22%;animation:homeFloat 5s 1.1s ease-in-out infinite;}
@keyframes homeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.home-image-caption{position:absolute;z-index:3;left:1.15rem;right:1.15rem;bottom:1.2rem;padding-top:.8rem;border-top:1px solid rgba(220,239,248,.22);}
.home-image-caption span{display:block;font-family:var(--fm);font-size:.44rem;letter-spacing:.18em;color:var(--c);margin-bottom:.25rem;}
.home-image-caption strong{font-family:var(--fh);font-size:.72rem;color:#fff;}
.home-capability-strip{position:relative;z-index:3;max-width:1440px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(132,180,207,.13);border-bottom:0;background:#050d16;}
.home-capability-strip button{appearance:none;border:0;border-right:1px solid rgba(132,180,207,.13);background:transparent;text-align:left;padding:1rem 1.1rem;color:inherit;cursor:pointer;transition:.25s;}
.home-capability-strip button:last-child{border-right:0;}
.home-capability-strip button:hover{background:rgba(23,212,212,.055);transform:translateY(-2px);}
.home-capability-strip span{display:block;font-family:var(--fm);font-size:.43rem;color:var(--c);letter-spacing:.16em;margin-bottom:.35rem;}
.home-capability-strip strong{display:block;font-family:var(--fh);font-size:.64rem;color:var(--w);margin-bottom:.25rem;}
.home-capability-strip small{font-family:var(--fm);font-size:.46rem;color:rgba(174,202,218,.66);}
@media(max-width:980px){.home-stage{grid-template-columns:1fr;}.home-copy{min-height:calc(100vh - 58px);}.home-visual{min-height:620px;border-left:0;border-top:1px solid rgba(132,180,207,.16);}.home-capability-strip{grid-template-columns:repeat(2,1fr);}.home-capability-strip button:nth-child(2){border-right:0;}.home-capability-strip button:nth-child(-n+2){border-bottom:1px solid rgba(132,180,207,.13);}}
@media(max-width:760px){.chart-wrap.tall{height:330px;}.skill-groups{grid-template-columns:1fr;}.home-copy{padding:2.4rem 1rem 2rem;}.home-topline{margin-bottom:2.3rem;}.home-title{font-size:clamp(2.65rem,14vw,4.6rem);}.home-metrics{grid-template-columns:repeat(2,1fr);}.home-metric:nth-child(2){border-right:0;}.home-metric:nth-child(-n+2){border-bottom:1px solid rgba(132,180,207,.13);}.home-opportunity{grid-template-columns:1fr;gap:.55rem;}.home-visual{min-height:520px;background-position:center 30%;}.home-data-card{width:46%;}.home-target{width:120px;height:120px;}.home-capability-strip{grid-template-columns:1fr;}.home-capability-strip button{border-right:0;border-bottom:1px solid rgba(132,180,207,.13)!important;}.home-capability-strip button:last-child{border-bottom:0!important;}}

/* ========================================================================== 
   ORBITAL EXPERIENCE — REAL-TIME WEBGL NAVIGATION
   ========================================================================== */
:root{
  --world-accent:#24e5df;
  --world-atmosphere:#0aa7b7;
  --fh:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --fb:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --fm:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
body[data-cosmic-page="home"]{--c:#24e5df;--c2:#72fff5;--bd:rgba(36,229,223,.14);--bd2:rgba(36,229,223,.34)}
body[data-cosmic-page="about"]{--c:#b8c7d4;--c2:#edf7ff;--bd:rgba(184,199,212,.14);--bd2:rgba(184,199,212,.34)}
body[data-cosmic-page="education"]{--c:#4ac8ff;--c2:#8ee8ff;--bd:rgba(74,200,255,.14);--bd2:rgba(74,200,255,.34)}
body[data-cosmic-page="experience"]{--c:#ff765d;--c2:#ffb094;--bd:rgba(255,118,93,.14);--bd2:rgba(255,118,93,.34)}
body[data-cosmic-page="projects"]{--c:#f4b66d;--c2:#ffe0a6;--bd:rgba(244,182,109,.14);--bd2:rgba(244,182,109,.34)}
body[data-cosmic-page="skills"]{--c:#f3d78a;--c2:#fff1b6;--bd:rgba(243,215,138,.14);--bd2:rgba(243,215,138,.34)}
body[data-cosmic-page="passion"]{--c:#7893ff;--c2:#aebdff;--bd:rgba(120,147,255,.14);--bd2:rgba(120,147,255,.34)}
body[data-cosmic-page="student-jobs"]{--c:#f2b47c;--c2:#ffd0a8;--bd:rgba(242,180,124,.14);--bd2:rgba(242,180,124,.34)}
body[data-cosmic-page="contact"]{--c:#dbe8f2;--c2:#fff;--bd:rgba(219,232,242,.14);--bd2:rgba(219,232,242,.34)}
body[data-cosmic-page="search"]{--c:#80e5e0;--c2:#c1fffb;--bd:rgba(128,229,224,.14);--bd2:rgba(128,229,224,.34)}
html,body{background:#01040b}
body::before{background-image:radial-gradient(circle at 50% 120%,rgba(29,96,130,.14),transparent 54%),linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);background-size:auto,72px 72px,72px 72px;opacity:.65}
body::after{display:none}
#bgc,#wormhole{display:none!important}
#space-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block;touch-action:pan-y;background:#01040b;cursor:default}
#space-canvas.is-interactive{cursor:pointer}
.page{z-index:2;background:linear-gradient(90deg,rgba(1,4,11,.91) 0%,rgba(1,4,11,.75) 48%,rgba(1,4,11,.49) 100%);opacity:0;transform:translate3d(0,18px,0) scale(.992);transition:opacity .62s cubic-bezier(.2,.75,.2,1),transform .72s cubic-bezier(.2,.75,.2,1)}
.page.active{display:block;opacity:1;transform:none;animation:planetArrival .82s cubic-bezier(.2,.75,.2,1) both}
@keyframes planetArrival{0%{opacity:0;filter:blur(10px);transform:translate3d(0,26px,0) scale(.985)}45%{filter:blur(2px)}100%{opacity:1;filter:none;transform:none}}
.pc{max-width:1180px;padding-left:clamp(1rem,6vw,5rem);padding-right:clamp(1rem,9vw,7.5rem)}
.pc::before{content:'';position:fixed;inset:58px 0 0;pointer-events:none;background:radial-gradient(circle at 82% 32%,color-mix(in srgb,var(--c) 13%,transparent),transparent 34%);opacity:.72;z-index:-1;transition:background .8s}
nav{background:rgba(1,4,11,.68);border-bottom-color:rgba(255,255,255,.08);box-shadow:0 8px 45px rgba(0,0,0,.24);backdrop-filter:blur(24px) saturate(1.25)}
.nav-links a{transition:color .25s,border-color .25s,background .25s,transform .25s}
.nav-links a:hover{transform:translateY(-1px)}
.nav-links a.active{box-shadow:inset 0 -1px 0 var(--c),0 0 18px color-mix(in srgb,var(--c) 16%,transparent)}

.space-hud{position:fixed;right:1.45rem;top:74px;z-index:410;display:flex;align-items:center;gap:.55rem;padding:.42rem .58rem;border:1px solid rgba(255,255,255,.09);background:rgba(1,4,11,.42);backdrop-filter:blur(14px);pointer-events:none}
.space-hud span{font-family:var(--fm);font-size:.44rem;letter-spacing:.13em;color:var(--c)}
.space-hud strong{font-family:var(--fh);font-size:.56rem;font-weight:600;color:rgba(235,247,255,.82)}
.space-transition{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(circle at 50% 50%,transparent 0 22%,rgba(1,4,11,.16) 46%,rgba(1,4,11,.72) 100%)}
.space-transition[hidden]{display:none}
.space-transition.active{opacity:1}
.space-transition-vignette{position:absolute;inset:-15%;background:repeating-radial-gradient(ellipse at center,transparent 0 6px,rgba(255,255,255,.025) 7px 8px);transform:scale(.75);opacity:0;animation:warpTunnel 1.1s ease-in-out infinite alternate}
.space-transition.active .space-transition-vignette{opacity:.85}
@keyframes warpTunnel{from{transform:scale(.68) rotate(0deg);filter:blur(0)}to{transform:scale(1.32) rotate(8deg);filter:blur(2px)}}
.space-transition-copy{position:relative;display:grid;justify-items:center;text-align:center;gap:.38rem;padding:1.3rem 1.55rem;min-width:min(420px,82vw);background:rgba(1,4,11,.58);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(18px);clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px)}
.space-transition-kicker{font-family:var(--fm);font-size:.48rem;letter-spacing:.24em;color:var(--c)}
.space-transition-copy strong{font-family:var(--fh);font-size:clamp(1.65rem,5vw,3.2rem);letter-spacing:-.04em;color:#f4fbff}
.space-transition-copy>span:last-of-type{font-family:var(--fm);font-size:.48rem;letter-spacing:.12em;color:rgba(215,235,246,.66)}
.space-progress{width:100%;height:2px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:.38rem}
.space-progress i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,transparent,var(--c),#fff);box-shadow:0 0 12px var(--c)}
.space-traveling .page{filter:saturate(.78) blur(1px);transform:scale(.985)}

.orbit-rail{position:fixed;z-index:420;right:1.05rem;top:50%;transform:translateY(-50%);display:grid;gap:.28rem;padding:.72rem .52rem;background:rgba(1,4,11,.42);border:1px solid rgba(255,255,255,.075);backdrop-filter:blur(16px);border-radius:999px}
.orbit-rail-line{position:absolute;top:1.3rem;bottom:1.3rem;left:50%;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.13),transparent);z-index:-1}
.orbit-rail button{position:relative;width:30px;height:30px;border:0;background:transparent;color:rgba(210,231,242,.55);cursor:pointer;display:grid;place-items:center;border-radius:50%;transition:transform .25s,color .25s,background .25s}
.orbit-rail button i{position:absolute;width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(255,255,255,.03)}
.orbit-rail button span,.orbit-rail button b{position:absolute;right:38px;white-space:nowrap;opacity:0;transform:translateX(8px);pointer-events:none;transition:.22s;background:rgba(1,4,11,.86);border:1px solid rgba(255,255,255,.1);padding:.28rem .42rem}
.orbit-rail button span{font-family:var(--fm);font-size:.4rem;letter-spacing:.12em;color:var(--c);bottom:14px;border-bottom:0}
.orbit-rail button b{font-family:var(--fh);font-size:.5rem;font-weight:600;color:#eef8ff;top:14px;border-top:0}
.orbit-rail button:hover span,.orbit-rail button:hover b{opacity:1;transform:none}
.orbit-rail button:hover{color:#fff;transform:scale(1.18)}
.orbit-rail button.active{color:var(--c);background:color-mix(in srgb,var(--c) 12%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--c) 36%,transparent)}
.orbit-rail button.active i{width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 10%,transparent),0 0 14px var(--c)}

.home-stage{min-height:calc(100vh - 58px);max-width:none;width:100%;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);border:0;background:linear-gradient(90deg,rgba(1,4,11,.88) 0%,rgba(1,4,11,.56) 48%,rgba(1,4,11,.08) 100%)}
.home-stage::before{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:68px 68px;mask-image:linear-gradient(90deg,#000,transparent 82%)}
.home-copy{padding-left:clamp(1.4rem,7vw,7.5rem);max-width:960px}
.home-title{font-size:clamp(3.2rem,7.25vw,7.7rem);text-shadow:0 22px 60px rgba(0,0,0,.36)}
.home-accent{color:var(--c);text-shadow:0 0 40px color-mix(in srgb,var(--c) 22%,transparent)}
.home-outline{color:rgba(224,240,250,.035);-webkit-text-stroke:1px rgba(220,239,250,.36)}
.home-lead{font-size:clamp(.9rem,1.35vw,1.08rem);max-width:760px}
.home-visual{min-height:660px;background:none!important;border-left:1px solid rgba(255,255,255,.09);overflow:hidden;isolation:isolate;pointer-events:none}
.orbital-console::before{content:'';position:absolute;inset:8% 3% 7%;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 50% 43%,color-mix(in srgb,var(--c) 10%,transparent),transparent 43%);clip-path:polygon(26px 0,100% 0,100% calc(100% - 26px),calc(100% - 26px) 100%,0 100%,0 26px)}
.orbital-console-grid{position:absolute;inset:8% 3% 7%;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:38px 38px;mask-image:radial-gradient(circle at center,#000 0,transparent 72%)}
.orbital-system-mark{position:absolute;left:50%;top:45%;width:min(31vw,420px);aspect-ratio:1;transform:translate(-50%,-50%);opacity:.54}
.orbital-system-mark i{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;inset:8%;animation:orbitConsole 22s linear infinite}
.orbital-system-mark i:nth-child(2){inset:20%;border-style:dashed;animation-duration:17s;animation-direction:reverse}
.orbital-system-mark i:nth-child(3){inset:32%;border-color:color-mix(in srgb,var(--c) 42%,transparent);animation-duration:11s}
.orbital-system-mark i:nth-child(4){inset:43%;border-color:rgba(255,255,255,.28);animation-duration:7s;animation-direction:reverse}
.orbital-system-mark b{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 20px var(--c),0 0 65px color-mix(in srgb,var(--c) 58%,transparent)}
@keyframes orbitConsole{to{transform:rotate(360deg)}}
.planet-deck{position:absolute;z-index:5;left:6%;right:6%;top:49%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.48rem;pointer-events:auto}
.planet-deck button{appearance:none;min-width:0;text-align:left;padding:.72rem .78rem;border:1px solid rgba(255,255,255,.1);background:rgba(1,4,11,.56);backdrop-filter:blur(10px);color:#eaf7ff;cursor:pointer;transition:.25s;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}
.planet-deck button:hover{transform:translateY(-3px);border-color:var(--c);background:color-mix(in srgb,var(--c) 10%,rgba(1,4,11,.72));box-shadow:0 14px 35px rgba(0,0,0,.32)}
.planet-deck span{display:block;font-family:var(--fm);font-size:.42rem;letter-spacing:.16em;color:var(--c);margin-bottom:.25rem}
.planet-deck strong{display:block;font-family:var(--fh);font-size:.63rem;margin-bottom:.18rem}
.planet-deck small{display:block;font-family:var(--fm);font-size:.43rem;line-height:1.5;color:rgba(200,222,234,.66)}
.home-data-card{background:rgba(1,4,11,.54);border-color:rgba(255,255,255,.11);box-shadow:0 18px 50px rgba(0,0,0,.28);pointer-events:none}
.home-data-a{left:6%;bottom:17%}.home-data-b{right:6%;top:15%}
.home-image-caption{left:6%;right:6%;bottom:8%}
.home-capability-strip{background:rgba(1,4,11,.76);backdrop-filter:blur(20px);border-color:rgba(255,255,255,.08)}
.home-capability-strip button{border-color:rgba(255,255,255,.08)}

.ec,.pjc,.insight-card,.metric-card,.skill-group,.search-group,.passc,.ccard{background:linear-gradient(145deg,rgba(7,15,27,.82),rgba(2,7,15,.68));border-color:rgba(255,255,255,.075);backdrop-filter:blur(16px) saturate(1.1);box-shadow:0 16px 50px rgba(0,0,0,.16)}
.ec:hover,.pjc:hover,.skill-group:hover{border-color:var(--bd2);box-shadow:0 22px 60px rgba(0,0,0,.26),0 0 35px color-mix(in srgb,var(--c) 7%,transparent);transform:translateY(-3px)}
.insight-card::after,.metric-card::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0 44%,rgba(255,255,255,.025) 50%,transparent 56%);transform:translateX(-120%);transition:transform .9s}
.insight-card:hover::after,.metric-card:hover::after{transform:translateX(120%)}
.chart-wrap canvas{filter:drop-shadow(0 12px 24px rgba(0,0,0,.18))}
.btn{transition:transform .25s,box-shadow .25s,background .25s,border-color .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 24px color-mix(in srgb,var(--c) 15%,transparent)}
.noscript-warning{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:10000;background:#260d0d;color:#fff;border:1px solid #ff6658;padding:1rem;font-family:ui-monospace,monospace}

@media(max-width:1180px){.orbit-rail{display:none}.space-hud{right:.8rem}.pc{padding-right:clamp(1rem,5vw,3rem)}}
@media(max-width:980px){.home-stage{grid-template-columns:1fr}.home-copy{background:linear-gradient(180deg,rgba(1,4,11,.7),rgba(1,4,11,.38));min-height:calc(100vh - 58px)}.home-visual{min-height:600px;border-left:0;border-top:1px solid rgba(255,255,255,.08)}.orbital-system-mark{width:min(72vw,430px)}.planet-deck{top:48%}}
@media(max-width:760px){.space-hud{top:66px;right:.55rem}.space-hud strong{display:none}.home-title{font-size:clamp(3rem,15vw,5.3rem)}.home-visual{min-height:660px}.planet-deck{grid-template-columns:1fr;top:36%;left:5%;right:5%}.orbital-system-mark{top:27%;width:75vw}.home-data-card{display:none}.home-image-caption{bottom:5%}.page{background:linear-gradient(180deg,rgba(1,4,11,.84),rgba(1,4,11,.66))}.space-transition-copy{min-width:86vw}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.space-transition-vignette{display:none}.page{filter:none!important;transform:none!important}}

/* ========================================================================== 
   V7 — CINEMATIC COSMOS / CORPORATE SCIENCE DIRECTION
   Real photographic assets, restrained motion and editorial navigation.
   ========================================================================== */
:root{
  --bg:#050814;--s1:rgba(9,16,31,.78);--s2:rgba(13,24,43,.86);--s3:#142945;
  --c:#77cfff;--c2:#b9e6ff;--w:#f4f8fc;--g1:#b8c5d4;--g2:#6d7f94;
  --bd:rgba(255,255,255,.105);--bd2:rgba(125,207,255,.38);
  --page-accent:#77cfff;
  --fh:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --fb:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --fm:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}
html,body{background:#050814;color:var(--w)}
body::before,body::after{display:none!important}
::-webkit-scrollbar{width:7px}
::-webkit-scrollbar-track{background:#070b15}
::-webkit-scrollbar-thumb{background:rgba(171,202,224,.35);border-radius:10px}

#space-canvas,.space-hud{display:none!important}
#cosmos-stage{position:fixed;inset:0;z-index:0;overflow:hidden;background:#03050c;pointer-events:none;isolation:isolate}
.cosmos-layer-a{background-image:url("/images/cosmos/home-cosmos.webp");background-position:center center}
.cosmos-layer{position:absolute;inset:-26px;background-size:cover;background-repeat:no-repeat;opacity:0;transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0) scale(1.075);filter:saturate(.94) contrast(1.06);transition:opacity .8s ease,transform 1.2s cubic-bezier(.2,.7,.2,1),filter .8s ease;will-change:opacity,transform}
.cosmos-layer::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,16,.82) 0%,rgba(2,6,16,.48) 45%,rgba(2,6,16,.13) 75%,rgba(2,6,16,.3) 100%),linear-gradient(180deg,rgba(2,5,13,.2),rgba(2,5,13,.06) 60%,rgba(2,5,13,.68));}
.cosmos-layer.is-active{opacity:1;animation:cosmosKenBurns 24s ease-in-out infinite alternate}
.cosmos-layer.is-arriving{transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0) scale(1.015);filter:saturate(1.04) contrast(1.08)}
.cosmos-layer.is-departing{opacity:0;transform:translate3d(calc(var(--parallax-x,0) - 22px),var(--parallax-y,0),0) scale(1.13);filter:blur(5px) saturate(.72)}
.cosmos-grain{position:absolute;inset:0;opacity:.06;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E")}
.cosmos-light{position:absolute;inset:0;background:radial-gradient(circle at 70% 45%,color-mix(in srgb,var(--page-accent) 10%,transparent),transparent 36%);transition:background .8s}
@keyframes cosmosKenBurns{from{transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0) scale(1.075)}to{transform:translate3d(calc(var(--parallax-x,0) - 16px),calc(var(--parallax-y,0) - 7px),0) scale(1.115)}}

nav{height:76px;padding:0 clamp(1rem,3.2vw,3.2rem);background:rgba(8,11,29,.91);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(22px) saturate(1.2);box-shadow:0 10px 45px rgba(0,0,0,.18)}
.nav-logo{min-width:168px;gap:.7rem;color:#fff;text-decoration:none}
.nav-brand-mark{width:38px;height:38px;border:1px solid rgba(255,255,255,.52);border-radius:50%;display:grid;place-items:center;font-size:.68rem;font-weight:700;letter-spacing:.08em;position:relative}
.nav-brand-mark::after{content:"";position:absolute;width:46px;height:14px;border-top:1px solid var(--page-accent);border-radius:50%;transform:rotate(-13deg);opacity:.9}
.nav-brand-copy{display:grid;line-height:1.05}
.nav-brand-copy strong{font-size:.86rem;letter-spacing:.08em;font-weight:650}
.nav-brand-copy span{font-size:.48rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(224,234,244,.62);margin-top:.28rem}
.nav-links{gap:.08rem;align-items:center}
.nav-links a{font-family:var(--fb);font-size:.62rem;letter-spacing:.035em;text-transform:none;padding:.54rem .62rem;border:0;color:rgba(226,235,244,.7);position:relative}
.nav-links a::after{content:"";position:absolute;left:.62rem;right:.62rem;bottom:.22rem;height:1px;background:var(--page-accent);transform:scaleX(0);transition:transform .24s}
.nav-links a:hover,.nav-links a.active{color:#fff;background:transparent;border:0}
.nav-links a.active::after,.nav-links a:hover::after{transform:scaleX(1)}
.nav-search-input{background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:999px!important;color:#fff!important}
.hamburger span{background:#fff}

.page{top:76px;background:transparent!important;z-index:2;animation:pageCinemaIn .64s cubic-bezier(.2,.75,.2,1)}
.page::before{content:"";position:fixed;inset:76px 0 0;z-index:-1;background:linear-gradient(90deg,rgba(3,7,17,.76),rgba(3,7,17,.34) 48%,rgba(3,7,17,.08));pointer-events:none}
.page.active{display:block}
@keyframes pageCinemaIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.pc{min-height:calc(100vh - 76px);max-width:1220px;padding:clamp(3.4rem,8vh,6rem) clamp(1rem,4vw,3.2rem) 8rem;margin:0 auto}
.sh{max-width:820px;margin-bottom:2.8rem}
.sn{font-family:var(--fb);font-size:.64rem;letter-spacing:.2em;color:var(--page-accent);opacity:1;margin-bottom:.8rem;font-weight:650}
.st{font-size:clamp(2.3rem,5.2vw,5.2rem);font-weight:690;letter-spacing:-.055em;line-height:.94;text-shadow:0 18px 55px rgba(0,0,0,.4)}
.st .hl{color:var(--page-accent)}
.sl{width:80px;height:2px;margin-top:1.1rem;background:linear-gradient(90deg,var(--page-accent),transparent)}

.home-stage{min-height:calc(100vh - 76px);display:block!important;background:transparent!important;border:0!important;position:relative}
.home-stage::before{display:none!important}
.home-copy{width:min(930px,100%);max-width:none;padding:clamp(4rem,9vh,8rem) clamp(1.1rem,7vw,8.2rem) 3rem;min-height:calc(100vh - 76px);display:flex;flex-direction:column;justify-content:center;background:transparent!important}
.home-visual{display:none!important}
.home-topline{margin-bottom:clamp(2.4rem,6vh,5.4rem);font-family:var(--fb);font-size:.58rem;color:rgba(234,242,249,.66);letter-spacing:.12em}
.home-eyebrow{font-family:var(--fb);font-size:.66rem;letter-spacing:.15em;color:#fff;margin-bottom:1.35rem;font-weight:650}
.home-live-dot{background:var(--page-accent)!important;box-shadow:0 0 0 5px color-mix(in srgb,var(--page-accent) 15%,transparent)!important}
.home-title{font-size:clamp(3.8rem,8.2vw,8.6rem)!important;line-height:.88!important;letter-spacing:-.07em!important;max-width:1080px;margin-bottom:1.8rem;text-shadow:0 24px 80px rgba(0,0,0,.52)}
.home-title span{display:block;color:#fff!important;-webkit-text-stroke:0!important;text-shadow:inherit!important}
.home-title .home-accent{color:var(--page-accent)!important}
.home-title .home-outline{color:rgba(255,255,255,.93)!important}
.home-lead{font-size:clamp(1rem,1.55vw,1.22rem)!important;line-height:1.7!important;color:rgba(239,246,252,.82)!important;max-width:760px!important;text-shadow:0 3px 18px rgba(0,0,0,.4)}
.home-role-line{border-left:2px solid var(--page-accent);padding-left:1rem;margin-top:1.3rem;color:rgba(238,246,252,.72);font-size:.62rem}
.home-actions{margin-top:2rem;gap:.7rem}
.btn{border-radius:999px!important;padding:.76rem 1.25rem!important;font-family:var(--fb)!important;font-size:.68rem!important;letter-spacing:.015em!important;text-transform:none!important;font-weight:650!important}
.btn-p{background:#fff!important;color:#07101d!important;border-color:#fff!important}
.btn-p:hover{background:var(--page-accent)!important;border-color:var(--page-accent)!important}
.btn-o{background:rgba(7,12,26,.36)!important;color:#fff!important;border-color:rgba(255,255,255,.35)!important;backdrop-filter:blur(12px)}
.home-metrics{margin-top:2.5rem;max-width:820px;border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden;background:rgba(5,10,22,.46);backdrop-filter:blur(18px)}
.home-metric{padding:1rem 1.05rem;border-color:rgba(255,255,255,.08)!important}
.home-metric strong{font-size:1.25rem;color:#fff}
.home-metric span{font-family:var(--fb);font-size:.54rem;letter-spacing:.02em;color:rgba(226,236,245,.62)}
.home-opportunity{max-width:820px;border:0!important;border-top:1px solid rgba(255,255,255,.13)!important;background:transparent!important;margin-top:1.1rem;padding:1.05rem 0!important}
.home-opportunity-label{font-family:var(--fb)!important;color:var(--page-accent)!important}
.home-capability-strip{position:relative;z-index:4;background:rgba(8,12,27,.74)!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:18px 18px 0 0;backdrop-filter:blur(24px);width:min(1120px,calc(100% - 2rem));margin:-5.8rem auto 0;overflow:hidden}
.home-capability-strip button{padding:1.1rem 1.2rem!important;background:transparent!important;border-color:rgba(255,255,255,.08)!important}
.home-capability-strip button:hover{background:rgba(255,255,255,.05)!important}
.home-capability-strip span{color:var(--page-accent)!important}
.mq{background:rgba(5,8,17,.83)!important;border-color:rgba(255,255,255,.08)!important}

/* Elegant photographic content surfaces */
.ec,.pjc,.insight-card,.metric-card,.skill-group,.search-group,.passc,.ccard,.project-intro,.project-stat,.chart-card,.education-card,.lc,.ci{
  background:linear-gradient(145deg,rgba(13,20,35,.82),rgba(6,11,23,.68))!important;
  border:1px solid rgba(255,255,255,.1)!important;
  border-radius:16px!important;
  backdrop-filter:blur(24px) saturate(1.1);
  box-shadow:0 18px 60px rgba(0,0,0,.18)!important;
  clip-path:none!important;
}
.ec{border-left:2px solid var(--page-accent)!important}
.ec:hover,.pjc:hover,.skill-group:hover{border-color:color-mix(in srgb,var(--page-accent) 46%,rgba(255,255,255,.12))!important;transform:translateY(-4px)!important;box-shadow:0 28px 75px rgba(0,0,0,.28)!important}
.pjc{overflow:hidden;padding:1.05rem}
.pjc-img{border-radius:12px 12px 5px 5px;border-bottom:0;background:#080d18}
.pjc-video{border-radius:10px;overflow:hidden;background:#050912!important;border-color:rgba(255,255,255,.09)!important}
.pjc-video-label{font-family:var(--fb)!important;letter-spacing:.12em!important;color:var(--page-accent)!important}
.pjy,.ed,.tly,.cgt,.project-effort,.repo-name{color:var(--page-accent)!important}
.pjt,.et,.tlt{letter-spacing:-.015em}
.tags .tag,.tag{border-radius:999px!important;border-color:rgba(255,255,255,.11)!important;background:rgba(255,255,255,.045)!important;color:rgba(235,242,248,.78)!important;font-family:var(--fb)!important}
.gh-link{border-radius:999px;color:#07101d!important;background:#fff!important;border-color:#fff!important;font-family:var(--fb)!important;font-weight:650}
.gh-link:hover{background:var(--page-accent)!important;border-color:var(--page-accent)!important}
.pf-btn,.project-search,.search-input,.filter-reset{border-radius:999px!important;background:rgba(8,13,27,.66)!important;border-color:rgba(255,255,255,.12)!important;color:#e8f0f7!important}
.pf-btn.active{background:#fff!important;color:#07101d!important;border-color:#fff!important}
.chart-wrap,.dashboard-chart,.chart-card{background:rgba(6,11,22,.56)!important}
.chart-wrap canvas{filter:none!important}

/* Thales-like editorial journey rail */
.orbit-rail{position:fixed;z-index:520;left:50%;right:auto;top:auto;bottom:.65rem;transform:translateX(-50%);width:min(940px,calc(100vw - 80px));height:57px;display:grid;grid-template-columns:repeat(9,1fr);gap:0;padding:0 1.2rem;background:rgba(7,10,23,.72);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(24px);border-radius:999px;box-shadow:0 16px 55px rgba(0,0,0,.3)}
.orbit-rail-line{left:5%;right:5%;top:50%;bottom:auto;width:auto;height:1px;background:rgba(255,255,255,.22)}
.orbit-rail button{width:auto;height:57px;border-radius:0;color:rgba(230,238,246,.55)}
.orbit-rail button i{width:7px;height:7px;background:currentColor;box-shadow:0 0 0 4px rgba(7,10,23,.9)}
.orbit-rail button span{display:none}
.orbit-rail button b{display:block;right:auto;left:50%;top:7px;bottom:auto;transform:translateX(-50%);padding:0;border:0;background:transparent;opacity:0;font-family:var(--fb);font-size:.47rem;color:#fff;transition:.2s}
.orbit-rail button:hover b,.orbit-rail button.active b{opacity:1;transform:translateX(-50%)}
.orbit-rail button:hover{transform:none;color:#fff}
.orbit-rail button.active{background:transparent;box-shadow:none;color:var(--page-accent)}
.orbit-rail button.active i{width:12px;height:12px;box-shadow:0 0 0 5px rgba(7,10,23,.96),0 0 22px var(--page-accent)}

/* Cinematic transition between sections */
.space-transition{z-index:9999;background:rgba(2,5,13,.24);backdrop-filter:blur(0);transition:opacity .28s}
.space-transition-vignette{inset:0;background:linear-gradient(100deg,rgba(2,5,13,.9),rgba(2,5,13,.2) 50%,rgba(2,5,13,.75));animation:none!important;opacity:0;transform:scale(1.08);transition:opacity .45s,transform .85s cubic-bezier(.2,.75,.2,1)}
.space-transition.active .space-transition-vignette{opacity:1;transform:scale(1)}
.space-transition-copy{justify-items:start;text-align:left;width:min(840px,86vw);padding:2rem 0;background:transparent;border:0;backdrop-filter:none;clip-path:none}
.space-transition-kicker{font-family:var(--fb);font-size:.62rem;letter-spacing:.2em;color:var(--page-accent);font-weight:700}
.space-transition-copy strong{font-size:clamp(2.5rem,7vw,7rem);line-height:.92;letter-spacing:-.055em}
.space-transition-copy>span:last-of-type{font-family:var(--fb);font-size:.58rem;letter-spacing:.12em;color:rgba(235,243,250,.62)}
.space-progress{height:1px;margin-top:1.1rem;background:rgba(255,255,255,.18)}
.space-progress i{transition:transform .78s cubic-bezier(.2,.75,.2,1);background:linear-gradient(90deg,var(--page-accent),#fff);box-shadow:none}
.space-traveling .page{filter:blur(3px) brightness(.72);transform:scale(1.015);transition:.55s}

@media(max-width:1180px){
  .orbit-rail{display:grid;width:min(760px,calc(100vw - 48px))}
  .nav-links a{padding:.5rem .4rem;font-size:.57rem}
  .nav-brand-copy span{display:none}
}
@media(max-width:980px){
  nav{height:66px}.page{top:66px}.page::before{inset:66px 0 0}.pc{min-height:calc(100vh - 66px)}
  .nav-links{top:66px;background:rgba(7,10,23,.97)!important;backdrop-filter:blur(24px)}
  .nav-links a{font-size:.72rem;padding:.8rem 1rem}
  .home-copy{min-height:calc(100vh - 66px);padding-top:4rem}
  .home-capability-strip{margin:-3.5rem auto 0;grid-template-columns:repeat(2,1fr)!important}
  .orbit-rail{display:none}
}
@media(max-width:760px){
  nav{padding:0 .9rem}.nav-brand-copy strong{font-size:.72rem}.nav-brand-mark{width:32px;height:32px}.nav-search-wrap{max-width:138px}
  .pc{padding:3.5rem 1rem 5rem}.st{font-size:clamp(2.25rem,13vw,4.2rem)}
  .home-copy{padding:3.5rem 1rem 2.2rem;justify-content:flex-start}
  .home-topline{margin-bottom:2.8rem}.home-title{font-size:clamp(3.1rem,16vw,5.4rem)!important;margin-bottom:1.4rem}
  .home-actions{display:grid;grid-template-columns:1fr}.btn{justify-content:center;width:100%}
  .home-metrics{grid-template-columns:repeat(2,1fr)!important}
  .home-capability-strip{position:relative;margin:0 auto;grid-template-columns:1fr!important;border-radius:16px}
  .cosmos-layer{inset:-12px;background-position:64% center!important}
  .space-transition-copy{width:88vw}
}
@media(prefers-reduced-motion:reduce){
  .cosmos-layer.is-active{animation:none!important}
  .cosmos-layer{transform:none!important;transition:opacity .15s!important}
}


/* V8 — cinematic local video backgrounds (no people) */
#cosmos-stage{background:#02040b}
.cosmos-layer{display:none!important}
.cosmos-video{position:absolute;inset:-2.5%;width:105%;height:105%;object-fit:cover;object-position:center;opacity:0;transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0) scale(1.035);filter:saturate(1.04) contrast(1.08) brightness(.78);transition:opacity .78s ease,transform 1.05s cubic-bezier(.2,.7,.2,1),filter .78s ease;will-change:opacity,transform;pointer-events:none}
.cosmos-video.is-active{opacity:1}
.cosmos-video.is-arriving{transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0) scale(1.005);filter:saturate(1.08) contrast(1.1) brightness(.82)}
.cosmos-video.is-departing{opacity:0;transform:translate3d(calc(var(--parallax-x,0) - 18px),var(--parallax-y,0),0) scale(1.08);filter:blur(4px) saturate(.78) brightness(.64)}
.cosmos-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,16,.88) 0%,rgba(2,6,16,.66) 39%,rgba(2,6,16,.24) 72%,rgba(2,6,16,.42) 100%),linear-gradient(180deg,rgba(2,5,13,.14),rgba(2,5,13,.08) 58%,rgba(2,5,13,.76));z-index:2}
.cosmos-grain,.cosmos-light{z-index:3}

/* Home-page vertical rhythm: prevent cards and fixed navigation from overlapping */
#page-home{padding-bottom:92px}
#page-home .home-stage{min-height:calc(100vh - 76px);height:auto}
#page-home .home-copy{min-height:calc(100vh - 76px);height:auto;padding-bottom:4.5rem}
#page-home .home-capability-strip{position:relative!important;inset:auto!important;margin:1.4rem auto 2rem!important;border-radius:18px!important;clear:both}
#page-home .mq{position:relative;margin:0 auto 1.5rem;z-index:3}
.orbit-rail{bottom:1rem!important}
.home-metric strong{white-space:nowrap}
.home-metric span{line-height:1.35}

@media(max-width:980px){
  #page-home{padding-bottom:34px}
  #page-home .home-copy{padding-bottom:2.2rem}
  #page-home .home-capability-strip{margin:1rem auto 1.5rem!important}
}
@media(max-width:760px){
  .cosmos-video{inset:0;width:100%;height:100%;transform:none!important;filter:saturate(1.02) contrast(1.06) brightness(.7)}
  .cosmos-overlay{background:linear-gradient(180deg,rgba(2,6,16,.66),rgba(2,6,16,.82))}
  #page-home .home-copy{padding-bottom:1.5rem}
  #page-home .home-capability-strip{margin:.8rem auto 1.2rem!important}
}
@media(prefers-reduced-motion:reduce){.cosmos-video{transition:opacity .15s!important;transform:none!important}}
