: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:.35rem;}
.eo-sub{font-family:var(--fm);font-size:.56rem;color:rgba(180,205,225,.72);margin:-.15rem 0 .7rem;letter-spacing:.02em;}
.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}}


/* V8.1 · mobile menu hit-area and active indicator correction */
@media(max-width:980px){
  .nav-links{gap:.14rem;padding:.72rem 1rem 1rem}
  .nav-links a{
    display:block;
    min-height:44px;
    padding:.68rem 1rem .86rem!important;
    line-height:1.15;
    position:relative;
    box-shadow:none!important;
    transform:none!important;
    overflow:hidden;
    isolation:isolate;
  }
  .nav-links a::after{
    left:50%!important;
    right:auto!important;
    bottom:.34rem!important;
    width:64px!important;
    height:2px!important;
    transform:translateX(-50%) scaleX(0)!important;
    transform-origin:center!important;
    background:linear-gradient(90deg,transparent,var(--page-accent) 18%,var(--page-accent) 82%,transparent)!important;
    pointer-events:none!important;
  }
  .nav-links a.active::after,
  .nav-links a:hover::after,
  .nav-links a:focus-visible::after{
    transform:translateX(-50%) scaleX(1)!important;
  }
  .nav-links a.active{box-shadow:none!important}
}


