.parcours-section__label--cyber .section-label-dot{background:#40e0a0;box-shadow:0 0 0 3px #40e0a033}.parcours-section__label--infra .section-label-dot{background:#5090d0;box-shadow:0 0 0 3px #5090d033}.parcours-section__label--gamedev .section-label-dot{background:#b060e0;box-shadow:0 0 0 3px #b060e033}.section-label-dot{display:inline-block;width:7px;height:7px;border-radius:50%;animation:pulse 2.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5;transform:scale(1.15)}}.parcours-section__label{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-head);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-bottom:28px}.gradient-text--cyber{background:linear-gradient(130deg,#28b870,#40e0a0 60%,#80f0c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text--infra{background:linear-gradient(130deg,#3060b0,#5090d0 60%,#80b8f0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-text--gamedev{background:linear-gradient(130deg,#8040b8,#b060e0 60%,#d090f8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.parcours-hero{min-height:100vh;display:flex;align-items:center;background:linear-gradient(165deg,#fff,#edf4fa 45%,#e2eef8);position:relative}.parcours-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 55% at 65% 35%,rgba(63,168,200,.07) 0%,transparent 60%),radial-gradient(ellipse 45% 35% at 15% 75%,rgba(63,168,200,.04) 0%,transparent 55%);pointer-events:none}.parcours-hero__inner{position:relative;z-index:2;padding:130px 0 100px;max-width:820px}.parcours-hero__badge{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:100px;font-size:.78rem;font-family:var(--f-head);letter-spacing:.06em;color:var(--text-dim);margin-bottom:38px;box-shadow:var(--shadow-xs)}.badge-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px #3fa8c833;animation:pulse 2.5s ease-in-out infinite}.parcours-hero__title{font-family:var(--f-head);font-size:clamp(2.6rem,5.5vw,4.8rem);font-weight:200;letter-spacing:-.04em;line-height:1.06;margin-bottom:28px}.parcours-hero__sub{font-size:clamp(.95rem,1.5vw,1.08rem);color:var(--text-dim);font-weight:300;line-height:1.78;max-width:600px;margin-bottom:42px}.parcours-hero__anchors{display:flex;gap:12px;flex-wrap:wrap}.anchor-pill{display:inline-flex;align-items:center;padding:9px 20px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:100px;font-family:var(--f-head);font-size:.82rem;font-weight:400;color:var(--text-dim);text-decoration:none;transition:all var(--t-spring);box-shadow:var(--shadow-xs)}.anchor-pill:hover{background:var(--surface);color:var(--text);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.anchor-pill--cyber:hover{border-color:#40e0a066;color:#28b870}.anchor-pill--infra:hover{border-color:#5090d066;color:#3870b0}.anchor-pill--gamedev:hover{border-color:#b060e066;color:#8040b8}.parcours-section{background:var(--bg-pure)}.parcours-section--alt{background:var(--bg)}.parcours-split{display:grid;grid-template-columns:1fr 380px;gap:72px;align-items:start;margin-top:16px}.parcours-split--reverse{grid-template-columns:380px 1fr}.parcours-split--reverse .parcours-split__visual{order:-1}.parcours-split__text h2{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:300;letter-spacing:-.03em;line-height:1.15;margin-bottom:24px}.parcours-split__text p{font-size:.95rem;color:var(--text-dim);line-height:1.78;margin-bottom:18px;font-weight:300}.skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}.skill-block{padding:16px 18px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);transition:border-color var(--t-mid),box-shadow var(--t-mid)}.skill-block:hover{border-color:var(--border-h);box-shadow:var(--shadow-xs)}.skill-block__cat{font-family:var(--f-head);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-d);margin-bottom:6px}.skill-block p{font-size:.82rem;color:var(--text-dim);line-height:1.5;margin:0}.visual-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--r-xl);padding:32px 28px;box-shadow:var(--shadow-md);position:sticky;top:100px}.visual-card--cyber{border-top:3px solid rgba(64,224,160,.5)}.visual-card--infra{border-top:3px solid rgba(80,144,208,.5)}.visual-card__stat{display:flex;flex-direction:column;margin-bottom:24px}.visual-card__num{font-family:var(--f-head);font-size:2.4rem;font-weight:200;letter-spacing:-.04em;color:var(--text);line-height:1}.visual-card__label{font-size:.78rem;color:var(--text-muted);letter-spacing:.03em;margin-top:4px}.visual-card__note{font-size:.78rem;color:var(--text-dim);line-height:1.6;border-top:1px solid var(--border);padding-top:18px;margin-top:8px;font-style:italic}.tech-stack-list{display:flex;flex-direction:column;gap:14px}.tech-stack-item{display:flex;flex-direction:column;gap:3px}.tech-stack-cat{font-family:var(--f-head);font-size:.65rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#5090d0}.tech-stack-item span:last-child{font-size:.82rem;color:var(--text-dim)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}.project-card{position:relative;padding:28px 24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:10px;overflow:hidden;transition:transform var(--t-slow),box-shadow var(--t-slow),border-color var(--t-mid)}.project-card:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-md);border-color:#b060e04d}.project-card--more{background:var(--bg);border-style:dashed}.project-card__num{font-family:var(--f-head);font-size:1.8rem;font-weight:200;letter-spacing:-.05em;color:var(--text-muted);line-height:1}.project-card h4{font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.3;flex-grow:1}.project-card p{font-size:.82rem;color:var(--text-dim);line-height:1.55}.project-card__tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.project-card__tags span{font-size:.68rem;padding:3px 10px;background:#b060e00f;color:#8040b8;border:1px solid rgba(176,96,224,.15);border-radius:100px}.timeline{position:relative;margin-top:56px;padding-left:40px}.timeline:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:linear-gradient(to bottom,transparent,var(--primary) 10%,var(--primary) 90%,transparent);opacity:.3}.timeline-item{position:relative;padding-bottom:52px;padding-left:32px}.timeline-item:before{content:"";position:absolute;left:-5px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--primary);opacity:.6;box-shadow:0 0 0 3px #3fa8c826}.timeline-date{font-family:var(--f-head);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.timeline-co{display:block;font-size:.78rem;font-weight:500;color:var(--primary-d);margin-bottom:6px;letter-spacing:.02em}.timeline-content h3{font-size:1.1rem;font-weight:500;letter-spacing:-.02em;margin-bottom:8px}.timeline-content p{font-size:.88rem;color:var(--text-dim);line-height:1.65}.timeline-edu{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}.edu-card{display:flex;gap:18px;align-items:flex-start;padding:24px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.edu-icon{font-size:1.4rem;flex-shrink:0;line-height:1;margin-top:2px}.edu-card h4{font-size:.92rem;font-weight:500;margin-bottom:5px}.edu-card p{font-size:.8rem;color:var(--text-dim);line-height:1.55}@media(max-width:1020px){.parcours-split,.parcours-split--reverse{grid-template-columns:1fr;gap:40px}.parcours-split--reverse .parcours-split__visual{order:0}.visual-card{position:static}.projects-grid{grid-template-columns:1fr 1fr}}@media(max-width:680px){.parcours-hero__title{font-size:2.2rem}.skill-grid,.projects-grid,.timeline-edu{grid-template-columns:1fr}.timeline{padding-left:24px}.timeline-item{padding-left:20px}}
