.stat-card{text-align:center}@media(min-width:768px){.stat-card{text-align:left}}.stat-card-value{font-family:var(--font-mono);font-size:3rem;font-weight:700;color:var(--color-accent);line-height:1}.stat-card-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-top:.25rem}.dark .stat-card-value{text-shadow:0 0 20px rgba(162,119,255,.5),0 0 50px rgba(162,119,255,.2)}.hero-section{position:relative;min-height:90svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.dark .hero-section{background:radial-gradient(ellipse at 70% 20%,rgba(162,119,255,.08) 0%,transparent 60%)}.hero-container{max-width:1200px;margin:0 auto;width:100%;padding:2rem 1rem}@media(min-width:768px){.hero-container{padding:2rem}}@media(min-width:1024px){.hero-container{padding:2rem 4rem}}.hero-grid{display:flex;flex-direction:column;gap:3rem}@media(min-width:768px){.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:4rem}}.hero-role{display:inline-block;font-family:var(--font-mono);font-size:.8rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1rem}.hero-title{font-family:var(--font-display);font-size:clamp(3rem,8vw,5.5rem);font-weight:700;color:var(--color-text-primary);letter-spacing:-.03em;line-height:.95;margin-bottom:1.5rem}.hero-description{font-size:1.125rem;color:var(--color-text-secondary);line-height:1.6;max-width:500px;margin-bottom:2rem}.hero-tech{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-secondary);letter-spacing:.02em;opacity:.7}.hero-stats{display:flex;flex-direction:row;justify-content:center;align-items:center}.stat-card+.stat-card{border-left:1px solid var(--color-border);padding-left:1.5rem;margin-left:1.5rem}@media(min-width:768px){.hero-stats{flex-direction:column;align-items:flex-start;gap:2rem}.stat-card+.stat-card{border-left:none;padding-left:0;margin-left:0}}.hero-stagger{opacity:0;animation:fade-in-up .5s cubic-bezier(.25,.1,.25,1) forwards;animation-delay:calc(var(--stagger) * .1s)}@media(prefers-reduced-motion:reduce){.hero-stagger{opacity:1!important}}.dark .hero-title{font-family:var(--font-punk);text-shadow:0 0 30px rgba(162,119,255,.5),0 0 80px rgba(162,119,255,.2);transform:rotate(-1.5deg)}.dark .hero-role{color:#61ffca;text-shadow:0 0 10px rgba(97,255,202,.3)}@media(max-width:767px){.dark .hero-section .punk-sticker:first-of-type{width:140px!important;top:-1%!important;right:-2%!important}.dark .hero-section .punk-sticker:nth-of-type(2){width:60px!important;top:2%!important;left:0%!important}.dark .hero-section .punk-sticker:nth-of-type(3){width:50px!important;bottom:20%!important;left:0%!important}.dark .hero-title{transform:rotate(-.5deg)}}@media(max-width:480px){.dark .hero-section .punk-sticker:first-of-type{width:100px!important}.dark .hero-section .punk-sticker:nth-of-type(2),.dark .hero-section .punk-sticker:nth-of-type(3){width:40px!important}}.section-title{display:flex;align-items:center;gap:1.25rem;margin-bottom:3rem}.section-title-text{font-family:var(--font-display);font-size:1.75rem;font-weight:600;color:var(--color-text-primary);letter-spacing:-.02em;white-space:nowrap;flex-shrink:0}@media(min-width:768px){.section-title-text{font-size:2.25rem}}.section-title-line{flex:1;height:1px;background:var(--color-border)}.section-title-subtitle{font-size:1rem;color:var(--color-text-secondary);margin-top:-2rem;margin-bottom:3rem}.dark .section-title-text{font-family:var(--font-punk);transform:rotate(-2.5deg);text-shadow:0 0 20px rgba(162,119,255,.4),0 0 50px rgba(162,119,255,.15);position:relative}.dark .section-title-line{background:linear-gradient(to right,#a277ff,#61ffca,#f694ff,#82e2ff);height:3px;box-shadow:0 0 12px #a277ff66}@media(max-width:767px){.dark .section-title-text{transform:rotate(-1deg)}}.about-section{padding:6rem 0}.about-container{max-width:1200px;margin:0 auto;padding:0 1rem}@media(min-width:768px){.about-container{padding:0 2rem}}@media(min-width:1024px){.about-container{padding:0 4rem}}.about-content{max-width:700px}.about-description{font-size:1rem;line-height:1.7;color:var(--color-text-secondary);margin-bottom:1.5rem}.about-description:last-child{margin-bottom:0}@media(min-width:768px){.about-description{font-size:1.125rem}}.about-pullquote{margin:2rem 0;padding-left:1.25rem;border-left:3px solid var(--color-accent);font-size:1.125rem;line-height:1.6;color:var(--color-text-primary);font-style:italic}@media(min-width:768px){.about-pullquote{font-size:1.25rem;padding-left:1.5rem}}.dark .about-pullquote{border-left:4px dashed #f694ff;padding:1.25rem 1.5rem;background:#a277ff0a;border-radius:0 4px 4px 0;position:relative}.dark .about-pullquote:before{content:"";position:absolute;top:-4px;left:20px;width:60px;height:18px;background:#f694ff26;border:1px solid rgba(246,148,255,.25);transform:rotate(-2deg);border-radius:2px}@media(max-width:767px){.dark .about-section .punk-sticker:first-of-type{width:120px!important;top:-2%!important;right:-2%!important}.dark .about-section .punk-sticker:nth-of-type(2){width:70px!important;bottom:2%!important;left:-1%!important}}@media(max-width:480px){.dark .about-section .punk-sticker:first-of-type{width:80px!important}.dark .about-section .punk-sticker:nth-of-type(2){display:none!important}}.timeline-list{list-style:none;padding:0;margin:0;position:relative}.timeline-list:before{content:"";position:absolute;left:5px;top:12px;bottom:12px;width:1px;background:var(--color-border)}.timeline-entry{display:flex;gap:1.5rem;padding-bottom:3rem;position:relative}.timeline-entry:last-child{padding-bottom:0}.timeline-marker{flex-shrink:0;position:relative;z-index:1;padding-top:4px}.timeline-dot{display:block;width:11px;height:11px;border-radius:50%}.timeline-dot--career{background:var(--color-accent)}.timeline-dot--project{background:transparent;border:2px solid var(--color-accent-secondary)}.timeline-content{flex:1;min-width:0}.timeline-date{display:inline-block;font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.timeline-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);letter-spacing:var(--font-heading-tracking);margin-bottom:.5rem}.timeline-title-link{color:inherit;text-decoration:none;transition:color .3s cubic-bezier(.25,.1,.25,1) .1s}.timeline-title-link:hover{color:var(--color-accent)}.timeline-description{font-size:.875rem;line-height:1.6;color:var(--color-text-secondary);margin-bottom:.75rem}@media(min-width:768px){.timeline-description{font-size:1rem}}.timeline-badges{display:flex;flex-wrap:wrap;gap:.375rem}.timeline-badges .tech-badge{font-size:.625rem;padding:.125rem .5rem}.dark .timeline-entry{border-bottom:1px dashed rgba(162,119,255,.2)}.dark .timeline-entry:last-child{border-bottom:none}.dark .timeline-date{color:#61ffca;text-shadow:0 0 10px rgba(97,255,202,.3)}.dark .timeline-list:before{border-left:2px dashed rgba(162,119,255,.4);background:none;width:0}.dark .timeline-dot--career{background:#61ffca;box-shadow:0 0 8px #61ffca99,0 0 20px #61ffca4d;width:13px;height:13px}.dark .timeline-dot--project{border-color:#f694ff;box-shadow:0 0 8px #f694ff66,0 0 20px #f694ff33;width:13px;height:13px}.timeline-section{padding:4rem 0}.timeline-container{max-width:1200px;margin:0 auto;padding:0 1rem}@media(min-width:768px){.timeline-container{padding:0 2rem}}@media(min-width:1024px){.timeline-container{padding:0 4rem}}@media(max-width:767px){.dark .timeline-section .punk-sticker:first-of-type{width:110px!important;bottom:2%!important;right:-2%!important}.dark .timeline-section .punk-sticker:nth-of-type(2){width:80px!important;top:5%!important;left:-2%!important}}@media(max-width:480px){.dark .timeline-section .punk-sticker:first-of-type{width:80px!important}.dark .timeline-section .punk-sticker:nth-of-type(2){display:none!important}}.case-study-trigger{display:flex;align-items:center;gap:.5rem;padding:.75rem 0 0;font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;list-style:none}.case-study-trigger::-webkit-details-marker{display:none}.case-study-trigger::marker{display:none;content:""}.case-study-chevron{display:inline-block;font-size:1rem;transition:transform .3s cubic-bezier(.25,.1,.25,1)}.case-study-details.enhanced .case-study-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.16,1,.3,1)}.case-study-details.enhanced.open .case-study-body{grid-template-rows:1fr}.case-study-details.enhanced .case-study-body>*{overflow:hidden}.case-study-details.enhanced .case-study-content{opacity:0;transition:opacity .2s ease}.case-study-details.enhanced.open .case-study-content{opacity:1;transition:opacity .2s ease .1s}.case-study-details.enhanced.open .case-study-chevron{transform:rotate(90deg)}.case-study-content{padding:1.5rem 0 .5rem;display:flex;flex-direction:column;gap:1.25rem}.case-study-section{display:flex;flex-direction:column;gap:.375rem}.case-study-label{font-family:var(--font-mono);font-size:.6875rem;font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em}.case-study-text{font-size:.875rem;line-height:1.6;color:var(--color-text-secondary)}@media(min-width:768px){.case-study-text{font-size:1rem}}.dark .case-study-trigger{text-shadow:0 0 8px rgba(162,119,255,.3)}.project-card{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;padding:2rem 0;border-bottom:1px solid var(--color-border);transition:border-color .15s cubic-bezier(.25,.1,.25,1)}.project-card:first-child{padding-top:0}.project-card:last-child{border-bottom:none}.project-card:hover{border-bottom-color:color-mix(in srgb,var(--color-accent) 40%,transparent)}.project-card:hover .project-number{color:var(--color-accent)}.project-card:hover .project-content{transform:translate(4px)}.project-number{font-family:var(--font-mono);font-size:2rem;font-weight:700;color:var(--color-text-secondary);line-height:1;padding-top:.25rem;transition:color .15s cubic-bezier(.25,.1,.25,1)}@media(min-width:768px){.project-number{font-size:2.5rem}}.project-content{min-width:0;transition:transform .15s cubic-bezier(.25,.1,.25,1)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.project-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);letter-spacing:var(--font-heading-tracking)}@media(min-width:768px){.project-title{font-size:1.5rem}}.project-links{display:flex;gap:.75rem;flex-shrink:0}.project-link{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-secondary);text-decoration:none;white-space:nowrap;transition:color .15s cubic-bezier(.25,.1,.25,1)}.project-link:hover{color:var(--color-accent)}.project-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.project-year{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent-secondary)}.project-meta-sep{color:var(--color-text-secondary);font-size:.75rem}.project-meta .tech-badge{font-size:.625rem;padding:.125rem .5rem}.project-description{font-size:.875rem;line-height:1.6;color:var(--color-text-secondary)}@media(min-width:768px){.project-description{font-size:1rem}}@media(max-width:767px){.project-card{grid-template-columns:1fr;gap:.5rem}}.dark .project-card{border-bottom-color:#a277ff26;position:relative}.dark .project-card:hover{animation:shake-msn .3s ease-in-out;border-bottom-color:#a277ff66}.dark .project-card:after{content:"";position:absolute;right:-.5rem;top:-.5rem;font-size:1.25rem;color:transparent;font-weight:900;writing-mode:vertical-rl;letter-spacing:-.15em;pointer-events:none;z-index:20}.dark .project-card:hover:after{content:"ゴゴゴ";color:#a277ff99;text-shadow:0 0 15px rgba(162,119,255,.4);animation:menacing-float 2s ease-in-out infinite}.dark .project-number{color:#a277ff4d;font-family:var(--font-punk)}.dark .project-card:hover .project-number{color:#61ffca;text-shadow:0 0 20px rgba(97,255,202,.5),0 0 40px rgba(97,255,202,.2)}.dark .project-title{font-family:var(--font-punk)}.projects-section{padding:4rem 0}.projects-container{max-width:1200px;margin:0 auto;padding:0 1rem}@media(min-width:768px){.projects-container{padding:0 2rem}}@media(min-width:1024px){.projects-container{padding:0 4rem}}.projects-list{display:flex;flex-direction:column}.contact-section{position:relative;padding:8rem 0 6rem}.contact-gradient-border{position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;max-width:1000px;height:1px;background:linear-gradient(to right,transparent,var(--color-border) 20%,var(--color-border) 80%,transparent)}.contact-container{max-width:700px;margin:0 auto;padding:0 1.5rem;text-align:center}.contact-cta{font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--color-text-primary);margin-top:2rem;line-height:1.2;letter-spacing:-.02em}.contact-subtitle{font-size:1rem;color:var(--color-text-secondary);margin-top:.75rem;line-height:1.6}.contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:2.5rem}.contact-link{display:inline-flex;align-items:center;gap:.375rem;font-family:var(--font-mono);font-size:.9375rem;font-weight:500;color:var(--color-accent);text-decoration:none;padding:.5rem 0;background-image:linear-gradient(currentColor,currentColor);background-position:0% 100%;background-repeat:no-repeat;background-size:0% 2px;transition:background-size .2s cubic-bezier(.25,.1,.25,1)}.contact-link:hover{background-size:100% 2px}.contact-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:2px}.contact-link--cv{color:var(--color-text-primary);font-weight:600}@media(min-width:768px){.contact-cta{font-size:2.75rem}.contact-subtitle{font-size:1.125rem}}.dark .contact-gradient-border{background:linear-gradient(to right,transparent,#a277ff 15%,#61ffca 35%,#f694ff 55%,#82e2ff 75%,transparent);height:3px;box-shadow:0 0 20px #a277ff4d}.dark .contact-cta{font-family:var(--font-punk);text-shadow:0 0 30px rgba(162,119,255,.4),0 0 60px rgba(162,119,255,.15);transform:rotate(-1deg)}.dark .contact-link{position:relative;text-shadow:0 0 10px rgba(162,119,255,.3)}.dark .contact-link:hover{text-shadow:0 0 15px rgba(97,255,202,.5)}.dark .contact-link:after{content:"";position:absolute;right:-.5rem;top:-.5rem;font-size:1.25rem;color:transparent;font-weight:900;writing-mode:vertical-rl;letter-spacing:-.15em;pointer-events:none;z-index:20}.dark .contact-link:hover:after{content:"ゴゴゴ";color:#61ffca80;text-shadow:0 0 12px rgba(97,255,202,.3);animation:menacing-float 2s ease-in-out infinite}@media(max-width:767px){.dark .contact-section .punk-sticker-bg{width:100px!important;top:3%!important;left:-1%!important}.dark .contact-section .punk-sticker:nth-of-type(2){width:80px!important;bottom:2%!important;right:-1%!important}.dark .contact-section .punk-sticker:nth-of-type(3){width:70px!important;top:10%!important;right:5%!important}.dark .contact-cta{transform:rotate(-.5deg)}}@media(max-width:480px){.dark .contact-section .punk-sticker-bg{width:70px!important}.dark .contact-section .punk-sticker:nth-of-type(3){display:none!important}}
