*{margin:0;padding:0;box-sizing:border-box}:root{--font-serif: "Playfair Display", Georgia, "Times New Roman", serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-base: 16px;--line-height-base: 1.6;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--spacing-3xl: 6rem;--spacing-4xl: 8rem;--breakpoint-mobile: 480px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1024px;--breakpoint-large: 1440px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-reveal: .8s cubic-bezier(.16, 1, .3, 1);--shadow-glass: 0 8px 32px rgba(0, 0, 0, .12);--shadow-glass-hover: 0 16px 48px rgba(0, 0, 0, .18);--shadow-elevated: 0 20px 60px rgba(0, 0, 0, .15);--shadow-glow: 0 0 40px rgba(88, 166, 255, .15);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-full: 9999px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}[data-theme=dark]{--color-bg-primary: #050505;--color-bg-secondary: #0a0a0a;--color-bg-tertiary: #101010;--color-bg-glass: rgba(10, 10, 10, .8);--color-text-primary: #f5f5f5;--color-text-secondary: #a0a0a0;--color-text-tertiary: #666666;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .15);--color-accent: #6366f1;--color-accent-hover: #818cf8;--color-accent-secondary: #06b6d4;--color-accent-tertiary: #8b5cf6;--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--color-navbar-bg: rgba(5, 5, 5, .85);--color-navbar-border: rgba(255, 255, 255, .06)}[data-theme=light]{--color-bg-primary: #ffffff;--color-bg-secondary: #fafafa;--color-bg-tertiary: #f5f5f5;--color-bg-glass: rgba(255, 255, 255, .85);--color-text-primary: #0a0a0a;--color-text-secondary: #525252;--color-text-tertiary: #a3a3a3;--color-border: rgba(0, 0, 0, .08);--color-border-hover: rgba(0, 0, 0, .15);--color-accent: #4f46e5;--color-accent-hover: #4338ca;--color-accent-secondary: #0891b2;--color-accent-tertiary: #7c3aed;--color-success: #059669;--color-error: #dc2626;--color-warning: #d97706;--color-navbar-bg: rgba(255, 255, 255, .85);--color-navbar-border: rgba(0, 0, 0, .06)}html{font-size:var(--font-size-base);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:background-color var(--transition-base),color var(--transition-base);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:1.2;color:var(--color-text-primary)}h1{font-size:clamp(2.5rem,8vw,5rem);letter-spacing:-.02em}h2{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.01em}h3{font-size:clamp(1.5rem,3vw,2rem)}p{font-family:var(--font-sans);font-weight:400;line-height:1.7}.glass{background:var(--color-bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass);transition:all var(--transition-base)}.glass:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-glass-hover);transform:translateY(-2px)}.bento-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--spacing-md);max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.bento-item{background:var(--color-bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg);transition:all var(--transition-base);position:relative;overflow:hidden}.bento-item:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);opacity:0;transition:opacity var(--transition-base)}.bento-item:hover{border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:var(--shadow-elevated)}.bento-item:hover:before{opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-full);font-family:var(--font-sans);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition-base);border:none;text-decoration:none;position:relative;overflow:hidden;min-width:140px;height:44px;white-space:nowrap}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff1a;border-radius:50%;transform:translate(-50%,-50%);transition:width var(--transition-base),height var(--transition-base)}.btn:hover:before{width:300px;height:300px}.btn-primary{background:linear-gradient(135deg,#0052cc,#00c8ff);color:#fff;box-shadow:0 0 25px #00c8ff80,0 4px 15px #0003;min-width:200px;padding:var(--spacing-md) var(--spacing-xl);text-overflow:ellipsis;overflow:hidden}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 35px #00c8ffb3,0 8px 25px #0000004d}.btn-secondary{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border);backdrop-filter:blur(10px)}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px)}.btn-sm{min-width:120px;height:40px;padding:var(--spacing-xs) var(--spacing-md);font-size:.8rem}.btn-lg{min-width:180px;height:52px;padding:var(--spacing-md) var(--spacing-xl);font-size:.95rem}@media (max-width: 767px){.btn{min-width:130px;height:42px;padding:var(--spacing-xs) var(--spacing-md);font-size:.8rem}.btn-sm{min-width:110px;height:38px}.btn-lg{min-width:150px;height:48px}}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}@media (min-width: 768px){.container{padding:0 var(--spacing-xl)}}.section{padding:var(--spacing-4xl) 0;position:relative}@media (max-width: 767px){.section{padding:var(--spacing-3xl) 0}}.section-title{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.5rem);font-weight:600;margin-bottom:var(--spacing-2xl);text-align:center;color:var(--color-text-primary);position:relative}.section-title:after{content:"";position:absolute;bottom:-var(--spacing-md);left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-secondary));border-radius:var(--radius-full)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #6366f133}50%{box-shadow:0 0 40px #6366f166}}.reveal{opacity:0;transform:translateY(30px);transition:all var(--transition-reveal)}.reveal.active{opacity:1;transform:translateY(0)}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background-color:var(--color-accent);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--color-accent),var(--color-accent-secondary));border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--color-accent-hover),var(--color-accent))}@media (hover: hover){.custom-cursor{width:20px;height:20px;border:2px solid var(--color-accent);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transition:transform .15s ease,opacity .15s ease,width .15s ease,height .15s ease;mix-blend-mode:difference;transform:translate(-50%,-50%)}.custom-cursor.cursor-hover{width:40px;height:40px;background:var(--color-accent);opacity:.5}}.magnetic-btn{transition:transform .3s cubic-bezier(.4,0,.2,1)}.magnetic-btn:hover{transform:translateY(-3px) scale(1.02)}.glow-on-hover{position:relative;overflow:hidden}.glow-on-hover:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--color-accent) 0%,transparent 70%);opacity:0;transition:opacity .5s ease;pointer-events:none}.glow-on-hover:hover:after{opacity:.1}.text-reveal{overflow:hidden}.text-reveal span{display:inline-block;transform:translateY(100%);transition:transform .5s cubic-bezier(.16,1,.3,1)}.text-reveal.active span{transform:translateY(0)}.image-reveal{position:relative;overflow:hidden}.image-reveal:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-bg-primary);transform:translate(0);transition:transform .8s cubic-bezier(.16,1,.3,1);z-index:1}.image-reveal.active:before{transform:translate(100%)}.stagger-list>*{opacity:0;transform:translateY(20px);transition:all .5s cubic-bezier(.16,1,.3,1)}.stagger-list.active>*:nth-child(1){transition-delay:.1s}.stagger-list.active>*:nth-child(2){transition-delay:.2s}.stagger-list.active>*:nth-child(3){transition-delay:.3s}.stagger-list.active>*:nth-child(4){transition-delay:.4s}.stagger-list.active>*:nth-child(5){transition-delay:.5s}.stagger-list.active>*{opacity:1;transform:translateY(0)}.tilt-card{transition:transform .3s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.tilt-card:hover{transform:perspective(1000px) rotateX(5deg) rotateY(5deg) scale(1.02)}.float-slow{animation:float 6s ease-in-out infinite}.float-medium{animation:float 4s ease-in-out infinite}.float-fast{animation:float 2s ease-in-out infinite}.pulse-glow-slow{animation:pulse-glow 4s ease-in-out infinite}.pulse-glow-medium{animation:pulse-glow 2s ease-in-out infinite}.gradient-text-animated{background:linear-gradient(90deg,var(--color-accent),var(--color-accent-secondary),var(--color-accent-tertiary),var(--color-accent));background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 8s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.border-gradient-animated{position:relative;background:var(--color-bg-glass);border-radius:var(--radius-xl)}.border-gradient-animated:before{content:"";position:absolute;inset:0;border-radius:var(--radius-xl);padding:2px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-secondary),var(--color-accent-tertiary));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:border-gradient 4s linear infinite;background-size:200% 200%}@keyframes border-gradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.page-transition{animation:page-enter .6s cubic-bezier(.16,1,.3,1)}@keyframes page-enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-bg-secondary) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.ripple{position:relative;overflow:hidden}.ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:before{width:300px;height:300px}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden}