/* V9 · interactive mobility map */
#page-contact .cl{grid-template-columns:minmax(280px,.82fr) minmax(480px,1.18fr);align-items:start;gap:1.35rem}
.mobility-map-card{border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,rgba(7,15,27,.88),rgba(2,7,15,.76));backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(0,0,0,.26);overflow:hidden;position:relative}
.mobility-map-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:1rem 1.05rem .65rem;border-bottom:1px solid rgba(255,255,255,.07)}
.mobility-map-head span{display:block;font-family:var(--fm);font-size:.48rem;letter-spacing:.18em;color:var(--c);margin-bottom:.25rem}
.mobility-map-head strong{font-family:var(--fh);font-size:.82rem;color:var(--w)}
.mobility-map-head small{font-family:var(--fm);font-size:.48rem;color:var(--g1)}
.mobility-map-stage{padding:.75rem .75rem .25rem}
.mobility-map-svg{display:block;width:100%;height:auto;max-height:390px;overflow:visible}
.map-grid path,.map-grid ellipse{fill:none;stroke:rgba(111,176,213,.07);stroke-width:1}
.map-continents path{fill:rgba(127,164,188,.1);stroke:rgba(162,203,225,.2);stroke-width:1.2;transition:fill .3s}
.mobility-route{fill:none;stroke:rgba(91,194,255,.32);stroke-width:1.4;stroke-dasharray:7 8;animation:mapRoute 9s linear infinite}
.mobility-route-short{stroke:rgba(189,139,255,.42);animation-duration:5s}
.map-region{cursor:pointer;outline:none}
.map-region text{font-family:var(--fm);font-size:12px;letter-spacing:1.4px;fill:rgba(225,241,250,.66);transition:fill .25s}
.region-area{fill:rgba(75,177,234,.18);stroke:rgba(91,194,255,.72);stroke-width:1.6;transition:.28s}
.region-island,.region-node{fill:#73d4ff;stroke:#dff7ff;stroke-width:1.5;transition:.28s}
.region-pulse{fill:none;stroke:rgba(115,212,255,.65);stroke-width:1.2;transform-box:fill-box;transform-origin:center;animation:mapPulse 2.5s ease-out infinite}
.region-leader{fill:none;stroke:rgba(115,212,255,.45);stroke-width:1}
.map-region-ch .region-node{fill:#c39bff}.map-region-ch .region-pulse,.map-region-ch .region-leader{stroke:rgba(195,155,255,.68)}
.map-region-idf .region-node{fill:#6fe7c8}.map-region-idf .region-pulse,.map-region-idf .region-leader{stroke:rgba(111,231,200,.68)}
.map-region:hover text,.map-region:focus text,.map-region.is-active text{fill:#fff}
.map-region:hover .region-area,.map-region:focus .region-area,.map-region.is-active .region-area{fill:rgba(75,177,234,.42);filter:url(#mapGlow)}
.map-region:hover .region-node,.map-region:focus .region-node,.map-region.is-active .region-node{r:9;filter:url(#mapGlow)}
.map-caption{font-family:var(--fm);font-size:10px;letter-spacing:1.8px;fill:rgba(173,205,224,.38)}
.mobility-controls{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.mobility-controls button{appearance:none;border:0;border-right:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.018);color:var(--g1);padding:.72rem .5rem;font-family:var(--fh);font-size:.57rem;cursor:pointer;transition:.25s;min-height:48px}
.mobility-controls button:last-child{border-right:0}.mobility-controls button span{font-family:var(--fm);font-size:.44rem;color:var(--c);display:block;letter-spacing:.13em;margin-bottom:.16rem}
.mobility-controls button:hover,.mobility-controls button.is-active{background:color-mix(in srgb,var(--c) 10%,rgba(255,255,255,.02));color:var(--w);box-shadow:inset 0 -2px 0 var(--c)}
.mobility-detail{display:grid;grid-template-columns:1fr 1.25fr;gap:.8rem 1rem;padding:.95rem 1.05rem}
.mobility-detail>div span{display:block;font-family:var(--fm);font-size:.45rem;letter-spacing:.15em;color:var(--c);margin-bottom:.2rem}.mobility-detail>div strong{font-family:var(--fh);font-size:.78rem;color:var(--w)}
.mobility-detail p{font-size:.68rem;line-height:1.55;color:#c7d5df;margin:0}.mobility-detail small{grid-column:1/-1;font-family:var(--fm);font-size:.5rem;line-height:1.6;color:var(--g1)}
.mobility-note{margin:0;padding:.7rem 1.05rem;border-top:1px solid rgba(255,255,255,.06);font-family:var(--fm);font-size:.45rem;line-height:1.5;color:rgba(173,205,224,.55)}
@keyframes mapPulse{0%{opacity:.8;transform:scale(.6)}75%,100%{opacity:0;transform:scale(1.65)}}
@keyframes mapRoute{to{stroke-dashoffset:-120}}
@media(max-width:1050px){#page-contact .cl{grid-template-columns:1fr}.mobility-map-svg{max-height:none}}
@media(max-width:620px){.mobility-map-head{align-items:start}.mobility-map-head small{display:none}.mobility-map-stage{padding:.4rem}.mobility-map-svg{min-height:250px}.map-region text{font-size:15px}.mobility-controls{grid-template-columns:1fr}.mobility-controls button{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}.mobility-controls button:last-child{border-bottom:0}.mobility-detail{grid-template-columns:1fr}.mobility-detail small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.region-pulse,.mobility-route{animation:none}}

/* V10 · realistic interactive 3D mobility globe */
.mobility-globe-card{isolation:isolate;background:linear-gradient(155deg,rgba(4,11,22,.94),rgba(1,5,13,.9));box-shadow:0 28px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.035)}
.mobility-globe-stage{position:relative;height:520px;min-height:420px;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(14,67,105,.22),rgba(1,5,13,.32) 44%,rgba(1,4,10,.96) 78%);touch-action:none;user-select:none}
.mobility-globe-stage::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(circle at 50% 43%,transparent 28%,rgba(1,5,13,.08) 56%,rgba(1,5,13,.7) 100%),linear-gradient(180deg,rgba(0,0,0,.1),transparent 14%,transparent 78%,rgba(0,0,0,.46));box-shadow:inset 0 0 90px rgba(0,0,0,.62)}
.mobility-globe-stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.1;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:100% 25%,25% 100%;mask-image:linear-gradient(to bottom,transparent,black 18%,black 80%,transparent)}
.mobility-globe-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;z-index:1;outline:none}
.mobility-globe-canvas:active{cursor:grabbing}
.mobility-globe-toolbar{position:absolute;top:18px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;z-index:4;pointer-events:none;font-family:var(--fm);font-size:.43rem;letter-spacing:.15em;color:rgba(205,231,246,.68)}
.mobility-globe-toolbar span{display:flex;align-items:center;gap:.45rem;padding:.4rem .52rem;border:1px solid rgba(255,255,255,.08);background:rgba(2,8,17,.46);backdrop-filter:blur(10px)}
.globe-live-dot{width:6px;height:6px;border-radius:50%;background:#65efc8;box-shadow:0 0 12px #65efc8;animation:globeLive 1.7s ease-in-out infinite}
@keyframes globeLive{50%{opacity:.35;transform:scale(.72)}}
.mobility-globe-hint{position:absolute;left:50%;bottom:17px;transform:translateX(-50%);z-index:5;white-space:nowrap;padding:.45rem .7rem;border:1px solid rgba(255,255,255,.08);background:rgba(2,8,17,.66);backdrop-filter:blur(12px);font-family:var(--fm);font-size:.42rem;letter-spacing:.06em;color:rgba(190,211,225,.64);pointer-events:none}
.mobility-globe-hint span{color:#ccecff}
.mobility-globe-loading{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:.7rem;z-index:6;background:radial-gradient(circle,rgba(7,24,42,.78),rgba(1,5,13,.98));transition:opacity .7s ease,visibility .7s ease;font-family:var(--fm);font-size:.46rem;letter-spacing:.14em;color:rgba(196,224,241,.62)}
.mobility-globe-loading i{width:34px;height:34px;border:1px solid rgba(112,213,255,.22);border-top-color:#70d5ff;border-radius:50%;animation:globeSpin 1s linear infinite;box-shadow:0 0 24px rgba(91,194,255,.18)}
@keyframes globeSpin{to{transform:rotate(360deg)}}
.mobility-globe-stage.globe-ready .mobility-globe-loading{opacity:0;visibility:hidden}
.mobility-globe-fallback{position:absolute;z-index:7;inset:25% 12%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:.4rem;padding:1rem;background:rgba(3,10,19,.88);border:1px solid rgba(255,255,255,.1);color:var(--w)}
.mobility-globe-fallback strong{font-family:var(--fh);font-size:.8rem}.mobility-globe-fallback span{max-width:420px;font-size:.58rem;line-height:1.6;color:var(--g1)}
.mobility-globe-label{position:absolute;left:0;top:0;z-index:5;border:1px solid rgba(255,255,255,.12);background:rgba(3,10,20,.76);backdrop-filter:blur(12px);padding:.34rem .48rem;color:#eaf8ff;text-align:left;white-space:nowrap;cursor:pointer;transition:opacity .16s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;will-change:transform,opacity}
.mobility-globe-label::after{content:"";position:absolute;left:50%;top:100%;width:1px;height:14px;background:linear-gradient(rgba(118,216,255,.65),transparent)}
.mobility-globe-label span{display:block;font-family:var(--fm);font-size:.35rem;letter-spacing:.12em;color:rgba(142,215,250,.72)}
.mobility-globe-label strong{display:block;margin-top:.1rem;font-family:var(--fh);font-size:.48rem;font-weight:650}
.mobility-globe-label:hover,.mobility-globe-label.is-selected{border-color:rgba(112,213,255,.58);background:rgba(5,20,35,.9);box-shadow:0 0 24px rgba(70,181,235,.16)}
.mobility-globe-card .mobility-controls{position:relative;z-index:8;background:rgba(2,7,15,.7)}
.mobility-globe-card .mobility-controls button{padding:.82rem .6rem;min-height:54px}
.mobility-globe-card .mobility-detail{position:relative;z-index:8;background:linear-gradient(180deg,rgba(4,11,22,.54),rgba(2,7,15,.78))}
.mobility-globe-card .mobility-note{position:relative;z-index:8;background:rgba(1,5,12,.76)}
@media(max-width:1050px){.mobility-globe-stage{height:500px}}
@media(max-width:700px){.mobility-globe-stage{height:430px;min-height:380px}.mobility-globe-toolbar{top:12px;left:12px;right:12px}.mobility-globe-toolbar span:last-child{display:none}.mobility-globe-hint{bottom:11px;font-size:.37rem;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis}.mobility-globe-label{padding:.3rem .4rem}.mobility-globe-label span{font-size:.3rem}.mobility-globe-label strong{font-size:.43rem}}
@media(max-width:430px){.mobility-globe-stage{height:380px;min-height:340px}.mobility-globe-hint{white-space:normal;text-align:center;line-height:1.45}.mobility-globe-card .mobility-controls{grid-template-columns:repeat(3,1fr)}.mobility-globe-card .mobility-controls button{border-right:1px solid rgba(255,255,255,.07);border-bottom:0;font-size:.48rem;padding:.65rem .2rem;min-height:50px}.mobility-globe-card .mobility-controls button:last-child{border-right:0}}
@media(prefers-reduced-motion:reduce){.globe-live-dot,.mobility-globe-loading i{animation:none}}
.mobility-globe-space{position:absolute;inset:-6%;width:112%;height:112%;object-fit:cover;z-index:0;opacity:.32;filter:saturate(.78) contrast(1.14) brightness(.62);transform:scale(1.02);pointer-events:none}
.mobility-globe-stage.globe-ready .mobility-globe-space{animation:mobilitySpaceDrift 28s ease-in-out infinite alternate}
@keyframes mobilitySpaceDrift{from{transform:scale(1.02) translate3d(-.5%,0,0)}to{transform:scale(1.09) translate3d(.8%,-.6%,0)}}
@media(prefers-reduced-motion:reduce){.mobility-globe-stage.globe-ready .mobility-globe-space{animation:none}}
.mobility-globe-canvas:focus-visible{box-shadow:inset 0 0 0 2px rgba(112,213,255,.72);border-radius:2px}

/* Ensure the WebGL fallback never overlays a working globe. */
.mobility-globe-fallback[hidden]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}


/* ECTS international explanation */
.ects-help-row{display:flex;justify-content:flex-end;margin:-.75rem 0 1.45rem}
.ects-info-trigger{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:"title icon" "note icon";align-items:center;gap:.12rem .85rem;min-width:min(100%,380px);padding:.72rem .9rem;background:rgba(5,14,25,.76);border:1px solid rgba(107,194,255,.24);color:var(--w);text-align:left;cursor:pointer;transition:border-color .25s,transform .25s,background .25s}
.ects-info-trigger:hover,.ects-info-trigger:focus-visible{border-color:rgba(107,194,255,.72);background:rgba(8,24,40,.92);transform:translateY(-2px);outline:none}
.ects-info-trigger span{grid-area:title;font-family:var(--fh);font-size:.78rem;font-weight:700}
.ects-info-trigger small{grid-area:note;font-family:var(--fm);font-size:.47rem;line-height:1.5;color:var(--g1);text-transform:uppercase;letter-spacing:.07em}
.ects-info-trigger b{grid-area:icon;display:grid;place-items:center;width:1.65rem;height:1.65rem;border:1px solid rgba(107,194,255,.55);border-radius:50%;font-family:var(--fm);font-size:.68rem;color:#79cfff}
body.modal-open{overflow:hidden}
.ects-modal[hidden]{display:none!important}
.ects-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:1rem;background:rgba(0,4,11,.76);backdrop-filter:blur(14px);opacity:0;transition:opacity .18s ease}
.ects-modal.is-open{opacity:1}
.ects-modal-card{position:relative;width:min(94vw,650px);padding:2rem;background:linear-gradient(145deg,rgba(8,21,36,.98),rgba(2,8,17,.98));border:1px solid rgba(107,194,255,.3);box-shadow:0 32px 100px rgba(0,0,0,.56),0 0 55px rgba(36,169,255,.08);transform:translateY(12px) scale(.985);transition:transform .18s ease}
.ects-modal.is-open .ects-modal-card{transform:translateY(0) scale(1)}
.ects-modal-close{position:absolute;top:.75rem;right:.8rem;width:2.25rem;height:2.25rem;border:1px solid rgba(255,255,255,.17);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;font-size:1.35rem;line-height:1;cursor:pointer}
.ects-modal-close:hover,.ects-modal-close:focus-visible{border-color:#79cfff;color:#79cfff;outline:none}
.ects-modal-kicker{display:block;margin-bottom:.6rem;font-family:var(--fm);font-size:.55rem;letter-spacing:.18em;color:#79cfff}
.ects-modal-card h2{margin:0 2.5rem .9rem 0;font-family:var(--fh);font-size:clamp(1.45rem,4vw,2.2rem);line-height:1.1;color:#fff}
.ects-modal-card p{margin:0;color:#b9c8d7;font-size:.84rem;line-height:1.78}
.ects-modal-card p strong{color:#fff}
.ects-modal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:1.35rem 0}
.ects-modal-grid div{padding:.9rem;background:rgba(255,255,255,.035);border:1px solid rgba(107,194,255,.15)}
.ects-modal-grid strong{display:block;font-family:var(--fh);font-size:1rem;color:#79cfff;margin-bottom:.25rem}
.ects-modal-grid span{display:block;font-family:var(--fm);font-size:.51rem;line-height:1.55;color:#c2ced9;text-transform:uppercase;letter-spacing:.06em}
.ects-modal-note{padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);font-size:.72rem!important;color:#8598aa!important}
@media(max-width:640px){.ects-help-row{justify-content:stretch}.ects-info-trigger{width:100%;min-width:0}.ects-modal-card{padding:1.45rem}.ects-modal-grid{grid-template-columns:1fr}.ects-modal-card h2{font-size:1.45rem}}


/* V12 · measurable outcomes, project provenance and industry impact */
.home-metric span b{display:inline-block;margin-top:.18rem;color:#8ddcff;font-weight:600;letter-spacing:.025em;text-transform:none}
.project-meta-row{display:flex;align-items:center;justify-content:space-between;gap:.55rem;margin:.1rem 0 .5rem}
.project-meta-row .pjy{margin:0;white-space:nowrap}
.project-nature{display:inline-flex;align-items:center;min-height:1.45rem;padding:.24rem .5rem;border:1px solid rgba(255,255,255,.13);border-radius:999px;font-family:var(--fm);font-size:.45rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#dbe9f5;background:rgba(7,13,25,.76)}
.project-nature::before{content:'';width:.38rem;height:.38rem;margin-right:.38rem;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}
.nature-industrial{color:#61e5bf;border-color:rgba(97,229,191,.3);background:rgba(15,59,51,.34)}
.nature-academic{color:#79cfff;border-color:rgba(121,207,255,.28);background:rgba(20,55,82,.3)}
.nature-research{color:#c5a4ff;border-color:rgba(197,164,255,.3);background:rgba(57,35,83,.3)}
.nature-competition{color:#ffd479;border-color:rgba(255,212,121,.32);background:rgba(72,51,10,.34)}
.nature-independent{color:#d8e0e8;border-color:rgba(216,224,232,.23);background:rgba(41,47,56,.34)}
.project-featured-result{width:max-content;max-width:100%;margin:.12rem 0 .55rem;padding:.22rem .5rem;border-left:2px solid var(--page-accent);background:color-mix(in srgb,var(--page-accent) 9%,transparent);font-family:var(--fm);font-size:.46rem;letter-spacing:.12em;color:var(--page-accent);text-transform:uppercase}
.project-award{display:flex;align-items:center;gap:.55rem;margin:-.05rem 0 .75rem;padding:.55rem .65rem;border:1px solid rgba(255,203,91,.38);border-left:3px solid #ffcb5b;background:linear-gradient(100deg,rgba(117,76,4,.28),rgba(255,204,91,.035));color:#ffd87d;box-shadow:inset 0 0 22px rgba(255,193,52,.035)}
.project-award svg{flex:0 0 auto;filter:drop-shadow(0 0 8px rgba(255,203,91,.38))}
.project-award span{display:flex;align-items:baseline;gap:.48rem;font-family:var(--fm);font-size:.48rem;letter-spacing:.13em;text-transform:uppercase}
.project-award b{font-family:var(--fh);font-size:.66rem;letter-spacing:.04em;color:#fff}
.impact-grid{display:grid;gap:.38rem;margin:.65rem 0 .72rem}
.impact-project{grid-template-columns:repeat(2,minmax(0,1fr))}
.impact-experience{grid-template-columns:repeat(4,minmax(0,1fr));margin:.72rem 0 .85rem}
.impact-item{min-width:0;padding:.56rem .62rem;background:linear-gradient(135deg,rgba(18,44,61,.5),rgba(5,12,22,.64));border:1px solid rgba(116,201,247,.16);border-top-color:rgba(116,201,247,.32)}
.impact-item strong{display:block;font-family:var(--fh);font-size:.72rem;line-height:1.15;color:#f5fbff;overflow-wrap:anywhere}
.impact-item span{display:block;margin-top:.2rem;font-family:var(--fm);font-size:.42rem;line-height:1.42;letter-spacing:.055em;text-transform:uppercase;color:#8ea8bb}
.ec .impact-item{background:linear-gradient(135deg,rgba(12,37,51,.48),rgba(5,11,20,.58))}
.pjc[data-nature="industrial"]{border-top-color:rgba(97,229,191,.32)!important}
.pjc[data-nature="industrial"]:hover{box-shadow:0 28px 75px rgba(0,0,0,.3),0 0 42px rgba(68,213,172,.08)!important}
@media(max-width:980px){.impact-experience{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.impact-project,.impact-experience{grid-template-columns:1fr}.project-award span{align-items:flex-start;flex-direction:column;gap:.1rem}.project-meta-row{align-items:flex-start}.project-nature{white-space:normal}}


/* V13 · recruiter CTA and impact proof strip */
.home-proof-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;max-width:920px;margin:0 0 1.45rem;}
.home-proof-strip button{appearance:none;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(10,18,34,.64),rgba(5,10,22,.42));color:#fff;border-radius:16px;padding:.82rem .9rem;text-align:left;cursor:pointer;backdrop-filter:blur(14px);transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease;}
.home-proof-strip button:hover,.home-proof-strip button:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--page-accent) 65%,white 10%);background:linear-gradient(145deg,color-mix(in srgb,var(--page-accent) 15%,rgba(10,18,34,.7)),rgba(5,10,22,.5));box-shadow:0 18px 45px rgba(0,0,0,.24),0 0 0 1px color-mix(in srgb,var(--page-accent) 20%,transparent);outline:none;}
.home-proof-strip span{display:block;font-family:var(--fh);font-size:clamp(1rem,1.6vw,1.28rem);font-weight:780;letter-spacing:-.035em;color:var(--page-accent);margin-bottom:.18rem;}
.home-proof-strip strong{display:block;font-family:var(--fb);font-size:.72rem;line-height:1.2;margin-bottom:.18rem;color:#fff;}
.home-proof-strip small{display:block;font-family:var(--fb);font-size:.55rem;line-height:1.35;color:rgba(226,236,245,.64);}
@media(max-width:980px){.home-proof-strip{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}.home-proof-strip button{padding:.78rem .8rem}}
@media(max-width:560px){.home-proof-strip{grid-template-columns:1fr}.home-proof-strip button{border-radius:14px}.home-proof-strip small{font-size:.58rem}}


/* Featured project hierarchy */
.featured-projects-block,.project-archive-block{margin:1.05rem 0 1.25rem;}
.project-section-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:1rem;margin:0 0 .85rem;padding:.95rem 1.05rem;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border:1px solid rgba(255,255,255,.095);border-radius:18px;backdrop-filter:blur(18px) saturate(1.15);}
.project-section-kicker{display:block;font-family:var(--fm);font-size:.48rem;letter-spacing:.16em;color:var(--page-accent);text-transform:uppercase;margin-bottom:.22rem;}
.project-section-head h3{font-family:var(--fh);font-size:.92rem;line-height:1.15;margin:0;color:#fff;}
.project-section-head p{max-width:560px;margin:0;color:rgba(218,231,241,.72);font-size:.72rem;line-height:1.55;}
.archive-toggle{justify-self:end;align-self:center;border:1px solid rgba(255,255,255,.18);background:#fff;color:#07101d;border-radius:999px;padding:.55rem .85rem;font-family:var(--fb);font-size:.58rem;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:transform .2s,background .2s,border-color .2s;white-space:nowrap;}
.archive-toggle:hover{background:var(--page-accent);border-color:var(--page-accent);transform:translateY(-1px);}
.pg-featured{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:1.1rem;}
.pjc-featured{border-color:color-mix(in srgb,var(--page-accent) 36%,rgba(255,255,255,.11))!important;background:linear-gradient(150deg,rgba(10,20,36,.92),rgba(4,10,20,.78))!important;box-shadow:0 22px 70px rgba(0,0,0,.22);}
.pjc-featured::after{content:'FEATURED';position:absolute;top:.55rem;left:.55rem;z-index:4;background:rgba(255,255,255,.96);color:#07101d;border-radius:999px;padding:.2rem .48rem;font-family:var(--fb);font-size:.43rem;font-weight:800;letter-spacing:.12em;}
.pjc-featured[data-open-source="true"]::before{top:.55rem;right:.55rem;}
.pjc-archive{opacity:.94;}
.project-archive-block.archive-collapsed .pg-archive{display:none;}
.project-archive-block.archive-collapsed{margin-top:.4rem;}
.project-archive-block.archive-collapsed .project-section-head{background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(255,255,255,.012));}
@media(max-width:760px){.project-section-head{grid-template-columns:1fr;align-items:start}.archive-toggle{justify-self:start}.pg-featured{grid-template-columns:1fr}.project-section-head p{font-size:.68rem}}

/* V17 publication entry */
.home-publication-card{
  display:block;
  margin-top:1rem;
  max-width:820px;
  padding:1rem 1.05rem;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:rgba(5,10,22,.48);
  color:inherit;
  text-decoration:none;
  backdrop-filter:blur(18px);
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.home-publication-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--page-accent) 50%,rgba(255,255,255,.18));background:rgba(255,255,255,.06);text-decoration:none;}
.home-publication-card span{display:block;font-family:var(--fb);font-size:.56rem;letter-spacing:.13em;text-transform:uppercase;color:var(--page-accent);margin-bottom:.4rem;}
.home-publication-card strong{display:block;font-family:var(--fh);font-size:1.05rem;color:#fff;letter-spacing:-.02em;margin-bottom:.28rem;}
.home-publication-card small{display:block;max-width:720px;color:rgba(226,236,245,.68);line-height:1.55;font-size:.74rem;}
@media(max-width:760px){.home-publication-card{margin-top:.8rem}.home-publication-card small{font-size:.7rem}}

/* V19.4 ultra-fluid navigation overrides */
.page{transition:opacity .18s ease-out,transform .22s cubic-bezier(.2,.75,.2,1)!important;animation:none!important}
.page.active{animation:pageFastIn .22s cubic-bezier(.2,.75,.2,1) both!important}
@keyframes pageFastIn{from{opacity:.72;transform:translate3d(0,6px,0)}to{opacity:1;transform:none}}
.space-transition{transition:opacity .12s ease-out!important;background:rgba(2,5,13,.12)!important}
.space-transition-vignette{transition:opacity .14s ease-out,transform .2s ease-out!important}
.space-transition-copy{display:none!important}
.space-progress{display:none!important}
.space-traveling .page{filter:none!important;transform:scale(.997)!important;transition:transform .14s ease-out!important}
.cosmos-video{transition:opacity .22s ease-out,transform .28s cubic-bezier(.2,.7,.2,1),filter .22s ease-out!important}
.cosmos-video.is-departing{filter:saturate(.86) brightness(.7)!important;transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0) scale(1.05)!important}
.tli,.ec,.pjc{transition-duration:.24s!important}
.tli,.ec{transform:translateX(-5px)}
.pjc{transform:translateY(5px)}
@media(max-width:760px){.space-transition{display:none!important}.space-traveling .page{transform:none!important}.cosmos-video{transition:opacity .14s ease-out!important}}
