:root{--black:#000;--white:#fff;--white-100:#f7f7f7;--white-200:#e7e7e7;--gray-100:#535353;--gray-200:#919191;--gray-300:#d9d9d9;--gray-400:#f0f0f0;--gray-500:#fbfbfb;--color-background:var(--white-100);--color-text:var(--black);--color-text-hover:var(--gray-100);--color-text-secondary:var(--gray-200);--color-text-tertiary:var(--gray-300);--color-border:var(--white-200);--nav-bg:#ffffff80;--card-bg:var(--white);--card-bg-secondary:var(--gray-500);--primary-btn-color:var(--gray-400);--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-size-base:16px;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem;--font-size-4xl:3rem;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:.75rem;--spacing-base:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:2.5rem;--spacing-3xl:3rem;--spacing-4xl:4rem;--container-width:1040px;--max-ticker-width:500;--max-ticker-width-px:calc(var(--max-ticker-width) * 1px);--max-ticker-height:325.455;--max-ticker-height-px:calc(var(--max-ticker-height) * 1px);--max-content-width:500px;--portfolio-grid-item-width:350px;--header-height:48px;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-full:1000px;--transition-fast:.3s cubic-bezier(.25, .1, .25, 1);--transition-medium:.5s cubic-bezier(.25, .1, .25, 1);--transition-slow:.8s cubic-bezier(.25, .1, .25, 1);--fade-duration:.7s;--fade-timing:cubic-bezier(.25, .1, .25, 1);--blur-amount:25px;--card-shadow:0 4px 4px #00000008}*{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);scroll-behavior:smooth;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-family);color:var(--color-text);background-color:var(--color-background);line-height:1.2}img{max-width:100%;height:auto;display:block}ul{list-style:none}a{color:var(--color-text);cursor:pointer;transition:color var(--transition-medium);text-decoration:none}a:hover{color:var(--color-text-hover)}.header{width:min(94%, var(--container-width));z-index:100;transition:background-color var(--transition-medium);justify-content:space-between;align-items:center;margin-inline:auto;display:flex;position:fixed;top:21px;left:0;right:0}.header .nav-btn{display:none}body.portfolio .header .nav-btn{display:inline-block}.nav-container{background:var(--nav-bg);border-radius:var(--border-radius-full);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);align-items:center;gap:var(--spacing-sm);display:inline-flex;position:relative}.nav-link{padding:var(--spacing-base);color:var(--color-text);font-size:var(--font-size-md);z-index:2;transition:color var(--transition-fast);font-weight:500;position:relative}.nav-link:hover,.nav-link.active{color:var(--color-text-hover)}.magnetic-bg{background-color:var(--white);border-radius:var(--border-radius-full);z-index:1;height:100%;transition:transform var(--transition-fast), width var(--transition-fast);pointer-events:none;will-change:transform, width;position:absolute;top:0;left:0}.page{opacity:0;transition:opacity var(--transition-medium), transform var(--transition-medium);display:none;transform:translateY(20px)}.page.active{opacity:1;display:block;transform:translateY(0)}.page-layout{justify-content:center;gap:var(--spacing-2xl);width:min(94%, var(--container-width));grid-template-columns:.5fr .5fr;margin:0 auto;display:grid}.content-area{gap:var(--spacing-xl);padding-top:calc(var(--header-height) + var(--spacing-3xl));padding-bottom:var(--spacing-4xl);flex-direction:column;place-self:end flex-end;width:100%;margin:0 auto;display:flex}.ticker-area{height:100vh;position:sticky;top:0;overflow:hidden}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-md)}.subtitle{font-size:var(--font-size-md);color:var(--color-text)}.hero-content{gap:var(--spacing-md);flex-direction:column;display:flex}.btn{padding:var(--spacing-md) var(--spacing-base);border-radius:var(--border-radius-full);text-align:center;cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);font-weight:500;line-height:19px;display:inline-block}.btn.primary{background-color:var(--primary-btn-color);padding:var(--spacing-md) 43.5px;color:var(--color-text);z-index:1;transition:transform .3s;position:relative}.btn.primary:before{content:"";background:linear-gradient(180deg, var(--white) 26.74%, #c1c1c1 63.37%, var(--white) 100%);border-radius:inherit;z-index:-1;animation:6s linear infinite gradient-shift;position:absolute;inset:-1.5px}.btn.primary:after{content:"";background-color:var(--primary-btn-color);border-radius:inherit;z-index:-1;position:absolute;inset:0}.content-wrapper{z-index:1000;justify-content:center;align-items:center;display:inline-flex;position:relative}.default-content{opacity:1;filter:blur();will-change:transform, opacity, filter;justify-content:center;align-items:center;transition:opacity .3s cubic-bezier(.34,1.56,.64,1),transform .3s cubic-bezier(.34,1.56,.64,1),filter .3s;display:flex;transform:translateY(0)scale(1)}.hover-content{opacity:0;pointer-events:none;filter:blur();will-change:transform, opacity, filter;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s cubic-bezier(.34,1.56,.64,1),transform .3s cubic-bezier(.34,1.56,.64,1),filter .3s;display:flex;position:absolute;top:0;left:0;transform:translateY(10px)scale(.95)}.btn.primary:hover .default-content{opacity:0;filter:blur(2px);transition:opacity .2s ease-out,transform .2s ease-out,filter .2s ease-out;transform:translateY(-10px)scale(.95)}.btn.primary:hover .hover-content{opacity:1;transition:opacity .3s cubic-bezier(.34,1.56,.64,1) .15s,transform .3s cubic-bezier(.34,1.56,.64,1) .15s,filter .3s .15s;transform:translateY(0)scale(1)}.btn.primary .default-content{transition:opacity .3s cubic-bezier(.34,1.56,.64,1) .15s,transform .3s cubic-bezier(.34,1.56,.64,1) .15s,filter .3s .15s}.btn.primary .hover-content{transition:opacity .2s ease-out,transform .2s ease-out,filter .2s ease-out}.hover-content img{object-fit:cover;vertical-align:middle;border-radius:50%;margin-left:4px}.btn.primary .glaze-container{border-radius:inherit;z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.btn.primary .glaze{mix-blend-mode:soft-light;opacity:0;pointer-events:none;z-index:2;filter:blur(2px);background:radial-gradient(circle,#fff 0%,#ffffffe6 10%,#ffffffb3 20%,#fff6 40%,#0000 70%);width:180px;height:180px;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn.primary .prismatic-edge{border-radius:inherit;z-index:1;opacity:0;pointer-events:none;background:linear-gradient(45deg,#ffffff1a,#c8dcff4d 25%,#dcc8ff4d 50%,#ffdcc84d 75%,#ffffff1a);transition:opacity .3s;position:absolute;inset:-2px}.btn.primary .outer-glow{border-radius:inherit;z-index:0;opacity:0;pointer-events:none;filter:blur(4px);background:radial-gradient(circle,#fffc 0%,#fff0 70%);transition:opacity .3s;position:absolute;inset:-4px}.btn.primary .shimmer{z-index:3;opacity:0;background:linear-gradient(90deg,#0000,#fff9,#0000);width:50%;height:100%;transition:opacity .3s;position:absolute;top:0;left:-100%;transform:skew(-20deg)}.btn.primary .glaze-layer-1,.btn.primary .glaze-layer-2{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.btn.primary .glaze-layer-1{z-index:2;background:linear-gradient(135deg,#0000 0%,#fff3 25%,#ffffff4d 50%,#fff3 75%,#0000 100%)}.btn.primary .glaze-layer-2{z-index:3;background:linear-gradient(-45deg,#0000 0%,#ffffff1a 25%,#fff3 50%,#ffffff1a 75%,#0000 100%)}.btn.primary:hover .glaze{opacity:1;animation:4s ease-in-out infinite alternate move-glaze}.btn.primary:hover .prismatic-edge{opacity:1;animation:3s linear infinite rotate-hue}.btn.primary:hover .outer-glow{opacity:.5;animation:2s ease-in-out infinite pulse-glow}.btn.primary:hover .shimmer{opacity:1;animation:2s infinite shimmer}.btn.primary:hover .glaze-layer-1{opacity:1;animation:3s ease-in-out infinite alternate move-layer-1}.btn.primary:hover .glaze-layer-2{opacity:1;animation:4s ease-in-out infinite alternate-reverse move-layer-2}.btn.primary:hover:before{animation:3s linear infinite gradient-shift}.btn.primary:active{transform:scale(.98)}.btn.primary:active .glaze{opacity:.8}.btn.secondary{color:var(--color-primary);background-color:#0000}.btn.secondary:hover{background-color:var(--nav-bg)}.btn.full-width{width:100%}.cta-buttons{align-items:center;gap:var(--spacing-md);display:flex}.lazy-image{filter:blur(10px);transition:filter var(--transition-medium);opacity:.8;will-change:filter, opacity}.lazy-image.loaded{filter:blur();opacity:1;animation:.6s forwards fadeIn}.stagger-children>*,.animate-fade-in{opacity:0;animation:none}.animate-fade-in.in-viewport,.stagger-children.in-viewport>*{animation:fadeInWithBlur var(--fade-duration,.8s) var(--fade-timing) forwards;animation-delay:calc(var(--delay,0) * .3s)}.animate-fade-in.out-viewport,.stagger-children.out-viewport>*{animation:fadeOutWithBlur calc(var(--fade-duration,.8s) * .8) var(--fade-timing) forwards}.intro-card{border-radius:var(--border-radius-lg);max-width:var(--max-content-width)}.intro-content{padding:var(--spacing-base);gap:var(--spacing-md);background-color:var(--card-bg);border-radius:var(--border-radius-lg);border:1px solid var(--color-border);box-shadow:var(--card-shadow);z-index:1;flex-direction:column;display:flex;position:relative}.intro-content p,.intro-content h2{font-size:var(--font-size-base);font-weight:400}.author{align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-base) var(--spacing-base);border-radius:0 0 var(--border-radius-lg) var(--border-radius-lg);border:1px solid var(--color-border);background:var(--card-bg-secondary);margin-top:-12px;display:flex}.author-info{align-items:center;gap:var(--spacing-md);display:flex}.author-img img{border-radius:50%}.author-info h3{font-size:var(--font-size-base);font-weight:500}.author-title{color:var(--color-text-hover);font-size:var(--font-size-xs);margin-left:auto}.author-title a{color:var(--color-text-hover)}.author-title a:hover{color:var(--color-text)}.vertical-ticker,.horizontal-ticker{perspective:1000px;margin:0 auto;position:relative;overflow:hidden}.vertical-ticker{height:100%;max-width:var(--max-ticker-width-px)}.horizontal-ticker{width:100%}.ticker-track{backface-visibility:hidden;display:flex;position:relative}.vertical-ticker .ticker-track{flex-direction:column;min-height:200%;animation:120s linear infinite tickerVertical}.horizontal-ticker .ticker-track{flex-direction:row;width:max-content;animation-name:tickerHorizontal;animation-timing-function:linear;animation-iteration-count:infinite;animation-delay:0s}.vertical-ticker:hover .ticker-track,.horizontal-ticker:hover .ticker-track{animation-play-state:paused}.ticker-item{border-radius:var(--border-radius-lg);opacity:1;border:1px solid var(--color-border);filter:drop-shadow(var(--card-shadow));transform-style:preserve-3d;z-index:1;will-change:opacity, transform, filter;transition:all .4s cubic-bezier(.165,.84,.44,1);position:relative;overflow:hidden}.vertical-ticker .ticker-item{margin-bottom:var(--spacing-lg);width:100%;max-width:var(--max-ticker-width-px)}.horizontal-ticker .ticker-item{margin-right:var(--spacing-lg);flex:none;width:85%;max-width:350px}.ticker-item:hover{opacity:1;z-index:2;transition:all .8s cubic-bezier(.165,.84,.44,1);transform:translateZ(10px)}.ticker-track:hover .ticker-item:not(:hover){opacity:.4;filter:grayscale(30%);transition:all .8s cubic-bezier(.165,.84,.44,1);transform:scale(.95)translateZ(0)}.ticker-item img,.ticker-item picture{width:100%;height:auto;max-width:var(--max-ticker-width-px);max-height:var(--max-ticker-height-px);object-fit:cover;border-radius:inherit;aspect-ratio:var(--max-ticker-width) / var(--max-ticker-height)}.ticker-item:before{content:"";mix-blend-mode:overlay;opacity:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#00000080 50%,#0000 100%);width:50%;height:100%;transition:all .75s;position:absolute;top:0;left:-100%;transform:skew(-25deg)}.dark.ticker-item:before{background:linear-gradient(90deg,#fff0 0%,#ffffff80 50%,#fff0 100%)}.ticker-item:after{content:"";opacity:0;z-index:1;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.ticker-item:hover:before{opacity:1;transition:all 1.2s;left:125%}.ticker-item:hover:after{opacity:1;transition:opacity .8s}.pricing-grid{align-items:flex-start;gap:var(--spacing-2xl);flex-direction:column;width:100%;display:flex}.pricing-card{min-width:290px;max-width:var(--max-content-width);width:100%}.pricing-header{padding:var(--spacing-base) var(--spacing-base) var(--spacing-lg);align-items:flex-start;gap:var(--spacing-base);background-color:var(--card-bg-secondary);border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;border:1px solid var(--color-border);flex-direction:column;margin:-13px 0;display:flex}.pricing-header .content{justify-content:space-between;align-items:center;gap:var(--spacing-lg);width:100%;font-size:var(--font-size-base);flex-direction:row;display:flex}.pricing-header .content h2{font-size:var(--font-size-base)}.pricing-header .content p{text-align:end;color:var(--color-text-secondary)}.pricing-header .price h3{font-weight:500;font-size:var(--font-size-xl)}.pricing-header .price.custom{flex-direction:row;justify-content:space-between;align-items:center;width:100%;display:flex}.pricing-header .price.custom p{font-weight:500;font-size:var(--font-size-xl)}.pricing-header .price.custom h3{background:var(--gray-400);border-radius:var(--border-radius-md);color:var(--color-text-hover);line-height:15px;font-size:var(--font-size-xs);gap:10px;padding:3px 10px}.pricing-body{padding:var(--spacing-base);background-color:var(--card-bg);border-radius:var(--border-radius-lg);border:1px solid var(--color-border);box-shadow:var(--card-shadow);gap:var(--spacing-lg);flex-direction:column;display:flex}.pricing-body .features{gap:var(--spacing-md);flex-direction:column;display:flex}.features .feature{gap:var(--spacing-sm);display:flex}.feature p{color:var(--color-text-hover)}.portfolio-grid{grid-template-columns:repeat(auto-fill, minmax(var(--portfolio-grid-item-width), 1fr));gap:var(--spacing-md);padding-top:calc(var(--header-height) + var(--spacing-3xl));padding-bottom:var(--spacing-xl);padding-inline:var(--spacing-md);margin:0 auto;display:grid}.portfolio-image{border:1px solid var(--color-border);border-radius:var(--border-radius-md);aspect-ratio:1.54;position:relative;overflow:hidden}.portfolio-image.animate-fade-in.in-viewport{animation-delay:calc(var(--delay,0) * .15s)}.portfolio-image:hover{z-index:1}.portfolio-image-link{cursor:zoom-in;width:100%;height:100%;display:block;position:relative}.portfolio-image-link:before{content:"";opacity:0;z-index:1;background:linear-gradient(#fff0 0% 80%,#fff);transition:opacity .3s;position:absolute;inset:0}.portfolio-image-link:after{content:"View";color:var(--black);opacity:0;z-index:2;font-weight:400;transition:opacity .3s,transform .3s;position:absolute;bottom:20px;left:20px;transform:translateY(10px)}.dark .portfolio-image-link:before{background:linear-gradient(#0000 0% 80%,#000)}.dark .portfolio-image-link:after{color:var(--white)}.portfolio-image-link:hover:before,.portfolio-image-link:hover:after{opacity:1}.portfolio-image-link:hover:after{transform:translateY(0)}.portfolio-image img{object-fit:cover;border-radius:inherit;width:100%;height:100%;transition:transform .8s}.portfolio-image:hover img{transform:scale(1.05)}.image-modal{z-index:1000;opacity:0;visibility:hidden;background-color:#000000b3;justify-content:center;align-items:center;transition:opacity .3s,visibility .3s;display:flex;position:fixed;inset:0}.image-modal.open{opacity:1;visibility:visible}.image-modal-content{opacity:0;max-width:90vw;max-height:90vh;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .5s cubic-bezier(.16,1,.3,1);position:relative;transform:scale(.9)}.image-modal.open .image-modal-content{opacity:1;transform:scale(1)}.image-modal-image-container{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.image-modal-image{object-fit:contain;border-radius:var(--border-radius-md);max-width:100%;max-height:80vh;box-shadow:0 10px 30px #0000004d}.image-modal-content.loading:before{content:"";border:4px solid #ffffff4d;border-top-color:var(--white);border-radius:50%;width:40px;height:40px;margin:-20px 0 0 -20px;animation:1.5s linear infinite spin;position:absolute;top:50%;left:50%}.image-modal-status{max-width:420px;padding:var(--spacing-lg);border-radius:var(--border-radius-md);color:var(--white);text-align:center;background:#000000b3;line-height:1.5;display:none}.image-modal-content[data-error=true] .image-modal-image{display:none}.image-modal-content[data-error=true] .image-modal-status{display:block}@media (width<=768px){.header{justify-content:center}body.portfolio .header .nav-btn{display:none}.page-layout{gap:var(--spacing-xl);grid-template-rows:auto 1fr;grid-template-columns:1fr;width:100%}.ticker-area{max-height:450px;padding-top:calc(var(--header-height) + var(--spacing-4xl));margin-bottom:var(--spacing-xl);order:0;position:relative;height:auto!important}.content-area{padding-top:0;padding-bottom:var(--spacing-xl);padding-inline:var(--spacing-xl);max-width:var(--container-width);order:1;margin:0 auto}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (width<=480px){.header{padding-top:10px}.nav-link{font-size:var(--font-size-sm)}.portfolio-grid{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:.8}to{opacity:1}}@keyframes fadeInWithBlur{0%{opacity:0;filter:blur(var(--blur-amount));transform:translateY(20px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes fadeOutWithBlur{0%{opacity:1;filter:blur();transform:translateY(0)}to{opacity:0;filter:blur(10px);transform:translateY(var(--blur-amount))}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes tickerVertical{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes tickerHorizontal{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes shimmer{0%{left:-100%}to{left:200%}}@keyframes rotate-hue{0%{filter:hue-rotate()}to{filter:hue-rotate(360deg)}}@keyframes pulse-glow{0%,to{opacity:.3}50%{opacity:.6}}@keyframes move-glaze{0%{top:30%;left:30%}25%{top:30%;left:70%}50%{top:70%;left:70%}75%{top:70%;left:30%}to{top:30%;left:30%}}@keyframes move-layer-1{0%{background-position:0 0}to{background-position:100% 100%}}@keyframes move-layer-2{0%{background-position:0 0}to{background-position:100% 100%}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}
