html,body{scroll-behavior:smooth}html{scroll-snap-type:y mandatory;scroll-padding-top:96px;scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(135deg,#0a0a0a,#1a1a1a);color:#fff;overflow-x:hidden;display:block;min-height:100vh;scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar{width:0;height:0}main{padding-top:96px}section{width:min(980px,calc(100% - 48px));margin:0 auto;padding:80px 24px;position:relative;scroll-snap-align:center;scroll-snap-stop:always}section:before{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}section:last-child:before{display:none}h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:700;letter-spacing:-.04em;margin:0 0 24px;background:linear-gradient(135deg,#fff,#888);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInUp .8s ease-out}h2{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;letter-spacing:-.03em;margin:0 0 32px;color:#fff;position:relative;display:inline-block}h2:after{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:3px;background:linear-gradient(90deg,#4744ff,#00adcc);border-radius:2px}h3{font-size:clamp(1.2rem,3vw,1.5rem);font-weight:600;letter-spacing:-.02em;margin:0 0 12px;color:#fff}p{margin:0 0 16px;color:#ffffffbf;line-height:1.7;font-size:1rem}#home{min-height:70vh;display:flex;flex-direction:column;justify-content:center;animation:fadeIn 1s ease-out}.status-pill{display:inline-flex;align-items:center;gap:10px;padding:8px 18px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:999px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-size:.82rem;color:#ffffffd1;letter-spacing:.02em;margin-bottom:36px;align-self:flex-start;width:fit-content}.status-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 10px #4ade80a6;animation:statusPulse 2.4s ease-in-out infinite;flex-shrink:0}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.hero-name{margin:0 0 12px}.hero-name .signature-name{background:linear-gradient(135deg,#fff,#888);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.hero-role{font-size:clamp(1.05rem,2.4vw,1.4rem);font-weight:300;color:#ffffffc7;letter-spacing:.01em;margin:0 0 32px;max-width:720px}.hero-bio{max-width:680px;font-size:1.05rem}.signature-name{position:relative;display:inline-block;cursor:pointer}.signature-name:after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;font:inherit;letter-spacing:inherit;color:transparent;background-image:radial-gradient(circle 20px at var(--cx, -9999px) var(--cy, -9999px),rgba(0,31,125,1) 0%,rgba(8,42,149,.95) 22%,rgba(31,86,196,.7) 45%,rgba(54,118,197,.25) 70%,transparent 95%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px rgba(247,213,106,.35))}.section-number{position:absolute;top:24px;right:-8px;font-family:Space Grotesk,sans-serif;font-size:clamp(96px,16vw,220px);font-weight:700;letter-spacing:-.05em;line-height:.85;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}section>*:not(.section-number){position:relative;z-index:1}@media(max-width:768px){.section-number{font-size:clamp(72px,22vw,130px);top:16px;right:-4px}}#projects{width:min(1320px,calc(100% - 48px))}#about ul{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px}#about ul li{position:relative;padding-left:20px;color:#ffffffbf;line-height:1.6}#about ul li:before{content:"•";position:absolute;left:0;color:#448fffe6;font-size:1.5em;line-height:1}.edge-fade{position:fixed;left:0;right:0;pointer-events:none;z-index:30}.edge-fade-top{top:0;height:188px;background:linear-gradient(to bottom,#08070aeb,#08070a00);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,transparent 100%)}.edge-fade-bottom{bottom:0;height:40px;background:linear-gradient(to top,#08070aeb,#08070a00);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-mask-image:linear-gradient(to top,#000 0%,transparent 100%);mask-image:linear-gradient(to top,#000 0%,transparent 100%)}.finale-glow{position:fixed;left:50%;bottom:-10%;width:min(1200px,110vw);height:90vh;transform:translate(-50%);pointer-events:none;z-index:0;background:radial-gradient(ellipse at 50% 100%,rgba(242,255,60,.16) 0%,rgba(244,255,90,.08) 25%,rgba(239,255,90,.025) 50%,transparent 70%);filter:blur(20px);opacity:0;transition:opacity 1.4s cubic-bezier(.22,1,.36,1)}body.in-finale .finale-glow{opacity:1}.finale-vignette{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 50% 60%,transparent 38%,rgba(0,0,0,.18) 72%,rgba(0,0,0,.42) 100%);opacity:0;transition:opacity 1.4s cubic-bezier(.22,1,.36,1)}body.in-finale .finale-vignette{opacity:1}#contact{text-align:center;padding:80px 24px;scroll-margin-bottom:220px}#contact h2{display:inline-block}.contact-intro{max-width:560px;margin:0 auto 40px;color:#ffffffb3}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media(min-width:720px){.contact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.contact-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 16px;text-decoration:none;color:#ffffffd9;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .3s ease,border-color .3s ease,background .3s ease,color .3s ease;position:relative;overflow:hidden;text-align:center}.contact-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ff44440f,#cc00000a);opacity:0;transition:opacity .3s ease;pointer-events:none}.contact-card:hover{transform:translateY(-3px);border-color:#ff444459;color:#fff}.contact-card:hover:before{opacity:1}.contact-card:focus-visible{outline:2px solid rgba(255,68,68,.6);outline-offset:2px}.contact-icon{width:28px;height:28px;color:#ffffffd9;transition:color .3s ease,transform .3s ease;position:relative;z-index:1}.contact-card:hover .contact-icon{color:#ff7878f2;transform:scale(1.06)}.contact-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#ffffff8c;position:relative;z-index:1}.contact-value{font-size:.92rem;color:#ffffffeb;position:relative;z-index:1;word-break:break-word}.copy-mail-btn{display:inline-flex;align-items:center;justify-content:center;width:1.15em;height:1.15em;margin-left:8px;padding:0;vertical-align:middle;border:1px solid rgba(255,255,255,.18);border-radius:4px;background:#ffffff0a;color:#ffffffb3;cursor:pointer;transition:background .22s ease,border-color .22s ease,color .22s ease,transform .22s ease;flex-shrink:0}.copy-mail-btn:hover{background:#ffffff1a;border-color:#ffffff52;color:#fff;transform:translateY(-1px)}.copy-mail-btn:focus-visible{outline:2px solid rgba(255,215,100,.7);outline-offset:2px}.copy-mail-btn.is-copied{background:#4ade802e;border-color:#4ade8080;color:#8cf5af}.copy-mail-btn svg{width:70%;height:70%;display:block}.nav-links{display:none}.nav-burger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.logo-footer-section{background:#00000080;text-align:center;padding:40px!important;border-top:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.logo-footer,.logo-footer-section p{position:relative;z-index:1}.logo-footer{width:300px;height:auto;margin:0 auto 20px;display:block;opacity:.9}.logo-footer-section p{margin:10px 0 0;opacity:.7}.logo-watermark{position:fixed;left:50%;bottom:20%;width:600px;height:auto;opacity:.03;z-index:0;pointer-events:none;transform:translate(-50%) rotate(-20deg)}@media(max-width:1024px){.logo-watermark{width:400px}.logo-footer{width:250px}}@media(max-width:768px){.logo-watermark{display:none}.logo-footer{width:180px}}@media(min-width:768px){.nav-links{display:flex}.nav-burger{display:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){section{padding:60px 20px}.edge-fade-top{height:72px}.edge-fade-bottom{height:28px}.status-pill{flex-wrap:wrap;text-align:left}#contact{padding:60px 20px}}@media(max-width:380px){.status-pill{font-size:.75rem;padding:6px 14px}}@media(prefers-reduced-motion:reduce){html,body{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}#home,.hero-name,.status-dot{animation:none!important;opacity:1!important;transform:none!important}}.introOverlay{position:fixed;inset:0;background:#08070a;display:grid;place-items:center;overflow:hidden;z-index:99999}.introVignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 50%,transparent 35%,rgba(0,0,0,.55) 100%);z-index:1}.introGlowWrap{position:absolute;inset:0;pointer-events:none;z-index:2}.introGlowTop{position:absolute;top:0;left:0;right:0;height:240px;background:radial-gradient(70% 120% at 50% 0%,#ffe8c624,#ffe8c600 70%),linear-gradient(to bottom,#fff0d714,#fff0d700);filter:blur(72px);transform:translateY(-30%);opacity:.85;mix-blend-mode:screen}.introGlowBottom{position:absolute;bottom:0;left:0;right:0;height:240px;background:radial-gradient(70% 120% at 50% 100%,#ffe8c624,#ffe8c600 70%),linear-gradient(to top,#fff0d714,#fff0d700);filter:blur(72px);transform:translateY(30%);opacity:.85;mix-blend-mode:screen}.introTyping{margin:0;padding:0 32px;text-align:center;font-family:Space Grotesk,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:clamp(1.15rem,2.6vw,1.55rem);letter-spacing:.025em;font-weight:300;color:#fffaf4f0;max-width:880px;position:relative;z-index:3;line-height:1.5;text-shadow:0 0 24px rgba(255,232,198,.06)}.introChar{display:inline-block;white-space:pre;animation:introCharIn .36s cubic-bezier(.22,1,.36,1) both;will-change:opacity,transform,filter}@keyframes introCharIn{0%{opacity:0;transform:translateY(3px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.introCursor{display:inline-block;width:1px;height:1em;background:#fffaf4d9;margin-left:5px;vertical-align:middle;transform:translateY(-2px);animation:introBlink 1.2s ease-in-out infinite}@keyframes introBlink{0%,45%{opacity:.92}55%,to{opacity:.06}}.introLogoWrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;z-index:4}.introLogoMotion{width:100%;height:100%;display:flex;align-items:center;justify-content:center;will-change:transform}.introLogoBox{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.introLogoImg{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 32px rgba(255,232,198,.12))}.introSkip{position:absolute;right:28px;bottom:28px;z-index:5;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:0px;background:#fff0;color:#fffaf4c7;font-family:inherit;font-size:.78rem;font-weight:500;letter-spacing:.04em;cursor:pointer;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);animation:introSkipFadeIn .8s .6s cubic-bezier(.22,1,.36,1) both;transition:background .24s ease,color .24s ease,border-color .24s ease,transform .24s ease}.introSkip:hover{background:#ffffff1a;border-color:#ffffff47;color:#fffaf4;transform:translate(2px)}.introSkip:focus-visible{outline:2px solid rgba(255,215,100,.7);outline-offset:3px}@keyframes introSkipFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.introSkip{right:16px;bottom:16px;padding:8px 14px;font-size:.72rem}}@media(prefers-reduced-motion:reduce){.introChar{animation:none}.introCursor{animation:none;opacity:.85}.introLogoImg{filter:none}}.summary-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}.summary-lead{max-width:560px;margin:0;color:#ffffffb3;font-size:1.05rem;line-height:1.6}.summary-all{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;background:#f5d58a0f;border:1px solid rgba(245,213,138,.28);color:#f5d58a;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s ease}.summary-all svg{width:16px;height:16px;transition:transform .25s ease}.summary-all:hover{background:#f5d58a1f;border-color:#f5d58a80;transform:translateY(-1px)}.summary-all:hover svg{transform:translate(3px)}.summary-all:focus-visible{outline:2px solid rgba(245,213,138,.6);outline-offset:2px}.summary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:16px}.summary-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:18px 18px 16px;text-align:left;font:inherit;cursor:pointer;background:#ffffff06;border:1px solid rgba(255,255,255,.07);border-radius:18px;color:#fff;position:relative;overflow:hidden;transition:border-color .3s ease,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease}.summary-card:before{content:"";position:absolute;inset:0;background:radial-gradient(420px 220px at 85% -20%,rgba(245,213,138,.1),transparent 60%);opacity:0;transition:opacity .35s ease;pointer-events:none}.summary-card:hover{transform:translateY(-4px);border-color:#f5d58a52;box-shadow:0 20px 50px #0006}.summary-card:hover:before{opacity:1}.summary-card:focus-visible{outline:2px solid rgba(245,213,138,.6);outline-offset:2px}.summary-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.summary-badge{width:46px;height:46px;flex:0 0 46px;border-radius:13px;display:grid;place-items:center;font-family:Space Grotesk,sans-serif;font-size:1.05rem;font-weight:700;letter-spacing:-.03em;color:#fffffff2;position:relative;overflow:hidden}.summary-badge:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 100% at 25% 20%,rgba(255,255,255,.22),transparent 60%)}.summary-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.summary-year{font-family:Space Grotesk,sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:#ffffff73}.summary-status{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:500;color:#fff9}.summary-status:before{content:"";width:7px;height:7px;border-radius:50%}.summary-status--dot:before{background:#4ade80;box-shadow:0 0 8px #4ade8099}.summary-status--academic:before{background:#6ba9ff;box-shadow:0 0 8px #6ba9ff99}.summary-title{margin:2px 0 0;font-size:1.18rem;font-weight:700;letter-spacing:-.02em;color:#fff}.summary-type{margin:0;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#f5d58ac7}.summary-tagline{margin:2px 0 0;font-size:.9rem;line-height:1.5;color:#ffffff9e;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.summary-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:6px}.summary-tags{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.summary-tag{padding:4px 10px;font-size:.72rem;font-weight:500;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#ffffffb8;white-space:nowrap}.summary-tag--more{color:#f5d58ad9;border-color:#f5d58a40;background:#f5d58a0f}.summary-arrow{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#ffffffb3;transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease}.summary-arrow svg{width:15px;height:15px}.summary-card:hover .summary-arrow{background:#f5d58a24;border-color:#f5d58a73;color:#f5d58a;transform:translate(3px)}@media(max-width:560px){.summary-grid{grid-template-columns:1fr}.summary-all{width:100%;justify-content:center}}@media(pointer:fine){body.has-cursor-fx,body.has-cursor-fx *{cursor:none!important}}.cursor-dot{position:fixed;top:0;left:0;width:22px;height:22px;border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:difference;background:radial-gradient(circle at 35% 35%,#fff,#ffffffd9 45%,#ffffff59 75%,#fff0);filter:blur(.6px);opacity:0;transition:opacity .4s ease,width .25s cubic-bezier(.22,1,.36,1),height .25s cubic-bezier(.22,1,.36,1);will-change:transform,width,height}.cursor-dot.is-hovering{width:44px;height:44px;filter:blur(1.4px)}.cursor-halo{position:fixed;top:0;left:0;width:460px;height:460px;pointer-events:none;z-index:1;background:radial-gradient(circle,rgba(255,90,90,.085) 0%,rgba(255,90,90,.04) 25%,rgba(255,90,90,.012) 55%,transparent 75%);filter:blur(28px);mix-blend-mode:screen;opacity:0;transition:opacity .6s ease;will-change:transform}.cursor-ripple{position:fixed;width:14px;height:14px;border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,.55) 0%,rgba(255,90,90,.32) 35%,rgba(255,90,90,.08) 65%,transparent 80%);mix-blend-mode:screen;animation:cursorRipple .85s cubic-bezier(.22,1,.36,1) forwards}@keyframes cursorRipple{0%{width:14px;height:14px;opacity:.95}to{width:360px;height:360px;opacity:0}}@media(prefers-reduced-motion:reduce){.cursor-halo,.cursor-ripple{display:none}}.tech-backdrop{position:absolute;inset:0;pointer-events:none;z-index:0;display:flex;flex-direction:column;justify-content:space-evenly;align-items:center;padding:12px 24px;overflow:hidden;--tx: -9999px;--ty: -9999px}.tech-line{width:100%;text-align:center;font-family:Space Grotesk,Inter,system-ui,sans-serif;font-size:1.2rem;font-weight:600;letter-spacing:.04em;white-space:nowrap;line-height:1.1;color:transparent;background-image:radial-gradient(circle 400px at var(--tx) var(--ty),rgba(255,240,200,.95) 0%,rgba(248,220,150,.78) 18%,rgba(220,180,100,.32) 45%,rgba(180,140,80,.06) 72%,transparent 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 6px rgba(255,215,140,.18));transition:filter .4s ease;-webkit-user-select:none;user-select:none}@media(prefers-reduced-motion:reduce){.tech-line{transition:none}}@media(max-width:768px),(pointer:coarse){.tech-backdrop{display:none}}.labs-root{position:relative;height:100vh;width:100%;display:flex;flex-direction:column;overflow:hidden;color:#ffffffeb;font-family:inherit;background:radial-gradient(900px 600px at 12% -5%,rgba(71,68,255,.18),transparent 60%),radial-gradient(800px 600px at 95% 8%,rgba(0,173,204,.16),transparent 60%)}.labs-logo{position:fixed;top:18px;left:18px;z-index:100;width:158px;height:41px;padding:5px;display:flex;align-items:center;justify-content:center;border-radius:135px;background:#ffffff0f;-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px #ffffff2e,0 8px 28px #00000047;cursor:pointer;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease}.labs-logo:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff38,0 12px 34px #00000057}.labs-logo img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.labs-bar{flex:0 0 auto;padding:16px 24px 10px 200px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.labs-title{margin:0;font-size:clamp(1.1rem,2.4vw,1.6rem);font-weight:700;line-height:1;background:linear-gradient(135deg,#fff,#9aa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.labs-hint{margin:0;font-size:.85rem;color:#ffffff80}.labs-wall{flex:1 1 auto;min-height:0;padding:8px 14px 14px}.labs-empty{height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff80}.labs-mosaic{height:100%;width:100%;display:grid;gap:6px}.labs-tile{position:relative;margin:0;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:10px;background:radial-gradient(120% 120% at 50% 0%,#fbfaf7,#ece8e1);border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 14px #00000047;cursor:none;transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s ease,z-index 0ms;will-change:transform}.labs-art{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.labs-tile:hover{transform:scale(2.3);z-index:50;box-shadow:0 24px 60px #0000008c;border-color:#ffffff4d}@media(prefers-reduced-motion:reduce){.labs-logo,.labs-tile{transition:none}}.project-story-backdrop{position:fixed;inset:0;z-index:1100;background:radial-gradient(ellipse at top,#28233299,#08070af2 60%,#08070afa),#08070a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:stretch;overflow:hidden}.project-story-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;border-bottom:1px solid rgba(255,255,255,.06)}.project-story-meta{display:flex;flex-direction:column;gap:2px}.project-story-type{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:#ff4444d9}.project-story-title{margin:0;font-size:1.1rem;font-weight:600;letter-spacing:-.01em;color:#fff}.project-story-actions{display:flex;align-items:center;gap:10px}.project-story-toggle{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#ffffffc7;font-size:.78rem;cursor:pointer;transition:background .25s ease,border-color .25s ease,color .25s ease}.project-story-toggle:hover{background:#ffffff14;color:#fff}.project-story-toggle.is-on{background:#ff444424;border-color:#ff444473;color:#fff}.project-story-toggle-dot{width:6px;height:6px;border-radius:50%;background:#fff6;transition:background .25s ease,box-shadow .25s ease}.project-story-toggle.is-on .project-story-toggle-dot{background:#ff6b6b;box-shadow:0 0 10px #ff5a5ab3}.project-story-close{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#ffffffd9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease}.project-story-close:hover{background:#ff44442e;color:#fff;transform:rotate(90deg)}.project-story-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 32px;min-height:0}.project-story-frame{position:relative;display:inline-block;max-width:100%;max-height:100%;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px #0000008c,0 0 0 1px #ffffff0d}.project-story-image{display:block;width:min(1200px,92vw);max-height:calc(100vh - 220px);aspect-ratio:16 / 10;height:auto;object-fit:contain;background:#ffffff05;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.project-story-hotspot{position:absolute;padding:0;margin:0;border:none;background:transparent;cursor:pointer;outline:none;transition:background .2s ease,box-shadow .2s ease;border-radius:6px}.project-story-hotspot.is-visible{background:#ff44442e;box-shadow:inset 0 0 0 1px #ff5a5aa6}.project-story-hotspot.is-visible:hover{background:#ff444452}.project-story-hotspot:focus-visible{outline:2px solid rgba(255,215,100,.85);outline-offset:2px}.project-story-hotspot-label{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);font-size:.7rem;font-weight:600;letter-spacing:.04em;color:#fff;background:#000000b3;padding:4px 8px;border-radius:6px;white-space:nowrap;pointer-events:none}.project-story-foot{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 28px 22px}.project-story-step{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#ffffffd9;font-size:1.1rem;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s ease}.project-story-step:hover:not(:disabled){background:#ff444424;border-color:#ff444473;transform:scale(1.05)}.project-story-step:disabled{opacity:.3;cursor:not-allowed}.project-story-progress{display:flex;gap:8px}.project-story-dot{width:30px;height:4px;padding:0;border:none;border-radius:999px;background:#ffffff24;cursor:pointer;transition:background .25s ease,width .3s ease}.project-story-dot:hover{background:#ffffff47}.project-story-dot.is-active{background:#ff4444d9;width:44px}@media(max-width:768px){.project-story-bar{padding:12px 14px;gap:8px}.project-story-title{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50vw}.project-story-toggle{height:32px;padding:0 10px;font-size:.72rem}.project-story-close{width:32px;height:32px}.project-story-stage{padding:10px 8px}.project-story-image{max-width:96vw;max-height:calc(100dvh - 190px)}.project-story-foot{padding:10px 8px 14px;gap:12px}.project-story-step{width:36px;height:36px}.project-story-dot{width:22px}.project-story-dot.is-active{width:32px}}@media(max-width:380px){.project-story-toggle{display:none}.project-story-title{max-width:60vw}}.projects-detail{--pd-panel: rgba(255, 255, 255, .025);--pd-panel-2: rgba(255, 255, 255, .04);--pd-line: rgba(255, 255, 255, .08);--pd-line-strong: rgba(255, 255, 255, .14);--pd-txt: rgba(255, 255, 255, .92);--pd-txt-soft: rgba(255, 255, 255, .64);--pd-txt-mut: rgba(255, 255, 255, .44);--pd-accent: #f5d58a;--pd-accent-soft: rgba(245, 213, 138, .85);--pd-radius-xl: 32px;--pd-radius-l: 20px;--pd-radius-m: 15px;--pd-shot-h: 360px;min-height:100vh;color:var(--pd-txt);font-family:Space Grotesk,ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;background:radial-gradient(1200px 700px at 80% -10%,rgba(245,213,138,.06),transparent 60%),linear-gradient(135deg,#0a0a0a,#131217)}.projects-detail *,.projects-detail *:before,.projects-detail *:after{box-sizing:border-box}.pd-page{max-width:1850px;margin:0 auto;padding:28px}.pd-frame{display:grid;grid-template-columns:308px 1fr;gap:22px;padding:24px;background:linear-gradient(180deg,#16141a99,#0c0b1099);border:1px solid var(--pd-line);border-radius:var(--pd-radius-xl);box-shadow:0 40px 90px #00000080;height:calc(100vh - 56px);align-items:stretch;overflow:hidden}.pd-side{align-self:start;display:flex;flex-direction:column;gap:20px;min-height:0;height:100%}.pd-back{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-bottom:16px;padding:8px 14px;border-radius:999px;background:var(--pd-panel-2);border:1px solid var(--pd-line);color:var(--pd-txt-soft);font:inherit;font-size:.84rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .2s}.pd-back svg{width:16px;height:16px}.pd-back:hover{background:#f5d58a1a;border-color:#f5d58a66;color:#fff;transform:translate(-2px)}.pd-back:focus-visible{outline:2px solid rgba(245,213,138,.6);outline-offset:2px}.pd-eyebrow{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--pd-accent-soft);margin:0 0 10px}.projects-detail .pd-head h1{font-size:clamp(1.9rem,2.2vw,2.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.04;margin:0;animation:none;background:linear-gradient(135deg,#fff,#8a8a8a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.pd-rail{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--pd-panel);border:1px solid var(--pd-line);border-radius:var(--pd-radius-l);min-height:0;overflow-y:auto;scrollbar-width:thin}.pd-rail::-webkit-scrollbar{width:7px}.pd-rail::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}.pd-rail-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--pd-txt-mut);padding:8px 12px 4px;margin:0}.pd-rail-item{display:flex;align-items:center;gap:13px;padding:10px 12px;border:1px solid transparent;border-radius:var(--pd-radius-m);background:transparent;color:var(--pd-txt-soft);font-family:inherit;font-size:.92rem;text-align:left;cursor:pointer;transition:background .2s,color .2s,border-color .2s;width:100%}.pd-rail-item:hover{background:var(--pd-panel-2);color:var(--pd-txt)}.pd-rail-item.is-active{background:#f5d58a14;border-color:#f5d58a4d;color:#fff}.pd-rail-item:focus-visible{outline:2px solid rgba(245,213,138,.6);outline-offset:2px}.pd-rail-badge{width:36px;height:36px;flex:0 0 36px;border-radius:11px;display:grid;place-items:center;font-size:.84rem;font-weight:700;letter-spacing:-.02em;color:#fff}.pd-rail-meta{display:flex;flex-direction:column;min-width:0}.pd-rail-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem}.pd-rail-year{font-size:.74rem;color:var(--pd-txt-mut)}.pd-stage-wrap{position:relative;min-width:0;min-height:0}.pd-scroll-shadow{position:absolute;left:0;right:9px;height:56px;pointer-events:none;z-index:5;opacity:0;transition:opacity .28s ease;border-radius:var(--pd-radius-l)}.pd-scroll-shadow-top{top:0;background:linear-gradient(to bottom,#0000008c,#0000)}.pd-scroll-shadow-bottom{bottom:0;background:linear-gradient(to top,#0000008c,#0000)}.pd-stage-wrap.show-top .pd-scroll-shadow-top,.pd-stage-wrap.show-bottom .pd-scroll-shadow-bottom{opacity:1}.pd-stage{height:100%;min-width:0;min-height:0;overflow-y:auto;padding-right:8px}.pd-stage::-webkit-scrollbar{width:9px}.pd-stage::-webkit-scrollbar-track{background:transparent}.pd-stage::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.pd-stage::-webkit-scrollbar-thumb:hover{background:#ffffff38;background-clip:padding-box}.pd-bento{display:flex;flex-direction:column;gap:18px}.pd-band-top{display:grid;grid-template-columns:1.05fr 1fr;gap:18px;align-items:stretch}.pd-band-bottom{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}.pd-info-col{display:flex;flex-direction:column;gap:18px}.pd-info-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:18px;flex:1}.pd-mod{background:var(--pd-panel);border:1px solid var(--pd-line);border-radius:var(--pd-radius-l);padding:20px 22px;min-width:0}.pd-mod-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--pd-txt-mut);margin:0 0 13px;display:flex;align-items:center;gap:8px}.pd-mod-label svg{width:15px;height:15px;opacity:.7}.pd-headmod{padding:24px 26px}.pd-type{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--pd-accent-soft);margin:0 0 10px}.projects-detail .pd-headmod h2{margin:0 0 8px;font-size:clamp(1.7rem,2.4vw,2.2rem);font-weight:700;letter-spacing:-.02em;color:#fff;display:block}.projects-detail .pd-headmod h2:after{display:none}.pd-tagline{margin:0 0 18px;color:var(--pd-txt-soft);font-size:1.06rem;line-height:1.5}.pd-meta-row{display:flex;flex-wrap:wrap;gap:10px}.pd-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;background:var(--pd-panel-2);border:1px solid var(--pd-line);font-size:.86rem;color:var(--pd-txt)}.pd-chip svg{width:15px;height:15px;opacity:.7}.pd-status:before{content:"";width:8px;height:8px;border-radius:50%}.pd-status--dot:before{background:#4ade80;box-shadow:0 0 8px #4ade8099}.pd-status--academic:before{background:#6ba9ff;box-shadow:0 0 8px #6ba9ff99}.pd-visual{padding:16px;display:flex;flex-direction:column;gap:14px}.pd-shot-main{border:1px solid var(--pd-line);border-radius:var(--pd-radius-m);overflow:hidden;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.04),transparent 70%),#0d0c11;height:var(--pd-shot-h);width:100%;cursor:zoom-in;display:grid;place-items:center;padding:0}.pd-shot-main img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.pd-shot-thumbs{display:flex;gap:10px}.pd-thumb{flex:1;aspect-ratio:16 / 10;border-radius:10px;overflow:hidden;border:1px solid var(--pd-line);cursor:pointer;background:#0d0c11;opacity:.55;transition:opacity .2s,border-color .2s;padding:0}.pd-thumb img{width:100%;height:100%;object-fit:contain;display:block}.pd-thumb:hover,.pd-thumb.is-active{opacity:1;border-color:#f5d58a73}.pd-cover{border-radius:var(--pd-radius-m);height:var(--pd-shot-h);width:100%;position:relative;overflow:hidden;display:grid;place-items:center}.pd-cover:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 100% at 25% 20%,rgba(255,255,255,.18) 0%,transparent 60%)}.pd-cover:after{content:"";position:absolute;inset:0;background:radial-gradient(80% 80% at 80% 100%,rgba(0,0,0,.4) 0%,transparent 60%)}.pd-cover-initials{position:relative;z-index:1;font-size:clamp(2.4rem,4vw,3.4rem);font-weight:700;letter-spacing:-.04em;color:#ffffffeb;text-shadow:0 2px 16px rgba(0,0,0,.35)}.pd-role{border-left:2px solid rgba(245,213,138,.55)}.pd-role-value{font-size:1.12rem;color:#fff;font-weight:500}.pd-team-list{display:flex;flex-direction:column;gap:10px}.pd-team-member{display:flex;align-items:center;gap:11px;font-size:.94rem;color:var(--pd-txt)}.pd-avatar{width:30px;height:30px;border-radius:50%;flex:0 0 30px;display:grid;place-items:center;font-size:.72rem;font-weight:700;background:#ffffff14;border:1px solid var(--pd-line);color:var(--pd-txt)}.pd-team-solo{color:var(--pd-txt-soft);font-size:.96rem;font-style:italic;margin:0}.pd-tags{display:flex;flex-wrap:wrap;gap:9px}.pd-tag{padding:6px 14px;border-radius:999px;background:var(--pd-panel-2);border:1px solid var(--pd-line);font-size:.8rem;color:var(--pd-txt);white-space:nowrap}.pd-links{display:flex;flex-direction:column;gap:10px}.pd-link-btn{display:inline-flex;align-items:center;gap:10px;padding:11px 16px;border-radius:var(--pd-radius-m);background:var(--pd-panel-2);border:1px solid var(--pd-line);color:var(--pd-txt);text-decoration:none;font:inherit;font-size:.9rem;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.pd-link-btn:hover{background:#f5d58a1f;border-color:#f5d58a66;transform:translate(3px)}.pd-link-btn svg{width:17px;height:17px;flex-shrink:0}.pd-link-btn.disabled{opacity:.4;pointer-events:none}.pd-desc p{margin:0;color:var(--pd-txt-soft);line-height:1.75;font-size:1rem}.pd-feat-list{margin:0;padding:0;list-style:none;display:grid;gap:11px}.pd-feat-list li{position:relative;padding-left:22px;color:var(--pd-txt-soft);line-height:1.5;font-size:.95rem}.pd-feat-list li:before{content:"›";position:absolute;left:2px;color:var(--pd-accent-soft);font-weight:700;font-size:1.15em}.pd-learn{background:#f5d58a0a;border-color:#f5d58a2e}.pd-learn-text{margin:0;font-style:italic;color:#fffc;line-height:1.65;font-size:.97rem}.pd-lightbox{position:fixed;inset:0;z-index:1000;background:#060508db;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:none;align-items:center;justify-content:center;padding:40px;cursor:zoom-out}.pd-lightbox.open{display:flex}.pd-lightbox img{max-width:94vw;max-height:90vh;border-radius:14px;border:1px solid var(--pd-line-strong);box-shadow:0 40px 100px #0009;cursor:default}.pd-lightbox-close{position:absolute;top:22px;right:24px;width:44px;height:44px;border-radius:50%;border:1px solid var(--pd-line-strong);background:#00000080;color:#fff;cursor:pointer;font-size:1.4rem;line-height:1;display:grid;place-items:center}@media(max-width:1080px){.pd-frame{grid-template-columns:1fr;height:auto;overflow:visible}.pd-side{height:auto}.pd-rail{overflow-y:visible}.pd-stage{overflow-y:visible;padding-right:0;min-height:auto;height:auto}.pd-scroll-shadow{display:none}.pd-band-top,.pd-band-bottom{grid-template-columns:1fr}}@media(max-width:600px){.projects-detail{--pd-shot-h: 300px}.pd-page{padding:16px}.pd-frame{padding:16px;gap:16px}.pd-info-grid{grid-template-columns:1fr}}
