*,*:before,*:after{box-sizing:border-box}html,body{width:100%;min-height:100%;margin:0}#root{width:100%;min-height:100vh}body{overflow-x:hidden;overflow-y:auto;background:#000}.space-time-portal{position:relative;width:100%;height:100%;min-height:100vh;overflow:visible;background:#000}.space-time-portal__canvas{position:absolute;inset:0}.space-time-portal__canvas canvas{display:block;width:100%;height:100%}.space-time-portal__foreground{position:relative;z-index:1;width:100%;height:100%}.profile-card{width:min(320px,calc(100vw - 2rem));padding:1.2rem;border-radius:1.4rem;background:linear-gradient(145deg,#101422d1,#0a0e18b8 55%,#080b13c7);border:1px solid rgba(220,230,255,.2);box-shadow:0 22px 48px #00000080,inset 0 1px #ffffff14;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#f8fafff5}.profile-card__header{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.profile-card__mark{width:2.35rem;height:2.35rem;border-radius:.7rem;display:grid;place-items:center;font-size:.8rem;font-weight:800;letter-spacing:.08em;color:#f4fafff5;border:1px solid rgba(170,209,255,.34);background:radial-gradient(circle at 32% 30%,#75ecff59,#4957b540 48%,#1b223ac2);text-shadow:0 0 10px rgba(167,238,255,.35);box-shadow:0 7px 18px #1b6bb142,0 0 14px #6ecdff33}.profile-card__name{text-shadow:0 0 10px rgba(150,224,255,.2),0 0 20px rgba(188,129,255,.08)}.profile-card__name-line{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:.02em;line-height:1.1;color:#f7f9fff5}.profile-card__image-wrap{margin-bottom:1rem;border-radius:1rem;overflow:hidden;border:1px solid rgba(210,222,255,.2)}.profile-card__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}.profile-card__meta{margin:0 0 1rem;display:grid;gap:.85rem}.profile-card__meta-row{margin:0}.profile-card__label{margin:0 0 .3rem;font-size:.8rem;letter-spacing:.03em;color:#c2cde2bf}.profile-card__value{margin:0;font-size:.96rem;line-height:1.3;font-weight:700;color:#f6f9fff0}.profile-card__socials{display:flex;gap:.58rem;margin-bottom:1rem}.profile-card__social-link{width:2.3rem;height:2.3rem;border-radius:999px;display:grid;place-items:center;color:#ecf1ffeb;border:1px solid rgba(176,194,232,.35);background:linear-gradient(180deg,#ffffff1a,#91a9d714);text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.profile-card__social-link svg{width:1rem;height:1rem}.profile-card__social-link:hover{transform:translateY(-1px) scale(1.045);border-color:#8beaffd9;box-shadow:0 8px 20px #3caee047,0 0 0 1px #7edbff26 inset;color:#f5fbff}.profile-card__social-link:active{transform:translateY(0) scale(.985)}.profile-card__social-link:focus-visible{outline:none;box-shadow:0 0 0 2px #091021f2,0 0 0 4px #8fe6ffd1;border-color:#8fe6ffeb}.profile-card__cta{display:block;width:100%;padding:.78rem 1rem;border-radius:999px;text-align:center;font-size:.92rem;font-weight:700;letter-spacing:.01em;text-decoration:none;color:#f6fbfffa;background:linear-gradient(110deg,#56d5ff38,#c978ff3d 56%,#ffaf6a33);border:1px solid rgba(183,211,255,.38);box-shadow:inset 0 1px #ffffff2b,0 12px 24px #4574b533;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.profile-card__cta:hover{transform:translateY(-1px);border-color:#8ee1ffe6;box-shadow:inset 0 1px #ffffff3d,0 14px 28px #59a8e73d}.profile-card__cta:focus-visible{outline:none;box-shadow:0 0 0 2px #091021f2,0 0 0 4px #8fe6ffd1,inset 0 1px #ffffff3d}@media(prefers-reduced-motion:reduce){.profile-card__social-link,.profile-card__cta{transition:none}.profile-card__social-link:hover,.profile-card__cta:hover,.profile-card__social-link:active{transform:none}}.portfolio-shell{--shell-text-strong: rgba(246, 251, 255, .98);--shell-text-body: rgba(223, 232, 247, .92);--shell-text-muted: rgba(178, 197, 227, .88);--shell-text-accent: rgba(153, 227, 255, .9);--shell-panel: rgba(9, 14, 26, .84);--shell-panel-soft: rgba(12, 19, 34, .7);--shell-panel-stroke: rgba(183, 207, 250, .28);--shell-focus: rgba(142, 228, 255, .85);--shell-focus-ring: rgba(9, 15, 31, .95);font-family:Manrope,Avenir Next,Segoe UI,sans-serif;font-size:clamp(.95rem,.2vw + .9rem,1.03rem);line-height:1.58;position:relative;z-index:1;width:100%;padding:1.125rem 1rem 4.5rem}@keyframes portfolio-heading-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.portfolio-shell__inner{width:min(1200px,100%);margin:0 auto;display:grid;grid-template-columns:340px minmax(0,1fr);gap:1.75rem;align-items:start}.portfolio-shell__sidebar{position:sticky;top:18px;height:calc(100vh - 36px);display:flex;flex-direction:column;gap:14px;align-self:start}.portfolio-shell__nav{width:min(320px,calc(100vw - 2rem));padding:.8rem;border-radius:1rem;border:1px solid var(--shell-panel-stroke);background:linear-gradient(150deg,#0a0f1acc,#090d17b8);box-shadow:0 18px 36px #00000061,inset 0 1px #ffffff14;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.portfolio-shell__nav-list{margin:0;padding:0;list-style:none;display:grid;gap:.35rem}.portfolio-shell__nav-item{margin:0}.portfolio-shell__nav-button{position:relative;overflow:hidden;width:100%;border:1px solid rgba(170,193,238,.28);background:#121a2c70;border-radius:.78rem;color:var(--shell-text-body);font:inherit;font-size:.92rem;font-weight:600;letter-spacing:.02em;text-align:left;padding:.62rem .75rem;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,background-color .16s ease}.portfolio-shell__nav-button:hover{transform:translateY(-1px) scale(1.01);color:var(--shell-text-strong);border-color:#91e2ffc2;box-shadow:0 10px 18px #2991d13d}.portfolio-shell__nav-button.is-active{color:var(--shell-text-strong);border-color:#92e9ffeb;background:linear-gradient(120deg,#5cceff3b,#b772ff2e);box-shadow:0 10px 22px #3896d647,inset 0 1px #ffffff29}.portfolio-shell__nav-button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--shell-focus-ring),0 0 0 4px var(--shell-focus)}.portfolio-shell__nav-button:active{transform:translateY(0) scale(.99)}.portfolio-shell__main{min-width:0;display:grid;gap:1.15rem}.portfolio-shell__section{border-radius:1.05rem;border:1px solid var(--shell-panel-stroke);background:linear-gradient(160deg,#0a101dd6,#080d18c7);box-shadow:0 20px 48px #00000061,inset 0 1px #ffffff14;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:clamp(1.05rem,2vw,1.45rem);transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.portfolio-shell__section:hover{border-color:#a3d5fb5c;box-shadow:0 24px 56px #0000006b,inset 0 1px #ffffff1a}.portfolio-shell__main>.portfolio-shell__section{--heading-delay: 0ms}.portfolio-shell__main>.portfolio-shell__section:nth-of-type(1){--heading-delay: 0ms}.portfolio-shell__main>.portfolio-shell__section:nth-of-type(2){--heading-delay: 80ms}.portfolio-shell__main>.portfolio-shell__section:nth-of-type(3){--heading-delay: .14s}.portfolio-shell__main>.portfolio-shell__section:nth-of-type(4){--heading-delay: .2s}.portfolio-shell__main>.portfolio-shell__section:nth-of-type(5){--heading-delay: .26s}.portfolio-shell__heading{margin:0;font-size:clamp(1.2rem,1.15vw + .95rem,1.7rem);line-height:1.14;letter-spacing:.04em;text-transform:uppercase;color:var(--shell-text-strong);opacity:0;transform:translateY(12px);animation:portfolio-heading-reveal .64s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(70ms + var(--heading-delay))}.portfolio-shell__section-lead{margin:.72rem 0 0;max-width:66ch;font-size:clamp(.97rem,.36vw + .88rem,1.08rem);line-height:1.62;color:var(--shell-text-body)}.portfolio-shell__section--hero{min-height:clamp(340px,64vh,620px);display:flex;flex-direction:column;justify-content:center}.portfolio-shell__kicker{margin:0;font-size:.79rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--shell-text-accent)}.portfolio-shell__hero-title{margin:.7rem 0 0;max-width:18ch;font-size:clamp(2.05rem,4.2vw,3.35rem);line-height:1.04;font-weight:800;letter-spacing:.01em;color:var(--shell-text-strong);text-wrap:balance;opacity:0;transform:translateY(12px);animation:portfolio-heading-reveal .7s cubic-bezier(.22,1,.36,1) forwards;animation-delay:30ms}.portfolio-shell__hero-actions{margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:.75rem}.portfolio-shell__button{appearance:none;border:1px solid rgba(170,195,237,.34);border-radius:999px;padding:.72rem 1.15rem;font:inherit;font-size:.9rem;font-weight:700;letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease,color .17s ease,background-color .17s ease}.portfolio-shell__button--primary{color:var(--shell-text-strong);background:linear-gradient(120deg,#57d5ff54,#bc71ff47);box-shadow:0 13px 24px #3f85c04d,inset 0 1px #fff3}.portfolio-shell__button--secondary{color:var(--shell-text-body);background:#12192bb3}.portfolio-shell__button:hover{transform:translateY(-1px);border-color:#93e6ffd1}.portfolio-shell__button--secondary:hover{color:var(--shell-text-strong);box-shadow:0 11px 22px #11558b38}.portfolio-shell__button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--shell-focus-ring),0 0 0 4px var(--shell-focus)}.portfolio-shell__button:active{transform:translateY(0) scale(.99)}.portfolio-shell__projects-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.portfolio-shell__portfolio-groups{margin-top:1rem;display:grid;gap:1rem}.portfolio-shell__portfolio-group,.portfolio-shell__capabilities-block{border-radius:.92rem;border:1px solid rgba(171,198,241,.24);background:linear-gradient(180deg,#0e1526c2,#090f1cad);padding:1rem}.portfolio-shell__subheading{margin:0;font-size:clamp(1.02rem,.4vw + .94rem,1.22rem);line-height:1.2;color:var(--shell-text-strong)}.portfolio-shell__group-copy{margin:.45rem 0 0;max-width:64ch;font-size:.95rem;line-height:1.58;color:var(--shell-text-body)}.portfolio-shell__project-card{display:block;border-radius:.9rem;border:1px solid rgba(174,198,240,.3);background:var(--shell-panel-soft);color:inherit;padding:.95rem;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.portfolio-shell__project-card--link{cursor:pointer}.portfolio-shell__project-card:hover,.portfolio-shell__project-card:focus-visible{transform:translateY(-2px);border-color:#91e0ffc7;box-shadow:0 14px 26px #125a923d}.portfolio-shell__project-card:focus-visible{outline:none;box-shadow:0 0 0 2px var(--shell-focus-ring),0 0 0 4px #8adeffa6,0 14px 26px #125a923d}.portfolio-shell__project-category{margin:0;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--shell-text-accent)}.portfolio-shell__project-title{margin:.5rem 0 0;font-size:clamp(1.03rem,.35vw + .95rem,1.16rem);font-weight:700;line-height:1.2;color:var(--shell-text-strong)}.portfolio-shell__project-copy{margin:.58rem 0 0;font-size:clamp(.92rem,.24vw + .86rem,.98rem);line-height:1.56;color:var(--shell-text-body)}.portfolio-shell__project-stack{margin:.7rem 0 0;font-size:.82rem;color:var(--shell-text-muted)}.portfolio-shell__project-link{margin:.78rem 0 0;font-size:.8rem;font-weight:700;letter-spacing:.02em;color:var(--shell-text-accent)}.portfolio-shell__stats-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.portfolio-shell__stat-card{border-radius:.85rem;border:1px solid rgba(174,198,240,.28);background:var(--shell-panel-soft);padding:.85rem;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.portfolio-shell__stat-card:hover{transform:translateY(-1px);border-color:#91e0ffb3;box-shadow:0 10px 20px #125a9233}.portfolio-shell__stat-value{margin:0;font-size:clamp(1.55rem,3vw,2rem);font-weight:800;line-height:1;color:var(--shell-text-strong)}.portfolio-shell__stat-label{margin:.5rem 0 0;font-size:.84rem;letter-spacing:.03em;color:var(--shell-text-muted)}.portfolio-shell__capabilities-block{margin-top:1rem}.portfolio-shell__capabilities-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.portfolio-shell__capability-card{border-radius:.85rem;border:1px solid rgba(174,198,240,.28);background:#0b122094;padding:.9rem;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.portfolio-shell__capability-card:hover{transform:translateY(-1px);border-color:#91e0ffad;box-shadow:0 12px 22px #125a922e}.portfolio-shell__capability-title{margin:0;font-size:.98rem;line-height:1.2;color:var(--shell-text-strong)}.portfolio-shell__capability-copy{margin:.46rem 0 0;font-size:.92rem;line-height:1.55;color:var(--shell-text-body)}.portfolio-shell__timeline{margin:.95rem 0 0;padding:0;list-style:none;display:grid;gap:.9rem}.portfolio-shell__timeline-item{position:relative;padding:.5rem .65rem .58rem 1.2rem;border-radius:.78rem;border-left:1px solid rgba(145,174,225,.38);background:#0c132194;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.portfolio-shell__timeline-item:hover{transform:translateY(-1px);border-left-color:#8dddffe6;box-shadow:0 10px 18px #135c952e}.portfolio-shell__timeline-item:before{content:"";position:absolute;left:-.31rem;top:.52rem;width:.58rem;height:.58rem;border-radius:50%;background:#8ce2ffe6;box-shadow:0 0 0 4px #68a5f126}.portfolio-shell__timeline-period{margin:0;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--shell-text-accent)}.portfolio-shell__timeline-role{margin:.5rem 0 0;font-size:clamp(.98rem,.22vw + .93rem,1.08rem);color:var(--shell-text-strong)}.portfolio-shell__timeline-company{margin:.25rem 0 0;color:var(--shell-text-body)}.portfolio-shell__timeline-summary{margin:.4rem 0 0;font-size:clamp(.92rem,.2vw + .86rem,.98rem);line-height:1.58;color:var(--shell-text-muted)}.portfolio-shell__contact-form{margin-top:1rem;display:grid;gap:.8rem}.portfolio-shell__field{display:grid;gap:.35rem}.portfolio-shell__field-label{font-size:.82rem;letter-spacing:.02em;color:var(--shell-text-muted)}.portfolio-shell__input,.portfolio-shell__textarea{width:100%;border-radius:.78rem;border:1px solid rgba(166,189,233,.4);background:#090f1cc7;color:var(--shell-text-strong);font:inherit;padding:.65rem .72rem;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.portfolio-shell__textarea{resize:vertical;min-height:6.75rem}.portfolio-shell__input::placeholder,.portfolio-shell__textarea::placeholder{color:#99abc9e0}.portfolio-shell__input:focus-visible,.portfolio-shell__textarea:focus-visible{outline:none;border-color:#8fe5ffe0;background:#0b1220db;box-shadow:0 0 0 2px var(--shell-focus-ring),0 0 0 4px #8ce4ffb3}@media(max-width:980px){.portfolio-shell__inner{grid-template-columns:1fr}.portfolio-shell__sidebar{position:static;height:auto}.portfolio-shell__nav{width:100%}.portfolio-shell__section{min-height:unset}.portfolio-shell__capabilities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.portfolio-shell__projects-grid,.portfolio-shell__stats-grid,.portfolio-shell__capabilities-grid{grid-template-columns:1fr}.portfolio-shell__hero-title{max-width:100%}.portfolio-shell__hero-actions{width:100%}.portfolio-shell__button{width:100%;text-align:center}}@media(prefers-reduced-motion:reduce){.portfolio-shell__heading,.portfolio-shell__hero-title{opacity:1;transform:none;animation:none}.portfolio-shell__section,.portfolio-shell__button,.portfolio-shell__nav-button,.portfolio-shell__project-card,.portfolio-shell__stat-card,.portfolio-shell__timeline-item,.portfolio-shell__input,.portfolio-shell__textarea{transition:none}.portfolio-shell__section:hover,.portfolio-shell__button:hover,.portfolio-shell__nav-button:hover,.portfolio-shell__project-card:hover,.portfolio-shell__stat-card:hover,.portfolio-shell__timeline-item:hover{transform:none}}
