:root{--black: #000000;--white: #ffffff;--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: rgba(255, 255, 255, .5);--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.45454545;--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 rgba(0, 0, 0, .03)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:var(--font-size-base);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{text-decoration:none;color:var(--color-text);cursor:pointer;transition:color var(--transition-medium)}a:hover{color:var(--color-text-hover)}.header{position:fixed;top:21px;left:0;right:0;width:min(94%,var(--container-width));z-index:100;transition:background-color var(--transition-medium);display:flex;align-items:center;justify-content:space-between;margin-inline:auto}.header .nav-btn{display:none}body.portfolio .header .nav-btn{display:inline-block}.nav-container{position:relative;display:inline-flex;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)}.nav-link{position:relative;padding:var(--spacing-base);color:var(--color-text);font-size:var(--font-size-md);font-weight:500;z-index:2;transition:color var(--transition-fast)}.nav-link:hover,.nav-link.active{color:var(--color-text-hover)}.magnetic-bg{position:absolute;top:0;left:0;height:100%;background-color:var(--white);border-radius:var(--border-radius-full);z-index:1;transition:transform var(--transition-fast),width var(--transition-fast);pointer-events:none;will-change:transform,width}.page{display:none;opacity:0;transform:translateY(20px);transition:opacity var(--transition-medium),transform var(--transition-medium)}.page.active{display:block;opacity:1;transform:translateY(0)}.page-layout{display:grid;grid-template-columns:.5fr .5fr;justify-content:center;gap:var(--spacing-2xl);width:min(94%,var(--container-width));margin:0 auto}.content-area{display:flex;flex-direction:column;gap:var(--spacing-xl);justify-self:flex-end;align-self:end;padding-top:calc(var(--header-height) + var(--spacing-3xl));padding-bottom:var(--spacing-4xl);margin:0 auto;width:100%}.ticker-area{position:sticky;top:0;height:100vh;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{display:flex;flex-direction:column;gap:var(--spacing-md)}.btn{display:inline-block;padding:var(--spacing-md) var(--spacing-base);border-radius:var(--border-radius-full);font-weight:500;line-height:19px;text-align:center;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.btn.primary{background-color:var(--primary-btn-color);padding:var(--spacing-md) 43.5px;color:var(--color-text);position:relative;z-index:1;transition:transform .3s ease}.btn.primary:before{content:"";position:absolute;top:-1.5px;left:-1.5px;right:-1.5px;bottom:-1.5px;background:linear-gradient(180deg,var(--white) 26.74%,#c1c1c1 63.37%,var(--white) 100%);border-radius:inherit;z-index:-1;animation:gradient-shift 6s linear infinite}.btn.primary:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--primary-btn-color);border-radius:inherit;z-index:-1}.content-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;z-index:1000}.default-content{display:flex;align-items:center;justify-content:center;opacity:1;transform:translateY(0) scale(1);transition:opacity .3s cubic-bezier(.34,1.56,.64,1),transform .3s cubic-bezier(.34,1.56,.64,1),filter .3s ease;filter:blur(0);will-change:transform,opacity,filter}.hover-content{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(10px) scale(.95);pointer-events:none;transition:opacity .3s cubic-bezier(.34,1.56,.64,1),transform .3s cubic-bezier(.34,1.56,.64,1),filter .3s ease;filter:blur(0);will-change:transform,opacity,filter}.btn.primary:hover .default-content{opacity:0;transform:translateY(-10px) scale(.95);filter:blur(2px);transition:opacity .2s ease-out,transform .2s ease-out,filter .2s ease-out}.btn.primary:hover .hover-content{opacity:1;transform:translateY(0) scale(1);transition:opacity .3s cubic-bezier(.34,1.56,.64,1) .15s,transform .3s cubic-bezier(.34,1.56,.64,1) .15s,filter .3s ease .15s}.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 ease .15s}.btn.primary .hover-content{transition:opacity .2s ease-out,transform .2s ease-out,filter .2s ease-out}.hover-content img{border-radius:50%;margin-left:4px;object-fit:cover;vertical-align:middle}.btn.primary .glaze-container{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;border-radius:inherit;z-index:1;pointer-events:none}.btn.primary .glaze{position:absolute;width:180px;height:180px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(255,255,255,.9) 10%,rgba(255,255,255,.7) 20%,rgba(255,255,255,.4) 40%,transparent 70%);mix-blend-mode:soft-light;opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:2;filter:blur(2px)}.btn.primary .prismatic-edge{position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:inherit;background:linear-gradient(45deg,#ffffff1a,#c8dcff4d 25%,#dcc8ff4d,#ffdcc84d 75%,#ffffff1a);z-index:1;opacity:0;transition:opacity .3s ease;pointer-events:none}.btn.primary .outer-glow{position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border-radius:inherit;background:radial-gradient(circle at center,#fffc,#fff0 70%);z-index:0;opacity:0;transition:opacity .3s ease;pointer-events:none;filter:blur(4px)}.btn.primary .shimmer{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:skew(-20deg);z-index:3;opacity:0;transition:opacity .3s ease}.btn.primary .glaze-layer-1,.btn.primary .glaze-layer-2{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;transition:opacity .3s ease;pointer-events:none}.btn.primary .glaze-layer-1{background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.2) 25%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.2) 75%,transparent 100%);z-index:2}.btn.primary .glaze-layer-2{background:linear-gradient(-45deg,transparent 0%,rgba(255,255,255,.1) 25%,rgba(255,255,255,.2) 50%,rgba(255,255,255,.1) 75%,transparent 100%);z-index:3}.btn.primary:hover .glaze{opacity:1;animation:move-glaze 4s infinite alternate ease-in-out}.btn.primary:hover .prismatic-edge{opacity:1;animation:rotate-hue 3s linear infinite}.btn.primary:hover .outer-glow{opacity:.5;animation:pulse-glow 2s ease-in-out infinite}.btn.primary:hover .shimmer{opacity:1;animation:shimmer 2s infinite}.btn.primary:hover .glaze-layer-1{opacity:1;animation:move-layer-1 3s infinite alternate ease-in-out}.btn.primary:hover .glaze-layer-2{opacity:1;animation:move-layer-2 4s infinite alternate-reverse ease-in-out}.btn.primary:hover:before{animation:gradient-shift 3s linear infinite}.btn.primary:active{transform:scale(.98)}.btn.primary:active .glaze{opacity:.8}.btn.secondary{background-color:transparent;color:var(--color-primary)}.btn.secondary:hover{background-color:var(--nav-bg)}.btn.full-width{width:100%}.cta-buttons{display:flex;align-items:center;gap:var(--spacing-md)}.lazy-image{filter:blur(10px);transition:filter var(--transition-medium);opacity:.8;will-change:filter,opacity}.lazy-image.loaded{filter:blur(0);opacity:1;animation:fadeIn .6s cubic-bezier(.25,.1,.25,1) forwards}.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)}.intro-card{max-width:var(--max-content-width)}.intro-content{padding:var(--spacing-base);display:flex;flex-direction:column;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);position:relative;z-index:1}.intro-content p,.intro-content h2{font-size:var(--font-size-base);font-weight:400}.author{display:flex;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}.author-info{display:flex;align-items:center;gap:var(--spacing-md)}.author-img img{border-radius:50%}.author-info h3{font-size:var(--font-size-base);font-weight:500}.author-title{margin-left:auto;color:var(--color-text-hover);font-size:var(--font-size-xs)}.author-title a{color:var(--color-text-hover)}.author-title a:hover{color:var(--color-text)}.vertical-ticker,.horizontal-ticker{position:relative;overflow:hidden;margin:0 auto;perspective:1000px}.vertical-ticker{height:100%;max-width:var(--max-ticker-width-px)}.horizontal-ticker{width:100%}.ticker-track{position:relative;display:flex;backface-visibility:hidden}.vertical-ticker .ticker-track{flex-direction:column;min-height:200%;animation:tickerVertical 120s linear infinite}.horizontal-ticker .ticker-track{flex-direction:row;width:max-content;animation-name:tickerHorizontal;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:infinite}.vertical-ticker:hover .ticker-track,.horizontal-ticker:hover .ticker-track{animation-play-state:paused}.ticker-item{border-radius:var(--border-radius-lg);overflow:hidden;opacity:1;transition:all .4s cubic-bezier(.165,.84,.44,1);border:1px solid var(--color-border);filter:drop-shadow(var(--card-shadow));position:relative;transform-style:preserve-3d;z-index:1;will-change:opacity,transform,filter}.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:0 0 auto;width:85%;max-width:350px}.ticker-item:hover{opacity:1;transform:translateZ(10px);z-index:2;transition:all .8s cubic-bezier(.165,.84,.44,1)}.ticker-track:hover .ticker-item:not(:hover){opacity:.4;filter:grayscale(30%);transform:scale(.95) translateZ(0);transition:all .8s cubic-bezier(.165,.84,.44,1)}.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:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,#0000,#00000080,#0000);mix-blend-mode:overlay;transform:skew(-25deg);transition:all .75s;opacity:0;z-index:2;pointer-events:none}.dark.ticker-item:before{background:linear-gradient(to right,#fff0,#ffffff80,#fff0)}.ticker-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .4s ease;z-index:1;pointer-events:none}.ticker-item:hover:before{left:125%;opacity:1;transition:all 1.2s ease}.ticker-item:hover:after{opacity:1;transition:opacity .8s ease}.pricing-grid{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-2xl);width:100%}.pricing-card{min-width:290px;max-width:var(--max-content-width);width:100%}.pricing-header{display:flex;flex-direction:column;align-items:flex-start;padding:var(--spacing-base) var(--spacing-base) var(--spacing-lg);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);margin:-13px 0}.pricing-header .content{display:flex;flex-direction:row;width:100%;justify-content:space-between;align-items:center;gap:var(--spacing-lg);font-size:var(--font-size-base)}.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{display:flex;flex-direction:row;width:100%;justify-content:space-between;align-items:center}.pricing-header .price.custom p{font-weight:500;font-size:var(--font-size-xl)}.pricing-header .price.custom h3{padding:3px 10px;gap:10px;background:var(--gray-400);border-radius:var(--border-radius-md);line-height:15px;color:var(--color-text-hover);font-size:var(--font-size-xs)}.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);display:flex;flex-direction:column;gap:var(--spacing-lg)}.pricing-body .features{display:flex;flex-direction:column;gap:var(--spacing-md)}.features .feature{display:flex;gap:var(--spacing-sm)}.feature p{color:var(--color-text-hover)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--portfolio-grid-item-width),1fr));gap:var(--spacing-md);margin:0 auto;padding-top:calc(var(--header-height) + var(--spacing-3xl));padding-bottom:var(--spacing-xl);padding-inline:var(--spacing-md)}.portfolio-image{border:1px solid var(--color-border);border-radius:var(--border-radius-md);position:relative;overflow:hidden;aspect-ratio:1.54 / 1}.portfolio-image.animate-fade-in.in-viewport{animation-delay:calc(var(--delay, 0) * .15s)}.portfolio-image:hover{z-index:1}.portfolio-image-link{display:block;width:100%;height:100%;cursor:zoom-in;position:relative}.portfolio-image-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#fff,#fff0 20%,#fff0);opacity:0;transition:opacity .3s ease;z-index:1}.portfolio-image-link:after{content:"View";position:absolute;bottom:20px;left:20px;color:var(--black);font-weight:400;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease;z-index:2}.dark .portfolio-image-link:before{background:linear-gradient(to top,#000,#0000 20%,#0000)}.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{width:100%;height:100%;object-fit:cover;border-radius:inherit;transition:transform .8s ease}.portfolio-image:hover img{transform:scale(1.05)}.image-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.image-modal.open{opacity:1;visibility:visible}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;transform:scale(.9);opacity:0;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .5s cubic-bezier(.16,1,.3,1)}.image-modal.open .image-modal-content{transform:scale(1);opacity:1}.image-modal-image-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.image-modal-image{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--border-radius-md);box-shadow:0 10px 30px #0000004d}.image-modal-nav{position:absolute;top:50%;transform:translateY(-50%);background:#0009;border:2px solid rgba(255,255,255,.7);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--white);transition:background .5s ease;box-shadow:0 0 10px #0000004d}.image-modal-nav:hover{background:#000c}.image-modal-content.loading:before{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:4px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--white);animation:spin 1.5s infinite linear}@media (max-width: 768px){.header{justify-content:center}body.portfolio .header .nav-btn{display:none}.page-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:var(--spacing-xl);width:100%}.ticker-area{order:0;position:relative;height:auto!important;max-height:450px;padding-top:calc(var(--header-height) + var(--spacing-4xl));margin-bottom:var(--spacing-xl)}.content-area{order:1;margin:0 auto;padding-top:0;padding-bottom:var(--spacing-xl);padding-inline:var(--spacing-xl);max-width:var(--container-width)}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.image-modal-nav{width:40px;height:40px}}@media (max-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;transform:translateY(20px);filter:blur(var(--blur-amount))}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes fadeOutWithBlur{0%{opacity:1;filter:blur(0);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(0deg)}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%}50%{background-position:100% 50%}to{background-position:0% 50%}}
