:root{color-scheme:light dark;--bg:#f2f2f7;--bg-translucent:#f2f2f7d9;--label:#1d1d1f;--label-secondary:#3c3c43ad;--label-tertiary:#3c3c4366;--separator:#3c3c4329;--accent:#007aff;--accent-tint:#007aff1f;--accent-tint-strong:#007aff33;--star:#ff9500;--veil:#f2f2f752;--material:#fff9;--material-border:#ffffff8c;--material-shadow:0 1px 2px #0000000a, 0 12px 32px #00000014;--fill:#7878801f;--fill-hover:#78788033;--c-blue:0, 122, 255;--c-purple:191, 90, 242;--c-teal:100, 210, 255;--c-pink:255, 45, 85;--blob-a1:.4;--blob-a2:.34;--blob-a3:.42;--blob-a4:.18;--amb-a1:.22;--amb-a2:.18;--amb-a3:.12;--amb-a4:.18;--font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-large-title:clamp(2.125rem, 8vw, 4.5rem);--text-title:clamp(1.5rem, 4vw, 2rem);--text-body:clamp(1rem, 2.4vw, 1.0625rem);--text-subhead:.9375rem;--text-footnote:.8125rem;--text-caption:.75rem;--spring:cubic-bezier(.32, .72, 0, 1);--spring-bounce:cubic-bezier(.34, 1.3, .64, 1);--duration-fast:.3s;--duration:.55s;--duration-slow:.8s;--radius-card:28px;--radius-small:14px;--section-pad-inline:clamp(1.25rem, 5vw, 2.25rem);--section-pad-block:clamp(1.25rem, 6vw, 2.75rem)}@media (prefers-color-scheme:dark){:root{--bg:#000;--bg-translucent:#000000c7;--label:#f5f5f7;--label-secondary:#ebebf5ad;--label-tertiary:#ebebf566;--separator:#54545899;--accent:#0a84ff;--accent-tint:#0a84ff29;--accent-tint-strong:#0a84ff42;--star:#ff9f0a;--veil:#00000052;--material:#1c1c1e9e;--material-border:#ffffff1f;--material-shadow:0 1px 2px #0000004d, 0 16px 40px #00000073;--fill:#7878803d;--fill-hover:#7878805c;--c-blue:10, 132, 255;--c-pink:255, 55, 95;--blob-a1:.5;--blob-a2:.42;--blob-a3:.34;--blob-a4:.28;--amb-a1:.3;--amb-a2:.24;--amb-a3:.17;--amb-a4:.16}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;font-size:16px;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--label);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;height:100dvh;overflow:hidden}::selection{background:var(--accent);color:#fff}a{color:var(--accent);text-decoration:none}button,a{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}strong{color:var(--label);font-weight:600}.aurora-container{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.aurora-container:before{content:"";filter:blur(60px);background:radial-gradient(130% 110% at 0% 0%, rgba(var(--c-blue), var(--amb-a1)) 0%, rgba(var(--c-blue), calc(var(--amb-a1) * .71)) 30%, rgba(var(--c-blue), calc(var(--amb-a1) * .48)) 45%, rgba(var(--c-blue), calc(var(--amb-a1) * .28)) 60%, rgba(var(--c-blue), calc(var(--amb-a1) * .13)) 75%, rgba(var(--c-blue), calc(var(--amb-a1) * .04)) 88%, rgba(var(--c-blue), 0) 100%), radial-gradient(120% 110% at 100% 10%, rgba(var(--c-purple), var(--amb-a2)) 0%, rgba(var(--c-purple), calc(var(--amb-a2) * .71)) 30%, rgba(var(--c-purple), calc(var(--amb-a2) * .48)) 45%, rgba(var(--c-purple), calc(var(--amb-a2) * .28)) 60%, rgba(var(--c-purple), calc(var(--amb-a2) * .13)) 75%, rgba(var(--c-purple), calc(var(--amb-a2) * .04)) 88%, rgba(var(--c-purple), 0) 100%), radial-gradient(130% 120% at 20% 100%, rgba(var(--c-pink), var(--amb-a3)) 0%, rgba(var(--c-pink), calc(var(--amb-a3) * .71)) 30%, rgba(var(--c-pink), calc(var(--amb-a3) * .48)) 45%, rgba(var(--c-pink), calc(var(--amb-a3) * .28)) 60%, rgba(var(--c-pink), calc(var(--amb-a3) * .13)) 75%, rgba(var(--c-pink), calc(var(--amb-a3) * .04)) 88%, rgba(var(--c-pink), 0) 100%), radial-gradient(120% 120% at 100% 100%, rgba(var(--c-teal), var(--amb-a4)) 0%, rgba(var(--c-teal), calc(var(--amb-a4) * .71)) 30%, rgba(var(--c-teal), calc(var(--amb-a4) * .48)) 45%, rgba(var(--c-teal), calc(var(--amb-a4) * .28)) 60%, rgba(var(--c-teal), calc(var(--amb-a4) * .13)) 75%, rgba(var(--c-teal), calc(var(--amb-a4) * .04)) 88%, rgba(var(--c-teal), 0) 100%), radial-gradient(100% 100% at 50% 50%, rgba(var(--c-purple), var(--amb-a2)) 0%, rgba(var(--c-purple), calc(var(--amb-a2) * .71)) 30%, rgba(var(--c-purple), calc(var(--amb-a2) * .48)) 45%, rgba(var(--c-purple), calc(var(--amb-a2) * .28)) 60%, rgba(var(--c-purple), calc(var(--amb-a2) * .13)) 75%, rgba(var(--c-purple), calc(var(--amb-a2) * .04)) 88%, rgba(var(--c-purple), 0) 100%);position:absolute;inset:-12%}.aurora-blob{filter:blur(48px);will-change:transform;background:radial-gradient(circle, rgba(var(--c), var(--a)) 0%, rgba(var(--c), calc(var(--a) * .9)) 15%, rgba(var(--c), calc(var(--a) * .71)) 30%, rgba(var(--c), calc(var(--a) * .48)) 45%, rgba(var(--c), calc(var(--a) * .28)) 60%, rgba(var(--c), calc(var(--a) * .13)) 75%, rgba(var(--c), calc(var(--a) * .04)) 88%, rgba(var(--c), 0) 100%);border-radius:50%;position:absolute;top:0;left:0}.aurora-blob-1{--c:var(--c-blue);--a:var(--blob-a1);width:min(90vmax,1100px);height:min(90vmax,1100px);animation:17s ease-in-out -6s infinite alternate blobDrift1,5.5s ease-in-out infinite blobBreathe}.aurora-blob-2{--c:var(--c-purple);--a:var(--blob-a2);width:min(80vmax,960px);height:min(80vmax,960px);animation:21s ease-in-out -13s infinite alternate blobDrift2,7s ease-in-out -2s infinite blobBreathe}.aurora-blob-3{--c:var(--c-teal);--a:var(--blob-a3);background:radial-gradient(circle, rgba(var(--c), var(--a)) 0%, rgba(var(--c), calc(var(--a) * .9)) 15%, rgba(var(--c), calc(var(--a) * .71)) 30%, rgba(var(--c), calc(var(--a) * .48)) 45%, rgba(var(--c), calc(var(--a) * .28)) 60%, rgba(var(--c), calc(var(--a) * .13)) 75%, rgba(var(--c), calc(var(--a) * .04)) 88%, rgba(var(--c), 0) 100%), radial-gradient(circle at 30% 70%, rgba(var(--c-pink), var(--blob-a4)) 0%, rgba(var(--c-pink), calc(var(--blob-a4) * .71)) 22%, rgba(var(--c-pink), calc(var(--blob-a4) * .48)) 34%, rgba(var(--c-pink), calc(var(--blob-a4) * .28)) 45%, rgba(var(--c-pink), calc(var(--blob-a4) * .13)) 56%, rgba(var(--c-pink), calc(var(--blob-a4) * .04)) 66%, rgba(var(--c-pink), 0) 75%);width:min(75vmax,900px);height:min(75vmax,900px);animation:19s ease-in-out -4s infinite alternate blobDrift3,6s ease-in-out -3.5s infinite blobBreathe}.aurora-blob-4{--c:var(--c-pink);--a:var(--blob-a4);width:min(65vmax,780px);height:min(65vmax,780px);animation:15s ease-in-out -9s infinite alternate blobDrift4,4.5s ease-in-out -1s infinite blobBreathe}@keyframes blobDrift1{0%{transform:translate(-30%,-35%)scaleY(.85)}20%{transform:translate(10%,-10%)scale(1.25,.9)}40%{transform:translate(40%,5%)scale(.9,1.15)}60%{transform:translate(25%,30%)scale(1.2,.95)}80%{transform:translate(-15%,20%)scale(.85,1.1)}to{transform:translate(-5%,45%)scaleX(1.1)}}@keyframes blobDrift2{0%{transform:translate(65vw,-25%)scale(.9,1.2)}25%{transform:translate(30vw,5vh)scale(1.2,.85)}50%{transform:translate(5vw,35vh)scale(.95,1.1)}75%{transform:translate(35vw,50vh)scaleX(1.15)}to{transform:translate(55vw,20vh)scale(.9,1.2)}}@keyframes blobDrift3{0%{transform:translate(20vw,55vh)rotate(0)scale(1.1,.9)}25%{transform:translate(-15vw,25vh)rotate(40deg)scale(.9,1.2)}50%{transform:translate(10vw,-5vh)rotate(85deg)scale(1.25,.95)}75%{transform:translate(45vw,15vh)rotate(130deg)scale(.95,1.1)}to{transform:translate(30vw,45vh)rotate(180deg)scaleX(1.1)}}@keyframes blobDrift4{0%{transform:translate(70vw,60vh)scaleY(1.15)}30%{transform:translate(45vw,10vh)scale(1.2,.9)}55%{transform:translate(10vw,45vh)scale(.85,1.1)}80%{transform:translate(50vw,70vh)scale(1.15,.95)}to{transform:translate(75vw,25vh)scaleY(1.2)}}@keyframes blobBreathe{0%,to{opacity:.65}50%{opacity:1}}.aurora-noise{opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:absolute;inset:0}.frost-overlay{z-index:1;background:radial-gradient(120% 120% at 50% 0%, transparent 0%, var(--veil) 100%);pointer-events:none;position:fixed;inset:0}.skip-link{z-index:1000;background:var(--material);color:var(--label);border-radius:var(--radius-small);-webkit-backdrop-filter:blur(20px);border:.5px solid var(--material-border);box-shadow:var(--material-shadow);transition:top var(--duration-fast) var(--spring);font-weight:600;font-size:var(--text-subhead);padding:.875rem 1.25rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:max(1rem, env(safe-area-inset-top))}.headline-fixed{z-index:100;pointer-events:none;opacity:0;transition:opacity var(--duration) var(--spring), transform var(--duration) var(--spring);position:fixed;top:0;left:0;right:0;transform:translateY(12px)}.headline-fixed.visible{opacity:1;transform:translateY(0)}.headline-fixed h1{letter-spacing:-.022em;color:var(--label);text-wrap:balance;flex-direction:column;gap:.1em;font-size:clamp(1.625rem,1.15rem + 2vw,3.25rem);font-weight:700;line-height:1.15;display:flex}.headline-fixed .headline-line-1{display:block}.headline-fixed .greeting,.headline-fixed .question{color:var(--label);display:inline}.headline-fixed .headline-line-2{isolation:isolate;display:grid;position:relative}.dynamic-text{opacity:0;filter:blur(6px);transition:opacity .4s var(--spring), filter .4s var(--spring), visibility 0s linear .4s;overflow-wrap:break-word;text-wrap:balance;pointer-events:none;visibility:hidden;grid-area:1/1}.dynamic-text.active{opacity:1;filter:blur();transition:opacity .5s var(--spring) .1s, filter .5s var(--spring) .1s, visibility 0s;pointer-events:auto;visibility:visible}.dynamic-text .w{opacity:0;transition:opacity .25s var(--spring), transform .25s var(--spring);display:inline-block;transform:translateY(.45em)}.dynamic-text.active .w{opacity:1;transition:opacity .45s var(--spring) calc(.12s + var(--i,0) * 45ms), transform .55s var(--spring-bounce) calc(.12s + var(--i,0) * 45ms);transform:translateY(0)}.dynamic-text .highlight{color:inherit;isolation:isolate;position:relative}.highlight-wrapper{vertical-align:baseline;display:inline-block;position:relative}.highlight-wrapper:after{content:"";background:var(--accent);transform-origin:0;border-radius:100px;height:.055em;position:absolute;bottom:-.1em;left:.04em;right:.04em;transform:scaleX(0)}.dynamic-text.active .highlight-wrapper:after{transition:transform .7s var(--spring) 4.4s;transform:scaleX(1)}.highlight-text{z-index:1;display:inline-block;position:relative}.dynamic-text.active .highlight-text{animation:6s forwards textFade}.stars{z-index:0;pointer-events:none;align-items:center;gap:.3rem;height:1lh;display:inline-flex;position:absolute;top:0;left:0}.star{opacity:0;color:var(--star);will-change:transform, opacity;font-size:1em;display:inline-block;transform:scale(0)rotate(-180deg)}.dynamic-text.active .star{animation:starSequence 6s var(--spring-bounce) forwards}.dynamic-text[data-section="2"].active .star{animation:starFlow 6s var(--spring-bounce) forwards}.dynamic-text.active .star:first-child{animation-delay:0s}.dynamic-text.active .star:nth-child(2){animation-delay:.1s}.dynamic-text.active .star:nth-child(3){animation-delay:.2s}.dynamic-text.active .star:nth-child(4){animation-delay:.3s}.dynamic-text.active .star:nth-child(5){animation-delay:.4s}@keyframes textFade{0%,30%{opacity:1}35%,65%{opacity:0}70%,to{opacity:1}}@keyframes starSequence{0%,30%{opacity:0;transform:scale(0)rotate(-180deg)}40%{opacity:1;transform:scale(1.2)rotate(5deg)}60%{opacity:1;transform:scale(1)rotate(0)}65%{opacity:0;transform:scale(.5)rotate(30deg)}to{opacity:0;transform:scale(0)rotate(180deg)}}@keyframes starFlow{0%,30%{opacity:0;transform:scale(0)}35%{opacity:1;transform:scale(1)}40%{transform:scale(1.15)}45%{transform:scale(1)}60%{opacity:1;transform:scale(1)}65%{opacity:0;transform:scale(.5)}to{opacity:0;transform:scale(0)}}.scroll-container{z-index:2;scroll-snap-type:y mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;width:100%;height:100dvh;position:relative;overflow:hidden auto}section{scroll-snap-align:start;scroll-snap-stop:always;width:100%;height:100dvh;padding:var(--section-pad-block) var(--section-pad-inline);padding-left:max(var(--section-pad-inline), env(safe-area-inset-left));padding-right:max(var(--section-pad-inline), env(safe-area-inset-right));flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.section-intro{text-align:center}.hero-content{width:100%;max-width:800px;animation:cardIn var(--duration-slow) var(--spring) both}@keyframes cardIn{0%{opacity:0;transform:translateY(28px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeIn{to{opacity:1}}.glass-card{background:var(--material);-webkit-backdrop-filter:blur(24px)saturate(1.6);border:.5px solid var(--material-border);border-radius:var(--radius-card);box-shadow:var(--material-shadow);padding:clamp(2rem,6vw,3.5rem) clamp(1.5rem,6vw,4rem)}.name{font-size:var(--text-large-title);letter-spacing:-.025em;color:var(--label);text-wrap:balance;margin-bottom:.5rem;font-weight:700;line-height:1.05}.headline{color:var(--label-secondary);letter-spacing:-.01em;text-wrap:balance;opacity:0;animation:fadeIn var(--duration-slow) var(--spring) .25s forwards;margin-bottom:1.75rem;font-size:clamp(1.0625rem,2.5vw,1.375rem);font-weight:500}.bio{font-size:var(--text-body);color:var(--label-secondary);text-wrap:pretty;opacity:0;max-width:600px;animation:fadeIn var(--duration-slow) var(--spring) .4s forwards;margin-inline:auto;font-weight:400;line-height:1.65}.scroll-hint{font:inherit;bottom:max(3.5rem, env(safe-area-inset-bottom) + 2.5rem);opacity:0;animation:fadeIn 1s var(--spring) 1s forwards;cursor:pointer;z-index:10;color:var(--label-tertiary);transition:color var(--duration-fast) var(--spring);background:0 0;border:none;flex-direction:column;align-items:center;gap:.625rem;padding:.75rem 1.25rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.scroll-hint:hover{color:var(--label-secondary)}.scroll-hint span{font-size:var(--text-caption);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.scroll-hint .scroll-arrow{width:14px;height:14px;animation:bounce 2.2s var(--spring) infinite;border-bottom:2px solid;border-right:2px solid;border-radius:1px}@keyframes bounce{0%,to{transform:translateY(0)rotate(45deg)}50%{transform:translateY(6px)rotate(45deg)}}.section-content{background:var(--material);-webkit-backdrop-filter:blur(24px)saturate(1.6);border:.5px solid var(--material-border);border-radius:var(--radius-card);width:100%;max-width:600px;box-shadow:var(--material-shadow);padding:clamp(1.5rem,4vw,2.5rem)}.section-number{font-size:var(--text-footnote);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;font-weight:600}.section-title{font-size:var(--text-title);letter-spacing:-.02em;color:var(--label);text-wrap:balance;margin-bottom:1rem;font-weight:700;line-height:1.18}.section-description{font-size:var(--text-body);color:var(--label-secondary);text-wrap:pretty;margin-bottom:1.75rem;font-weight:400;line-height:1.65}.section-number,.section-title,.section-description,.service-tags,.contact-content{opacity:0;transition:opacity var(--duration) var(--spring), transform var(--duration) var(--spring);transform:translateY(18px)}section.active .section-number,section.active .section-title,section.active .section-description,section.active .service-tags,section.active .contact-content{opacity:1;transform:translateY(0)}section.active .section-number{transition-delay:.1s}section.active .section-title{transition-delay:.18s}section.active .section-description{transition-delay:.26s}section.active .service-tags{transition-delay:.34s}section.active .contact-content{transition-delay:.15s}.service-tags{flex-wrap:wrap;gap:.5rem;display:flex}.service-tag{font-size:var(--text-footnote);letter-spacing:.01em;color:var(--accent);background:var(--accent-tint);transition:background-color var(--duration-fast) var(--spring);border:none;border-radius:100px;padding:.4375rem .875rem;font-weight:600}.service-tag:hover{background:var(--accent-tint-strong)}.contact-content{width:100%}.contact-content .section-description{margin-bottom:0}.contact-links{flex-direction:column;margin-top:1.75rem;display:flex}.contact-link{color:var(--label);border-radius:var(--radius-small);transition:background-color var(--duration-fast) var(--spring);align-items:center;gap:.875rem;margin:0 -.75rem;padding:1rem .75rem;font-size:clamp(1rem,2.5vw,1.1875rem);font-weight:500;display:flex}.contact-link+.contact-link{position:relative}.contact-link+.contact-link:before{content:"";background:var(--separator);height:1px;position:absolute;top:0;left:.75rem;right:.75rem;transform:scaleY(.5)}.contact-link .icon{background:var(--accent);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.contact-link .icon svg{fill:currentColor;width:17px;height:17px}.contact-link .arrow{color:var(--label-tertiary);transition:transform var(--duration-fast) var(--spring), color var(--duration-fast) var(--spring);margin-left:auto;transform:translate(0)}@media (width>=1024px){.headline-fixed{width:42%;max-width:600px;top:50%;left:7vw;right:auto;transform:translateY(calc(12px - 50%))}.headline-fixed.visible{transform:translateY(-50%)}.headline-fixed h1{text-align:left}section{align-items:flex-end;padding-left:calc(7vw + 45%);padding-right:7vw}.section-intro{align-items:center;padding-left:7vw}.section-content{text-align:left;max-width:560px}}@media (width>=769px) and (width<=1023px){.headline-fixed{padding:1.25rem 2rem;padding-top:max(1.25rem, env(safe-area-inset-top));background:linear-gradient(to bottom, var(--bg-translucent) 55%, transparent 100%)}.headline-fixed h1{text-align:left}section{padding-top:calc(var(--headline-h,9rem) + 1.5rem);justify-content:center}.section-intro{padding-top:var(--section-pad-block)}}@media (width<=768px){.headline-fixed{padding:1rem 1.25rem 1.5rem;padding-top:max(1rem, env(safe-area-inset-top));background:linear-gradient(to bottom, var(--bg-translucent) 40%, transparent 100%)}.headline-fixed h1{text-align:left;line-height:1.2}section{justify-content:center;align-items:center}section:not(.section-intro){padding-top:calc(var(--headline-h,8rem) + .75rem);justify-content:flex-start}section:not(.section-intro) .section-content{margin-block:auto}.scroll-hint{bottom:max(clamp(48px, 12vh, 84px), env(safe-area-inset-bottom) + 40px)}}@media (width<=480px){.glass-card{border-radius:24px;padding:2rem 1.375rem}.section-content{border-radius:24px;padding:1.5rem 1.25rem}.contact-link{font-size:1rem}}@media (height<=500px) and (orientation:landscape){.scroll-container{scroll-snap-type:y proximity}section{height:auto;min-height:100dvh;overflow:visible}.headline-fixed{padding:.625rem 1.25rem 1rem}.headline-fixed h1{font-size:clamp(1.25rem,4vh,1.625rem)}section:not(.section-intro){padding-top:calc(var(--headline-h,4.5rem) + .75rem);padding-bottom:1.5rem}.section-title{font-size:1.375rem}.section-description{margin-bottom:1.25rem;font-size:.9375rem}.scroll-hint{bottom:.75rem}.glass-card{padding:1.5rem 2rem}.name{font-size:clamp(1.75rem,8vh,2.5rem)}.headline{margin-bottom:.75rem}.bio{font-size:.9375rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.aurora-blob{animation:none}.scroll-container{scroll-behavior:auto}.hero-content,.headline,.bio,.scroll-hint{opacity:1;animation:none;transform:none}.section-number,.section-title,.section-description,.service-tags,.contact-content,.dynamic-text.active,.dynamic-text.active .w,.dynamic-text.active .highlight-wrapper:after,.headline-fixed{transition:none}.dynamic-text{filter:none}}@media (hover:hover) and (pointer:fine){.contact-link:hover{background:var(--fill)}.contact-link:hover .arrow{color:var(--accent);transform:translate(4px)}}.contact-link:active{background:var(--fill-hover)}
