@import "https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500;600;700&family=Orbitron:wght@400;700;900&family=Noto+Sans+JP:wght@300;400;500;700&family=Nunito:wght@300;400;600;700&display=swap";:root{--bg:#09090f;--bg-mid:#0f0f1a;--bg-card:#13131f;--bg-card-2:#1a1a2e;--border:#ffc8dc14;--border-glow:#ff64964d;--sakura:#ff6b9d;--sakura-light:#ffb3cc;--sakura-soft:#ff6b9d1a;--gold:#f0c060;--gold-soft:#f0c0601a;--navy:#1a1a3e;--ink:#7b68ee;--ink-soft:#7b68ee1f;--text-primary:#f4eef4;--text-secondary:#c4bdd0;--text-muted:#7a6e8a;--font-display:"Orbitron", monospace;--font-body:"Nunito", sans-serif;--font-heading:"Rajdhani", sans-serif;--font-jp:"Noto Sans JP", sans-serif;--radius:14px;--radius-sm:7px;--radius-pill:100px;--transition:.3s cubic-bezier(.4, 0, .2, 1);--max-w:1200px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-size:16.5px;line-height:1.82;overflow-x:hidden}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.bg-grid{z-index:0;pointer-events:none;background-image:linear-gradient(#ff6b9d06 1px,#0000 1px),linear-gradient(90deg,#ff6b9d06 1px,#0000 1px);background-size:50px 50px;position:fixed;inset:0}.bg-glow-1{z-index:0;pointer-events:none;background:radial-gradient(#ff6b9d12 0%,#0000 70%);border-radius:50%;width:600px;height:600px;position:fixed;top:-100px;right:-100px}.bg-glow-2{z-index:0;pointer-events:none;background:radial-gradient(#7b68ee12 0%,#0000 70%);border-radius:50%;width:500px;height:500px;position:fixed;bottom:-80px;left:-80px}.jp-ambient{z-index:0;pointer-events:none;font-family:var(--font-jp);color:#0000;-webkit-text-stroke:1px #ff6b9d38;text-shadow:0 0 40px #ff6b9d14;-webkit-user-select:none;user-select:none;font-weight:700;line-height:1;position:fixed}.jp-ambient-1{font-size:8rem;animation:40s ease-in-out infinite alternate float1;top:8vh;right:-1rem;transform:rotate(90deg)}.jp-ambient-2{font-size:7rem;animation:35s ease-in-out infinite alternate float2;bottom:25vh;left:-2.5rem;transform:rotate(-90deg)}.jp-ambient-3{opacity:.6;font-size:4.5rem;animation:30s ease-in-out infinite alternate float3;top:48vh;right:4vw;transform:rotate(90deg)}#navbar{z-index:100;transition:var(--transition);padding:1.6rem 0;position:fixed;top:0;left:0;right:0}#navbar.scrolled{-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border);background:#09090feb;padding:1rem 0}.nav-inner{max-width:var(--max-w);justify-content:space-between;align-items:center;margin:0 auto;padding:0 2.5rem;display:flex}.nav-logo{font-family:var(--font-display);color:var(--text-primary);letter-spacing:.06em;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;display:flex}.logo-dot{background:var(--sakura);width:8px;height:8px;box-shadow:0 0 10px var(--sakura);border-radius:50%;animation:2s ease-in-out infinite pulse}.nav-links{align-items:center;gap:2.5rem;display:flex}.nav-link{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);transition:color var(--transition);font-size:.9rem;font-weight:600;position:relative}.nav-link:after{content:attr(data-jp);font-family:var(--font-jp);color:var(--sakura);opacity:0;transition:opacity var(--transition);white-space:nowrap;font-size:.55rem;position:absolute;bottom:-1.3rem;left:50%;transform:translate(-50%)}.nav-link:hover{color:var(--text-primary)}.nav-link:hover:after{opacity:1}.nav-link.active{color:var(--sakura)}.nav-link.active:after{opacity:1}.nav-toggle{cursor:pointer;background:0 0;border:none;width:30px;height:24px;display:none;position:relative}.nav-toggle span{background:var(--text-secondary);width:100%;height:2px;transition:var(--transition);border-radius:2px;display:block;position:absolute;left:0}.nav-toggle span:first-child{top:0}.nav-toggle span:nth-child(2){top:11px}.nav-toggle span:nth-child(3){bottom:0}.nav-toggle.active span:first-child{transform:translateY(11px)rotate(45deg)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:translateY(-11px)rotate(-45deg)}.section{z-index:1;max-width:var(--max-w);margin:0 auto;padding:3.5rem 2.5rem;position:relative}.section-header{align-items:center;gap:1.2rem;margin-bottom:2rem;display:flex}.section-num{font-family:var(--font-display);color:var(--sakura);letter-spacing:.15em;border-radius:var(--radius-pill);background:var(--sakura-soft);border:1px solid #ff6b9d4d;padding:.25rem .7rem;font-size:.75rem;font-weight:700}.section-title{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:.03em;align-items:center;gap:1rem;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:700;display:flex}.section-line{background:linear-gradient(90deg,#ff6b9d4d,#0000);flex:1;height:1px}.jp-label{font-family:var(--font-jp);color:var(--sakura);opacity:.65;letter-spacing:.08em;font-size:.8rem;font-weight:400}.hero{align-items:center;gap:5rem;min-height:100vh;padding-top:9rem;display:flex}.hero-content{flex:1;max-width:580px}.hero-tag{border:1px solid var(--border-glow);border-radius:var(--radius-pill);background:var(--sakura-soft);font-family:var(--font-jp);color:var(--sakura-light);letter-spacing:.05em;align-items:center;gap:.6rem;margin-bottom:2rem;padding:.45rem 1.1rem;font-size:.75rem;display:inline-flex}.tag-dot{background:var(--sakura);width:6px;height:6px;box-shadow:0 0 8px var(--sakura);border-radius:50%;animation:1.5s ease-in-out infinite pulse}.tag-jp{font-family:var(--font-jp);opacity:.7;font-size:.7rem}.hero-name{font-family:var(--font-heading);letter-spacing:.02em;margin-bottom:1.2rem;font-size:clamp(3.2rem,7.5vw,5.5rem);font-weight:700;line-height:1}.name-line{display:block}.accent-line{color:var(--sakura);text-shadow:0 0 40px #ff6b9d80,0 0 80px #ff6b9d33}.name-jp{font-family:var(--font-jp);color:var(--text-muted);letter-spacing:.3em;margin-top:.3rem;font-size:clamp(.9rem,1.5vw,1.1rem);font-weight:300;display:block}.hero-role{font-family:var(--font-heading);color:var(--gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem;font-size:1.1rem;font-weight:500}.role-divider{color:var(--text-muted);opacity:.5;margin:0 .6rem}.hero-desc{color:var(--text-secondary);max-width:500px;margin-bottom:2.5rem;font-size:1.05rem;line-height:2}.hero-actions{flex-wrap:wrap;gap:1.2rem;margin-bottom:2.8rem;display:flex}.btn{border-radius:var(--radius-sm);font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;transition:var(--transition);align-items:center;gap:.5rem;padding:.85rem 2rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--sakura), #e05085);color:#fff;box-shadow:0 4px 20px #ff6b9d59,0 0 0 1px #ff6b9d33}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px #ff6b9d80,0 0 0 1px #ff6b9d66}.btn-ghost{color:var(--text-primary);background:#ff6b9d0d;border:1px solid #ffc8dc33}.btn-ghost:hover{border-color:var(--sakura);color:var(--sakura);background:var(--sakura-soft);transform:translateY(-3px)}.hero-socials{gap:1rem;display:flex}.social-icon{border-radius:var(--radius-sm);width:44px;height:44px;color:var(--text-secondary);transition:var(--transition);background:#ff6b9d0a;border:1px solid #ffc8dc26;justify-content:center;align-items:center;font-size:1rem;display:flex}.social-icon:hover{border-color:var(--sakura);color:var(--sakura);background:var(--sakura-soft);transform:translateY(-3px);box-shadow:0 4px 16px #ff6b9d33}.hero-visual{flex-direction:column;flex:none;align-items:center;gap:2.5rem;display:flex}.avatar-ring{justify-content:center;align-items:center;width:320px;height:320px;display:flex;position:relative}.avatar-inner{border:2px solid #ff6b9d66;border-radius:50%;width:240px;height:240px;overflow:hidden;box-shadow:0 0 0 6px #ff6b9d0f,0 0 40px #ff6b9d26,0 0 80px #ff6b9d0f}.avatar-inner img{object-fit:cover;object-position:center top;width:100%;height:100%}.ring-svg{width:100%;height:100%;animation:20s linear infinite spin;position:absolute;inset:0}.ring-svg-2{width:118%;height:118%;animation:35s linear infinite reverse spin;top:-9%;left:-9%}.hero-stats{gap:1.2rem;display:flex}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;transition:var(--transition);padding:1.1rem 1.4rem;position:relative;overflow:hidden}.stat-card:before{content:"";opacity:0;transition:var(--transition);background:linear-gradient(135deg,#ff6b9d0d,#0000);position:absolute;inset:0}.stat-card:hover{border-color:#ff6b9d40}.stat-card:hover:before{opacity:1}.stat-num{font-family:var(--font-display);color:var(--sakura);font-size:1.35rem;font-weight:700;display:block}.stat-label{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;margin-top:.2rem;font-size:.68rem;display:block}.scroll-hint{flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.scroll-line{background:linear-gradient(to bottom, var(--sakura), transparent);width:1px;height:52px;animation:2s ease-in-out infinite scrollPulse}.scroll-text{font-family:var(--font-jp);color:var(--text-muted);letter-spacing:.15em;font-size:.6rem}.about-grid{grid-template-columns:1.3fr 1fr;align-items:start;gap:4rem;display:grid}.about-grid.revealed{animation:.6s both fadeUp}.about-lead{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:.01em;margin-bottom:1.4rem;font-size:1.2rem;font-weight:600;line-height:1.7}.about-body{color:var(--text-secondary);margin-bottom:2.2rem;font-size:1rem;line-height:2}.about-highlights{flex-direction:column;gap:1.2rem;display:flex}.highlight-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition);align-items:flex-start;gap:1rem;padding:1rem 1.2rem;display:flex}.highlight-item:hover{background:var(--bg-card-2);border-color:#ff6b9d33}.highlight-icon{color:var(--sakura);text-align:center;flex-shrink:0;width:22px;margin-top:.1rem;font-size:1.1rem}.highlight-item strong{color:var(--text-primary);font-size:.92rem;font-family:var(--font-heading);letter-spacing:.02em;display:block}.highlight-item span{color:var(--text-secondary);font-size:.82rem}.about-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:1.1rem;padding:2rem;display:flex;position:sticky;top:7rem}.about-card-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.about-card-title{font-family:var(--font-heading);color:var(--sakura);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem;font-weight:600}.lang-toggle{border-radius:var(--radius-pill);background:var(--sakura-soft);font-size:.62rem;font-family:var(--font-heading);letter-spacing:.06em;color:var(--text-muted);cursor:pointer;transition:var(--transition);border:1px solid #ff6b9d4d;align-items:center;gap:.3rem;padding:.22rem .6rem;font-weight:700;display:inline-flex}.lang-toggle:hover{border-color:var(--sakura);color:var(--sakura)}.lang-toggle.active-en .lang-toggle-en,.lang-toggle.active-jp .lang-toggle-jp{color:var(--sakura)}.lang-toggle-div{opacity:.35}.info-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:.9rem;font-size:.86rem;display:flex}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-label{color:var(--text-muted);letter-spacing:.06em;font-size:.78rem;font-family:var(--font-jp)}.info-val{color:var(--text-primary);text-align:right;font-size:.85rem}.info-val a{color:var(--sakura)}.num-val{font-family:var(--font-display);letter-spacing:.06em;color:var(--sakura);font-size:.9rem}.info-val a:hover{text-decoration:underline}.status-available{color:#6ee7b7;align-items:center;gap:.5rem;display:flex}.pulse-dot{background:#6ee7b7;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse;box-shadow:0 0 8px #6ee7b7}.timeline{flex-direction:column;gap:0;display:flex}.timeline-item{opacity:0;grid-template-columns:52px 1fr;gap:2rem;transition:opacity .6s,transform .6s;display:grid;transform:translateY(24px)}.timeline-item.revealed{opacity:1;transform:none}.timeline-item:nth-child(2).revealed{transition-delay:.15s}.timeline-marker{flex-direction:column;align-items:center;display:flex}.marker-dot{border:2px solid var(--sakura);background:var(--bg);border-radius:50%;flex-shrink:0;width:16px;height:16px;margin-top:.4rem;box-shadow:0 0 14px #ff6b9d80}.marker-line{background:linear-gradient(#ff6b9d4d,#ff6b9d0d);flex:1;width:1px;min-height:40px;margin:.6rem 0}.timeline-item:last-child .marker-line{display:none}.timeline-content{padding-bottom:2.5rem}.timeline-period{font-family:var(--font-display);color:var(--sakura);letter-spacing:.1em;margin-bottom:.6rem;font-size:.72rem;font-weight:400;display:block}.timeline-role{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:.02em;margin-bottom:.25rem;font-size:1.3rem;font-weight:700}.timeline-company{color:var(--gold);letter-spacing:.03em;margin-bottom:1.2rem;font-size:.88rem;display:block}.timeline-bullets{color:var(--text-secondary);margin-bottom:1.4rem;margin-left:1.2rem;font-size:.95rem;line-height:2;list-style:outside}.timeline-bullets li{margin-bottom:.3rem}.timeline-tags{flex-wrap:wrap;gap:.5rem;display:flex}.timeline-tags span{letter-spacing:.05em;font-size:.72rem;font-family:var(--font-jp);background:var(--sakura-soft);border-radius:var(--radius-pill);color:var(--sakura-light);border:1px solid #ff6b9d40;padding:.22rem .75rem}.cert-section{margin-top:1rem}.cert-section-title{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:.03em;margin-bottom:1.5rem;font-size:1.3rem;font-weight:700}.cert-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem;margin-bottom:2.5rem;display:grid}.cert-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition);align-items:center;gap:1rem;padding:1.2rem 1.5rem;display:flex;position:relative}.cert-card:before{content:"";background:linear-gradient(to bottom, var(--gold), #f0c06033);border-radius:0 2px 2px 0;width:3px;position:absolute;top:10%;bottom:10%;left:0}.cert-card:hover{background:var(--bg-card-2);border-color:#f0c0604d}.cert-card h4{font-family:var(--font-heading);color:var(--text-primary);padding-left:.4rem;font-size:.88rem;font-weight:600;line-height:1.4}.leadership-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.leadership-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition);align-items:center;gap:1rem;padding:1.2rem 1.5rem;display:flex}.leadership-card:hover{border-color:#7b68ee4d}.leadership-marker{border:2px solid var(--ink);background:var(--bg);border-radius:50%;flex-shrink:0;width:10px;height:10px;box-shadow:0 0 10px #7b68ee80}.leadership-card h4{font-family:var(--font-heading);color:var(--text-primary);font-size:.9rem;font-weight:600}.leadership-card p{color:var(--text-muted);font-size:.78rem;font-family:var(--font-jp);margin-top:.1rem}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.8rem;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition);opacity:0;flex-direction:column;gap:1.2rem;padding:2rem;display:flex;position:relative;overflow:hidden;transform:translateY(22px)}.project-card:after{content:"";background:linear-gradient(to right, var(--sakura), var(--ink));transform-origin:0;height:2px;transition:transform .4s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.project-card:hover:after{transform:scaleX(1)}.project-card.revealed{opacity:1;transition:var(--transition);transform:none}.project-card:nth-child(2).revealed{transition-delay:.1s}.project-card:nth-child(3).revealed{transition-delay:.2s}.project-card:nth-child(4).revealed{transition-delay:.3s}.project-card:hover{background:var(--bg-card-2);border-color:#ff6b9d33;transform:translateY(-5px);box-shadow:0 12px 40px #ff6b9d14}.project-top{justify-content:space-between;align-items:flex-start;display:flex}.project-icon{border-radius:var(--radius-sm);background:var(--sakura-soft);width:48px;height:48px;color:var(--sakura);border:1px solid #ff6b9d33;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.project-icon-shape{background:linear-gradient(135deg, var(--sakura), var(--ink));opacity:.9;border-radius:4px;width:18px;height:18px;display:block;transform:rotate(12deg)}.project-links{gap:.6rem;display:flex}.project-links a{color:var(--text-muted);transition:color var(--transition);padding:.2rem;font-size:.95rem}.project-links a:hover{color:var(--sakura)}.project-name{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:.02em;font-size:1.1rem;font-weight:700}.project-desc{color:var(--text-secondary);flex:1;font-size:.93rem;line-height:1.9}.project-highlights{flex-direction:column;gap:.5rem;display:flex}.project-highlight{color:var(--text-secondary);align-items:center;gap:.6rem;font-size:.82rem;display:flex}.project-highlight i{color:var(--gold);flex-shrink:0;font-size:.8rem}.project-stack{flex-wrap:wrap;gap:.5rem;margin-top:auto;display:flex}.project-stack span{letter-spacing:.04em;background:var(--ink-soft);border-radius:var(--radius-pill);color:#b8b0ff;font-size:.7rem;font-family:var(--font-jp);border:1px solid #7b68ee33;padding:.22rem .7rem}.skills-legend{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1.8rem;display:flex}.legend-item{color:var(--text-muted);letter-spacing:.05em;align-items:center;gap:.45rem;font-size:.75rem;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.dot-expert{background:var(--sakura);box-shadow:0 0 6px #ff6b9db3}.dot-proficient{background:var(--ink);box-shadow:0 0 6px #7b68ee99}.dot-familiar{background:var(--gold);box-shadow:0 0 6px #f0c06080}.skills-wrapper{grid-template-columns:repeat(2,1fr);gap:1.6rem;display:grid}.skill-category{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);opacity:0;transition:var(--transition);padding:1.6rem;transform:translateY(22px)}.skill-category.revealed{opacity:1;transform:none}.skill-category:nth-child(2).revealed{transition-delay:.1s}.skill-category:nth-child(3).revealed{transition-delay:.2s}.skill-category:nth-child(4).revealed{transition-delay:.3s}.skill-category:hover{border-color:#ff6b9d26}.skill-cat-title{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.2rem;font-size:.78rem;font-weight:700}.skill-tags{flex-wrap:wrap;gap:.55rem;display:flex}.skill-tag{font-size:.78rem;font-family:var(--font-heading);letter-spacing:.04em;border-radius:var(--radius-pill);transition:var(--transition);align-items:center;gap:.4rem;padding:.3rem .85rem;font-weight:600;display:inline-flex;position:relative}.skill-tag:before{content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.level-expert{color:var(--sakura-light);background:#ff6b9d1a;border:1px solid #ff6b9d4d}.level-expert:before{background:var(--sakura);box-shadow:0 0 5px #ff6b9dcc}.level-expert:hover{border-color:var(--sakura);background:#ff6b9d2e}.level-proficient{color:#c2baff;background:#7b68ee1a;border:1px solid #7b68ee4d}.level-proficient:before{background:var(--ink);box-shadow:0 0 5px #7b68eeb3}.level-proficient:hover{border-color:var(--ink);background:#7b68ee2e}.level-familiar{color:#d4a84b;background:#f0c06014;border:1px solid #f0c06040}.level-familiar:before{background:var(--gold);box-shadow:0 0 5px #f0c06099}.level-familiar:hover{border-color:var(--gold);background:#f0c06026}.cloud-section{margin-top:3rem}.cloud-section-title{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:.02em;margin-bottom:1.4rem;font-size:1.2rem;font-weight:700}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}.badge-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:var(--transition);align-items:center;gap:.9rem;padding:1.2rem 1.4rem;display:flex}.badge-item:hover{background:var(--bg-card-2);border-color:#f0c0604d}.badge-item i{color:var(--gold);font-size:1.5rem}.badge-item span{color:var(--text-secondary);font-size:.82rem;font-family:var(--font-jp)}.contact-container{opacity:0;max-width:680px;transform:translateY(22px)}.contact-container.revealed{opacity:1;animation:.6s both fadeUp;transform:none}.contact-intro{color:var(--text-secondary);margin-bottom:2.4rem;font-size:1.05rem;line-height:1.9}.contact-jp{font-family:var(--font-jp);color:var(--text-muted);margin-top:.6rem;font-size:.88rem}.contact-links{flex-direction:column;gap:1rem;display:flex}.contact-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);transition:var(--transition);align-items:center;gap:1.4rem;padding:1.3rem 1.7rem;display:flex;position:relative;overflow:hidden}.contact-card:before{content:"";background:linear-gradient(to bottom, var(--sakura), var(--ink));transform-origin:top;width:3px;transition:transform .3s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.contact-card:hover:before{transform:scaleY(1)}.contact-card:hover{background:var(--bg-card-2);border-color:#ff6b9d33;transform:translate(5px);box-shadow:0 6px 25px #ff6b9d14}.contact-card strong{color:var(--text-primary);font-size:.92rem;font-family:var(--font-heading);letter-spacing:.02em;display:block}.contact-card span{color:var(--text-secondary);font-size:.82rem;font-family:var(--font-jp)}.contact-card-icon{border-radius:var(--radius-sm);background:var(--sakura-soft);width:46px;height:46px;color:var(--sakura);border:1px solid #ff6b9d33;flex-shrink:0;justify-content:center;align-items:center;font-size:1.05rem;display:flex}.contact-card>div{flex:1}.contact-arrow{color:var(--text-muted);transition:var(--transition);font-size:.8rem}.contact-card:hover .contact-arrow{color:var(--sakura);transform:translate(4px)}footer{z-index:1;border-top:1px solid var(--border);text-align:center;padding:3rem 2.5rem;position:relative}.footer-inner{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-bottom:.6rem;display:flex}.footer-name{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:.05em;font-size:1rem;font-weight:700}.footer-sep{color:var(--sakura);opacity:.5}.footer-jp{font-family:var(--font-jp);color:var(--text-muted);font-size:.85rem}.footer-copy{color:var(--text-muted);font-size:.82rem}.footer-credits{color:var(--text-muted);margin-top:.4rem;font-size:.78rem}.neon-text{color:var(--sakura)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 8px}50%{opacity:.5;box-shadow:0 0 3px}}@keyframes scrollPulse{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.3;transform:scaleY(.6)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes sakuraDrift{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:.7}90%{opacity:.4}to{opacity:0;transform:translateY(110vh)rotate(360deg)}}@keyframes float1{0%{transform:rotate(90deg)translateY(0)}to{transform:rotate(90deg)translateY(-40px)}}@keyframes float2{0%{transform:rotate(-90deg)translateY(0)}to{transform:rotate(-90deg)translateY(30px)}}@keyframes float3{0%{transform:rotate(90deg)translateY(0)}to{transform:rotate(90deg)translateY(-25px)}}.petal{z-index:0;pointer-events:none;background:#ff96b480;border-radius:0 80%;width:8px;height:8px;animation:linear infinite sakuraDrift;position:fixed}@media (width<=900px){.hero{text-align:center;flex-direction:column;gap:3.5rem;padding-top:8rem}.hero-content{max-width:100%}.hero-desc{margin:0 auto 2.4rem}.hero-actions,.hero-socials{justify-content:center}.hero-visual{align-items:center;width:100%}.hero-stats{justify-content:center}.about-grid{grid-template-columns:1fr;gap:2.5rem}.about-card{position:static}.scroll-hint{display:none}}@media (width<=680px){.nav-links{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:90;background:#09090fbf;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;width:100vw;height:100vh;font-size:1.1rem;transition:transform .35s;position:fixed;top:0;left:0;transform:translate(100%)}.nav-links.open{transform:translate(0)}.nav-link:after{display:none}.nav-toggle{z-index:95;display:flex}.section{padding:3rem 1.4rem}.hero{padding-top:6.5rem}.hero-name{font-size:clamp(2.8rem,10vw,3.8rem)}.projects-grid,.skills-wrapper{grid-template-columns:1fr}.about-card{position:static}.hero-stats{gap:.7rem}.stat-card{padding:.8rem 1rem}.cert-grid{grid-template-columns:1fr}}
