*,:before,:after{box-sizing:border-box}:root{--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--text:#f2f4f8;--text-dim:#f2f4f88c}html,body,#root{width:100%;height:100%;color:var(--text);font-family:var(--font);background:#000;margin:0;font-weight:300;overflow:hidden}.flash{background:var(--flash-color,#e6f0ff);opacity:var(--flash,0);pointer-events:none;z-index:5;position:fixed;inset:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.kicker{color:var(--accent,var(--text-dim));letter-spacing:.32em;text-transform:uppercase;margin:0 0 1rem;font-size:.72rem;font-weight:400}.skills:before,.about:before,.contact:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#000000c7,#0000008c 55%,#0000);position:absolute;inset:-6rem -8rem -5rem -10rem}.skills:before{opacity:0;transition:opacity .6s}.skills:has(.skill--active):before{opacity:1}.skills{pointer-events:none;z-index:4;isolation:isolate;width:min(30rem,100vw - 2rem);min-height:16rem;position:fixed;bottom:clamp(5rem,14vh,9rem);left:clamp(1rem,6vw,5rem)}.skill{opacity:0;text-shadow:0 1px 18px #000c;transition:opacity .5s;position:absolute;bottom:0;left:0}.skill--active{opacity:1;transition-duration:.9s}.skill__index{color:var(--accent);letter-spacing:.3em;margin:0 0 1.2rem;font-size:.8rem;font-weight:500}.skill__index span{color:#f2f4f899}.skill__title{color:#fff;letter-spacing:.01em;margin:0;font-size:clamp(2.4rem,5.5vw,4.4rem);font-weight:300;line-height:1.05}.skill__tagline{color:var(--accent);margin:.9rem 0 0;font-size:clamp(1.05rem,1.7vw,1.3rem);font-weight:400}.skill__description{color:#f2f4f8db;max-width:26rem;margin:1rem 0 0;font-size:1rem;line-height:1.6}.about{--accent:#4fe3e0;opacity:0;pointer-events:none;z-index:4;isolation:isolate;text-shadow:0 1px 18px #000c;width:min(32rem,100vw - 2rem);transition:opacity .6s;position:fixed;top:50%;right:clamp(1rem,7vw,7rem);transform:translateY(-50%)}.about--visible{opacity:1;transition-duration:1.2s;transition-delay:.3s}.about__heading{margin:0;font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:300;line-height:1.1}.about__summary{color:#f2f4f8db;margin:1rem 0 2rem;font-size:1.02rem;line-height:1.6}.about__timeline{border-left:1px solid #4fe3e059;gap:1.3rem;margin:0;padding:0;list-style:none;display:grid}.about__timeline li{grid-template-columns:6.5rem 1fr;gap:1rem;padding-left:1.2rem;display:grid;position:relative}.about__timeline li:before{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 10px var(--accent);border-radius:50%;position:absolute;top:.45rem;left:-4px}.about__when{color:var(--accent);letter-spacing:.2em;text-transform:uppercase;padding-top:.15rem;font-size:.72rem}.about__role{margin:0;font-size:1.05rem;font-weight:400}.about__detail{color:#f2f4f8b8;margin:.3rem 0 0;font-size:.9rem;line-height:1.5}.contact{--accent:#7fd0ff;opacity:0;pointer-events:none;z-index:4;isolation:isolate;text-shadow:0 1px 18px #000c;width:min(34rem,100vw - 2rem);transition:opacity .6s;position:fixed;top:50%;left:clamp(1rem,7vw,7rem);transform:translateY(-50%)}.contact--visible{opacity:1;pointer-events:auto;transition-duration:1.2s;transition-delay:.4s}.contact__heading{margin:0;font-size:clamp(2.4rem,5.2vw,4.2rem);font-weight:300;line-height:1.08}.contact__text{color:#f2f4f8db;max-width:28rem;margin:1.2rem 0 2.2rem;font-size:1.05rem;line-height:1.6}.connect-button{color:#05060a;font:inherit;letter-spacing:.04em;text-shadow:none;cursor:pointer;background:#f2f4f8;border:none;border-radius:999px;align-items:center;gap:.8rem;padding:1.05rem 1.8rem 1.05rem 2rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:background-color .25s,transform .25s;display:inline-flex;position:relative}.connect-button svg{width:1.1rem;height:1.1rem;transition:transform .25s}.connect-button:hover{background:var(--accent)}.connect-button:hover svg{transform:translate(4px)}.connect-button--open,.connect-button--open:hover{background:var(--accent)}.connect-button--open svg,.connect-button--open:hover svg{transform:rotate(90deg)}.connect-button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.connect-button__pulse{border:1px solid var(--accent);border-radius:inherit;pointer-events:none;animation:2.4s ease-out infinite connect-pulse;position:absolute;inset:0}.connect-button__pulse--late{animation-delay:1.2s}@keyframes connect-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.35,1.8)}}.contact__options{gap:.7rem;width:min(22rem,100%);margin:1.4rem 0 0;padding:0;list-style:none;display:grid}.contact__options li{opacity:0;pointer-events:none;transition:opacity .35s,transform .35s;transform:translateY(-8px)}.contact__options--open li{opacity:1;pointer-events:auto;transform:none}.contact-option{color:#fff;text-shadow:none;background:#05060cbf;border:1px solid #7fd0ff59;border-radius:14px;align-items:center;gap:.9rem;padding:.9rem 1.1rem;font-size:.95rem;text-decoration:none;transition:border-color .2s,background-color .2s;display:flex}.contact-option:hover,.contact-option:focus-visible{border-color:var(--accent);background:#7fd0ff1f;outline:none}.contact-option__icon{width:2.2rem;height:2.2rem;color:var(--accent);background:#7fd0ff24;border-radius:50%;place-items:center;display:grid}.contact-option__icon svg{width:1.15rem;height:1.15rem}.contact-option__arrow{color:#f2f4f899;width:1rem;height:1rem;margin-left:auto;transition:transform .2s,color .2s}.contact-option:hover .contact-option__arrow{color:var(--accent);transform:translate(2px,-2px)}.talk-button{color:var(--text);font:inherit;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;z-index:6;background:#05060a99;border:1px solid #f2f4f859;border-radius:999px;align-items:center;gap:.6rem;padding:.75rem 1.3rem;font-size:.78rem;font-weight:500;transition:opacity .5s,border-color .2s,background-color .2s;display:inline-flex;position:fixed;top:1.4rem;right:1.4rem}.talk-button:hover{background:#7fd0ff1f;border-color:#7fd0ff}.talk-button:focus-visible{outline-offset:3px;outline:2px solid #7fd0ff}.talk-button--hidden{opacity:0;pointer-events:none}.talk-button__dot{background:#4ef0c0;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #4ef0c0}@media (width<=760px){.about{width:auto;inset:auto 1rem 6rem;transform:none}.about__heading{font-size:2rem}.about__summary{margin:.6rem 0 1.1rem;font-size:.92rem}.about__timeline{gap:.8rem}.about__timeline li{grid-template-columns:1fr;gap:.15rem}.about__detail{font-size:.82rem}.contact{width:auto;inset:auto 1rem 2rem;transform:none}.contact__text{margin:.8rem 0 1.4rem;font-size:.95rem}.skills{bottom:6.5rem;left:1rem}.skill__description{font-size:.9rem}.expertise__caption{width:calc(100vw - 2rem);bottom:6.5rem}.expertise__heading{letter-spacing:.22em;font-size:1.15rem}.talk-button{padding:.6rem 1rem;font-size:.7rem;top:1rem;right:1rem}}.expertise{opacity:0;pointer-events:none;z-index:4;transition:opacity .6s;position:fixed;inset:0}.expertise--visible{opacity:1}.expertise__area{margin:0;padding:0;list-style:none}.skill-chip{border:1px solid color-mix(in srgb, var(--accent) 55%, transparent);box-shadow:0 0 18px -6px var(--accent);color:#fff;white-space:nowrap;opacity:0;cursor:default;will-change:transform, opacity;background:#05060cd1;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .9rem .45rem .6rem;font-size:.85rem;transition:border-color .25s,box-shadow .25s,background-color .25s;display:inline-flex;position:absolute;top:0;left:0}.expertise--visible .skill-chip{pointer-events:auto}.skill-chip:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, #05060ce6);box-shadow:0 0 28px -4px var(--accent)}.skill-chip__logo{width:1.15rem;height:1.15rem;color:var(--accent);flex:none}.expertise__caption{text-align:center;text-shadow:0 1px 16px #000000e6;flex-direction:column;align-items:center;gap:.9rem;display:flex;position:absolute;bottom:clamp(1.5rem,7vh,4rem);left:50%;transform:translate(-50%)}.expertise__heading{letter-spacing:.32em;text-transform:uppercase;margin:0;padding-left:.32em;font-size:clamp(1.4rem,2.8vw,2.2rem);font-weight:300}.expertise__legend{color:#f2f4f8cc;letter-spacing:.18em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:.6rem 1.4rem;margin:0;padding:0;font-size:.75rem;list-style:none;display:flex}.expertise__legend li:before{content:"";vertical-align:middle;background:var(--accent);width:7px;height:7px;box-shadow:0 0 8px var(--accent);border-radius:50%;margin-right:.55rem;display:inline-block}@media (width<=760px){.skill-chip{padding:.35rem .7rem .35rem .5rem;font-size:.72rem}}.scroll-hint{--glow:#7fd0ff;pointer-events:none;z-index:4;transition:opacity .6s;position:fixed}.scroll-hint--leg{top:0;left:0;transform:translate(-50%,-50%)}.scroll-hint--bottom{bottom:clamp(1.2rem,6vh,3rem);left:50%;transform:translate(-50%)}.scroll-hint--right{top:50%;right:clamp(1.2rem,3vw,2.5rem);transform:translateY(-50%)}.scroll-hint--hidden{opacity:0}.scroll-hint__bob{flex-direction:column;align-items:center;gap:.6rem;animation:2s ease-in-out infinite scroll-bob;display:flex}@keyframes scroll-bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.scroll-hint__label{color:#fff;letter-spacing:.35em;text-transform:uppercase;text-shadow:0 0 10px var(--glow), 0 0 22px var(--glow);padding-left:.35em;font-size:.78rem;font-weight:500}.scroll-hint__arrows{flex-direction:column;align-items:center;display:flex}.scroll-hint__arrows svg{fill:none;width:1.6rem;height:.95rem;stroke:var(--glow);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px var(--glow));animation:1.6s ease-in-out infinite scroll-chevron}@keyframes scroll-chevron{0%,to{opacity:.15;transform:translateY(-3px)}40%{opacity:1;transform:translateY(3px)}}.countdown{pointer-events:none;z-index:5;flex-direction:column;align-items:center;gap:.4rem;transition:opacity .5s;display:flex;position:fixed;top:clamp(2rem,9vh,5rem);left:50%;transform:translate(-50%)}.countdown--hidden{opacity:0}.countdown__label{color:#f2f4f8cc;letter-spacing:.4em;text-transform:uppercase;padding-left:.4em;font-size:.72rem}.countdown__number{color:#fff;text-shadow:0 0 24px #7fd0ffcc;font-size:clamp(3.5rem,8vw,6rem);font-weight:200;line-height:1;animation:1s ease-out both countdown-pop}@keyframes countdown-pop{0%{opacity:0;transform:scale(1.6)}25%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:.2;transform:scale(.92)}}@media (prefers-reduced-motion:reduce){.scroll-hint__bob,.scroll-hint__arrows svg,.countdown__number{animation:none}}.intro{z-index:10;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;transition:opacity .6s;display:flex;position:fixed;inset:0}.intro--gone{opacity:0;pointer-events:none}.intro__star{background:#fff;border-radius:50%;width:4px;height:4px;box-shadow:0 0 12px 3px #c8dcffb3}.intro__brand{letter-spacing:.45em;text-transform:uppercase;text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.2em .9em;margin:0;padding:0 1rem;font-size:clamp(1rem,2.4vw,1.4rem);font-weight:300;display:flex}.intro__brand>span:not(.visually-hidden){padding-left:.45em}.intro__slash{color:#7fd0ffcc;font-weight:200}.intro__owner{color:#f2f4f8b3}@media (width<=520px){.intro__brand{flex-direction:column;align-items:center}.intro__slash{display:none}.intro__owner{font-size:.75em}}.intro__enter{min-width:11rem;color:var(--text);font:inherit;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #f2f4f880;border-radius:999px;padding:.9rem 2rem;font-size:.85rem;transition:border-color .2s,background-color .2s}.intro__enter:hover:not(:disabled){border-color:var(--text);background:#f2f4f814}.intro__enter:focus-visible{outline:2px solid var(--text);outline-offset:4px}.intro__enter--waiting{animation:1s ease-in-out infinite enter-wait}@keyframes enter-wait{0%,to{box-shadow:0 0 #7fd0ff66}50%{box-shadow:0 0 0 8px #7fd0ff00}}
