.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}agent-chat{font-family:var(--font-body,"Inter", system-ui, sans-serif);z-index:9998;display:block;position:fixed;bottom:2rem;right:2rem}.agent-widget-container{flex-direction:column;align-items:flex-end;display:flex;position:relative}.agent-container{background:var(--color-surface,#fff);border:1px solid var(--color-border,#1a171512);border-radius:var(--radius-xl,28px);opacity:0;pointer-events:none;transform-origin:100% 100%;flex-direction:column;width:400px;height:600px;max-height:80vh;margin-bottom:1rem;transition:all .4s cubic-bezier(.87,0,.13,1);display:flex;overflow:hidden;transform:translateY(20px)scale(.95);box-shadow:0 20px 50px -5px #1a17151a,0 8px 10px -6px #1a17150a}.agent-widget-container.open .agent-container{opacity:1;pointer-events:all;transform:translateY(0)scale(1)}.agent-trigger-btn{background:var(--color-text,#1a1715);color:var(--color-bg,#f7f6f3);border-radius:var(--radius-pill,100px);cursor:pointer;border:none;align-items:center;height:56px;padding:0;transition:all .5s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #1a171526,0 1px 3px #1a17150f}.agent-trigger-btn:before{content:"";border-radius:inherit;opacity:0;background:linear-gradient(135deg,#3b3bff 0%,#8b5cf6 100%);transition:opacity .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.agent-trigger-btn:hover{transform:scale(1.05)translateY(-2px);box-shadow:0 10px 30px -5px #3b3bff33,0 8px 24px #1a17151f}.agent-trigger-btn:hover:before{opacity:1}.agent-widget-container.open .agent-trigger-btn{border-radius:50%;padding:0}.agent-trigger-icon{z-index:1;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.5rem;display:flex;position:relative}.agent-trigger-text{font-weight:600;font-size:var(--fs-label,.8125rem);letter-spacing:.02em;white-space:nowrap;z-index:1;padding:0 1.5rem 0 0;position:relative}.agent-widget-container.open .agent-trigger-text{display:none}.agent-header{border-bottom:1px solid var(--color-border,#1a171512);-webkit-backdrop-filter:saturate(180%)blur(20px);background:#f7f6f3b8;flex-shrink:0;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.agent-header-avatar{color:#fff;width:36px;height:36px;font-size:.8rem;font-weight:700;font-family:var(--font-heading,"Outfit", sans-serif);background:linear-gradient(135deg,#3b3bff 0%,#8b5cf6 100%);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.agent-header-info{flex:1;min-width:0}.agent-header-title{font-family:var(--font-heading,"Outfit", sans-serif);color:var(--color-text,#1a1715);font-size:.95rem;font-weight:600;line-height:1.2}.agent-header-subtitle{color:var(--color-text-muted,#8a8580);align-items:center;gap:6px;margin-top:2px;font-size:.75rem;line-height:1.2;display:flex}.agent-status-dot{background:var(--color-success,#10b981);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s infinite statusPulse}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.5}}.agent-header-actions{align-items:center;gap:2px;display:flex}.agent-icon-btn{color:var(--color-text-muted,#8a8580);cursor:pointer;border-radius:var(--radius-sm,8px);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.agent-icon-btn:hover{background:var(--color-surface-hover,#f0eeea);color:var(--color-text,#1a1715)}.agent-clear-btn:hover{color:#ef4444}.agent-header-close-btn{margin-left:2px}.agent-loading{color:var(--color-text-muted,#8a8580);align-items:center;gap:.5rem;margin-bottom:.5rem;padding:0 1.5rem;font-size:.8rem;display:flex}.agent-loading.agent-hidden{display:none}.agent-loading-dots{gap:4px;display:flex}.agent-dot{background:var(--color-accent,#3b3bff);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite both dotBounce}.agent-dot:first-child{animation-delay:-.32s}.agent-dot:nth-child(2){animation-delay:-.16s}@keyframes dotBounce{0%,80%,to{opacity:.4;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.agent-tab-bar{-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--color-border,#1a171512);background:#f7f6f3b8;flex-shrink:0;align-items:center;gap:2px;padding:.375rem 1rem;display:flex}.agent-tab{color:var(--color-text-muted,#8a8580);cursor:pointer;border-radius:var(--radius-pill,100px);background:0 0;border:none;padding:.375rem .875rem;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1)}.agent-tab:hover{color:var(--color-text-secondary,#4a4540);background:var(--color-surface-hover,#f0eeea)}.agent-tab.active{background:var(--color-text,#1a1715);color:var(--color-bg,#f7f6f3)}.agent-new-chat-btn{justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;font-size:1.1rem;font-weight:400;display:flex}.agent-messages{background:var(--color-bg,#f7f6f3);scroll-behavior:smooth;flex-direction:column;flex:1;gap:1rem;padding:1.25rem;display:flex;overflow-y:auto}.agent-messages::-webkit-scrollbar{width:5px}.agent-messages::-webkit-scrollbar-track{background:0 0}.agent-messages::-webkit-scrollbar-thumb{background:var(--color-border-hover,#1a171529);border-radius:3px}.agent-history{background:var(--color-bg,#f7f6f3);flex-direction:column;flex:1;gap:.375rem;padding:.75rem;display:flex;overflow-y:auto}.agent-history::-webkit-scrollbar{width:5px}.agent-history::-webkit-scrollbar-track{background:0 0}.agent-history::-webkit-scrollbar-thumb{background:var(--color-border-hover,#1a171529);border-radius:3px}.agent-history-item{border-radius:var(--radius-md,12px);cursor:pointer;background:var(--color-surface,#fff);border:1px solid var(--color-border,#1a171512);align-items:center;gap:.75rem;padding:.75rem .875rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.agent-history-item:hover{background:var(--color-surface-hover,#f0eeea);border-color:var(--color-border-hover,#1a171529)}.agent-history-item.active{border-color:var(--color-accent,#3b3bff);background:#3b3bff0a}.agent-history-info{flex:1;min-width:0}.agent-history-title{color:var(--color-text,#1a1715);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;line-height:1.3;overflow:hidden}.agent-history-meta{color:var(--color-text-muted,#8a8580);margin-top:2px;font-size:.72rem}.agent-history-delete{opacity:0;flex-shrink:0;transition:opacity .2s}.agent-history-item:hover .agent-history-delete{opacity:1}.agent-history-delete:hover{color:#ef4444!important}.agent-history-empty{text-align:center;color:var(--color-text-muted,#8a8580);padding:3rem 1rem;font-size:.85rem}.agent-message{align-items:flex-end;gap:.5rem;max-width:88%;animation:.5s cubic-bezier(.34,1.56,.64,1) both msgIn;display:flex}.agent-message.user{flex-direction:row-reverse;align-self:flex-end}.agent-message.assistant{align-self:flex-start}.agent-avatar{background:linear-gradient(135deg,#3b3bff 0%,#8b5cf6 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.agent-avatar span{color:#fff;font-size:.65rem;font-weight:700;font-family:var(--font-heading,"Outfit", sans-serif)}.agent-bubble{border-radius:var(--radius-lg,20px);padding:.875rem 1rem;font-size:.9rem;line-height:1.55}.agent-message.user .agent-bubble{background:var(--color-text,#1a1715);color:var(--color-bg,#f7f6f3);border-bottom-right-radius:6px}.agent-message.assistant .agent-bubble{background:var(--color-surface,#fff);color:var(--color-text-secondary,#4a4540);border:1px solid var(--color-border,#1a171512);border-bottom-left-radius:6px;box-shadow:0 1px 2px #1a17150a}.agent-message-text{word-wrap:break-word;white-space:pre-wrap}@keyframes msgIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.agent-suggestions{background:var(--color-bg,#f7f6f3);flex-wrap:wrap;gap:.4rem;padding:0 1.25rem .75rem;display:flex}.agent-suggestion-chip{background:var(--color-surface,#fff);border:1px solid var(--color-border,#1a171512);border-radius:var(--radius-pill,100px);color:var(--color-text-secondary,#4a4540);cursor:pointer;white-space:nowrap;padding:.4rem .85rem;font-family:inherit;font-size:.78rem;font-weight:500;transition:all .25s cubic-bezier(.16,1,.3,1)}.agent-suggestion-chip:hover{color:var(--color-accent,#3b3bff);background:#3b3bff0f;border-color:#3b3bff33}.agent-suggestions.collapsed{opacity:0;max-height:0;padding:0 1.25rem;transition:all .35s cubic-bezier(.16,1,.3,1);overflow:hidden}.agent-input-area{border-top:1px solid var(--color-border,#1a171512);background:var(--color-surface,#fff);align-items:center;gap:.75rem;min-height:64px;padding:.75rem 1rem;display:flex;position:relative}.agent-input-wrapper{background:var(--color-surface-subtle,#faf9f7);border:1px solid var(--color-border,#1a171512);border-radius:var(--radius-md,12px);align-items:center;gap:.375rem;width:100%;padding:.375rem .5rem;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.agent-input-wrapper:focus-within{border-color:var(--color-accent,#3b3bff);box-shadow:0 0 0 3px #3b3bff14}.agent-input{color:var(--color-text,#1a1715);background:0 0;border:none;outline:none;flex:1;padding:.4rem .375rem;font-family:inherit;font-size:.9rem}.agent-input::placeholder{color:var(--color-text-dim,#b5b0a8)}.agent-mic-btn,.agent-send-btn{color:var(--color-text-dim,#b5b0a8);cursor:pointer;border-radius:var(--radius-sm,8px);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:.4rem;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex}.agent-mic-btn:hover{background:var(--color-surface-hover,#f0eeea);color:var(--color-text,#1a1715)}.agent-send-btn:hover{color:var(--color-text-secondary,#4a4540)}.agent-send-btn.has-text{background:var(--color-accent,#3b3bff);color:#fff;border-radius:var(--radius-sm,8px)}.agent-send-btn.has-text:hover{background:var(--color-accent-hover,#2929d6);color:#fff}.agent-component-wrapper{margin-top:.75rem}.gen-layout{width:100%;display:flex}.gen-layout.col{flex-direction:column}.gen-layout.row{flex-flow:wrap}.gen-card{background:var(--color-surface,#fff);border:1px solid var(--color-border,#1a171512);border-radius:var(--radius-md,12px);padding:1rem;box-shadow:0 1px 3px #1a17150f}.gen-card h4{color:var(--color-text-muted,#8a8580);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.8rem;font-weight:500}.gen-card-value{color:var(--color-text,#1a1715);font-size:1.4rem;font-weight:700;font-family:var(--font-heading,"Outfit", sans-serif)}.gen-card-label{color:var(--color-success,#10b981);margin-top:.25rem;font-size:.78rem;font-weight:500}.gen-card-desc{color:var(--color-text-muted,#8a8580);margin-top:.5rem;font-size:.85rem;line-height:1.5}.gen-list{flex-direction:column;gap:.6rem;width:100%;display:flex}.gen-list-item{align-items:flex-start;gap:.6rem;display:flex}.gen-list-icon{color:var(--color-accent,#3b3bff);flex-shrink:0;margin-top:2px}.gen-list-bullet{background:var(--color-accent,#3b3bff);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-top:7px}.gen-list-content{flex:1;font-size:.85rem;line-height:1.5}.gen-list-content strong{color:var(--color-text,#1a1715);display:inline}.gen-list-content span{color:var(--color-text-secondary,#4a4540)}.gen-table-wrapper{border:1px solid var(--color-border,#1a171512);border-radius:var(--radius-sm,8px);width:100%;overflow-x:auto}.gen-table{border-collapse:collapse;width:100%;font-size:.8rem}.gen-table th{background:var(--color-surface-subtle,#faf9f7);text-align:left;color:var(--color-text-secondary,#4a4540);border-bottom:1px solid var(--color-border,#1a171512);padding:.6rem .75rem;font-weight:600}.gen-table td{border-bottom:1px solid var(--color-border-subtle,#1a17150a);color:var(--color-text-secondary,#4a4540);padding:.6rem .75rem}.gen-table tr:last-child td{border-bottom:none}.gen-action-btn{background:var(--color-accent,#3b3bff);color:#fff;border-radius:var(--radius-pill,100px);cursor:pointer;letter-spacing:.02em;border:none;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.gen-action-btn:hover{background:var(--color-accent-hover,#2929d6);transform:translateY(-1px);box-shadow:0 4px 12px #3b3bff40}.gen-tech-stack{flex-wrap:wrap;gap:.375rem;margin-top:.75rem;display:flex}.gen-tech-stack span{background:var(--color-surface-subtle,#faf9f7);color:var(--color-text-secondary,#4a4540);border-radius:var(--radius-pill,100px);border:1px solid var(--color-border,#1a171512);padding:.2rem .55rem;font-size:.72rem;font-weight:500}.gen-code{background:var(--color-text,#1a1715);color:var(--color-bg,#f7f6f3);border-radius:var(--radius-sm,8px);margin-top:.5rem;padding:.875rem 1rem;font-family:SF Mono,Fira Code,monospace;font-size:.8rem;line-height:1.6;overflow-x:auto}.agent-voice-bar{-webkit-backdrop-filter:blur(16px);z-index:10;border:1px solid var(--color-border,#1a171512);border-radius:var(--radius-md,12px);background:#ffffffeb;justify-content:space-between;align-items:center;width:auto;height:auto;padding:0 .875rem;display:none;position:absolute;inset:.375rem .75rem;box-shadow:0 4px 20px #1a171514}.agent-voice-bar.active{animation:.4s cubic-bezier(.16,1,.3,1) voiceSlideUp;display:flex}@keyframes voiceSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.agent-voice-controls{align-items:center;gap:.75rem;width:100%;display:flex}.agent-voice-status{text-align:center;color:var(--color-text,#1a1715);flex:1;justify-content:center;align-items:center;gap:8px;font-size:.85rem;font-weight:500;display:flex}.agent-pulse-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;animation:1.5s infinite recordPulse}@keyframes recordPulse{0%{transform:scale(.95);box-shadow:0 0 #ef4444b3}70%{transform:scale(1);box-shadow:0 0 0 10px #ef444400}to{transform:scale(.95);box-shadow:0 0 #ef444400}}.agent-hangup-btn{width:30px;height:30px;color:#ef4444!important;background:#fee2e2!important;border-radius:50%!important}.agent-hangup-btn:hover{transform:scale(1.05);background:#fecaca!important}@media (width<=640px){agent-chat{bottom:1.25rem;right:1.25rem}.agent-container{border-radius:var(--radius-lg,20px);width:auto;height:70vh;margin-bottom:0;position:fixed;bottom:5rem;left:.75rem;right:.75rem}.agent-trigger-text{display:none}}@media (prefers-reduced-motion:reduce){.agent-trigger-btn,.agent-container,.agent-message,.agent-dot,.agent-pulse-dot,.agent-suggestion-chip{transition:none;animation:none}}.agent-hidden{display:none!important}:root{--color-bg:#f7f6f3;--color-bg-warm:#f2f0ec;--color-bg-cool:#eef0f5;--color-surface:#fff;--color-surface-elevated:#fff;--color-surface-subtle:#faf9f7;--color-surface-hover:#f0eeea;--color-surface-active:#e8e6e2;--color-text:#1a1715;--color-text-secondary:#4a4540;--color-text-muted:#8a8580;--color-text-dim:#b5b0a8;--color-text-inverse:#fff;--color-text-inverse-secondary:#ffffffb3;--color-text-inverse-muted:#fff6;--color-accent:#3b3bff;--color-accent-hover:#2929d6;--color-accent-soft:#3b3bff14;--color-accent-medium:#3b3bff26;--color-accent-2:#8b5cf6;--color-accent-3:#06b6d4;--color-success:#10b981;--color-border:#1a171512;--color-border-hover:#1a171529;--color-border-subtle:#1a17150a;--color-border-strong:#1a171538;--color-border-inverse:#ffffff1f;--gradient-accent:linear-gradient(135deg, #3b3bff 0%, #8b5cf6 100%);--gradient-accent-wide:linear-gradient(135deg, #3b3bff 0%, #8b5cf6 50%, #06b6d4 100%);--gradient-warm:linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg-warm) 100%);--gradient-card:linear-gradient(180deg, #fff0 0%, #fffc 100%);--gradient-dark:linear-gradient(135deg, #1a1715 0%, #2d2a26 100%);--gradient-glass:linear-gradient(135deg, #ffffffe6, #fff9);--shadow-xs:0 1px 2px #1a17150a;--shadow-sm:0 1px 3px #1a17150f, 0 1px 2px #1a17150a;--shadow-md:0 4px 6px -1px #1a17150f, 0 2px 4px -2px #1a17150a;--shadow-lg:0 10px 25px -3px #1a171514, 0 4px 6px -4px #1a17150a;--shadow-xl:0 20px 50px -5px #1a17151a, 0 8px 10px -6px #1a17150a;--shadow-2xl:0 25px 60px -8px #1a171526, 0 10px 20px -6px #1a17150f;--shadow-glow:0 0 40px #3b3bff1f;--shadow-glow-lg:0 0 60px #3b3bff2e, 0 0 120px #3b3bff0f;--shadow-card-hover:0 24px 48px -12px #1a171524, 0 8px 16px -4px #1a17150f;--shadow-accent:0 10px 30px -5px #3b3bff33;--font-heading:"Outfit", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--fs-display:clamp(3.25rem, 7vw, 6.5rem);--fs-hero:clamp(2.75rem, 7.5vw, 6rem);--fs-h1:clamp(2.125rem, 4.5vw, 3.5rem);--fs-h2:clamp(1.75rem, 3.25vw, 2.625rem);--fs-h3:clamp(1.125rem, 1.75vw, 1.4375rem);--fs-body:1.0625rem;--fs-body-lg:1.1875rem;--fs-small:.9375rem;--fs-label:.8125rem;--fs-xs:.75rem;--fs-xxs:.6875rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:clamp(2rem, 5vw, 4rem);--space-4xl:clamp(3rem, 8vw, 6rem);--space-5xl:clamp(4rem, 10vw, 8rem);--space-section:clamp(4rem, 12vw, 11rem);--container-max:1420px;--container-padding:clamp(1.5rem, 5vw, 3.5rem);--header-height:72px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:36px;--radius-pill:100px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-expo:cubic-bezier(.87, 0, .13, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-smooth:cubic-bezier(.4, 0, .2, 1);--transition-fast:.2s var(--ease-out);--transition-normal:.45s var(--ease-out);--transition-slow:.8s var(--ease-out);--transition-spring:.5s var(--ease-spring)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:auto}body{font-family:var(--font-body);font-size:var(--fs-body);color:var(--color-text);background:var(--color-bg);font-feature-settings:"cv01", "cv03", "cv04", "cv11";line-height:1.65;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text);letter-spacing:-.035em;text-wrap:balance;font-weight:700;line-height:1.05}p{color:var(--color-text-secondary);text-wrap:pretty;max-width:52ch}ul,ol{list-style:none}button{font-family:var(--font-body);cursor:pointer;color:inherit;background:0 0;border:none}::selection{background:var(--color-accent);color:#fff}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}:focus:not(:focus-visible){outline:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reveal-up{opacity:0;transition:opacity .8s var(--ease-out), transform .8s var(--ease-out);transform:translateY(30px)}.reveal-up.is-visible{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transform:translateY(20px)}.reveal-stagger.is-visible>*{opacity:1;transform:translateY(0)}.reveal-stagger.is-visible>:first-child{transition-delay:.1s}.reveal-stagger.is-visible>:nth-child(2){transition-delay:.2s}.reveal-stagger.is-visible>:nth-child(3){transition-delay:.3s}.reveal-stagger.is-visible>:nth-child(4){transition-delay:.4s}.reveal-stagger.is-visible>:nth-child(5){transition-delay:.5s}.reveal-stagger.is-visible>:nth-child(6){transition-delay:.6s}.reveal-stagger.is-visible>:nth-child(7){transition-delay:.7s}.reveal-stagger.is-visible>:nth-child(8){transition-delay:.8s}.reveal-stagger.is-visible>:nth-child(9){transition-delay:.9s}.reveal-stagger.is-visible>:nth-child(10){transition-delay:1s}@keyframes hero-reveal{0%{opacity:0;transform:translateY(40px)skewY(2deg)}to{opacity:1;transform:translateY(0)skewY(0)}}@keyframes mascot-reveal{0%{opacity:0;transform:scale(0)rotate(-10deg)}70%{opacity:1;transform:scale(1.1)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.reveal-up,.reveal-stagger>*{opacity:1;transition:none;transform:none}.marquee-track,.marquee-track-partners{animation:none}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-header{z-index:100;padding:0 var(--container-padding);height:var(--header-height);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--color-border-subtle);background:#f7f6f3b8;align-items:center;transition:box-shadow .4s,background .4s;display:flex;position:fixed;top:0;left:0;right:0}.header-inner{max-width:var(--container-max);justify-content:space-between;align-items:center;width:100%;margin:0 auto;display:flex}.logo{z-index:110;text-decoration:none}.logo-text{font-family:var(--font-heading);color:var(--color-text);letter-spacing:-.04em;font-size:1.375rem;font-weight:800}.logo-dot{color:var(--color-accent)}.nav-desktop{gap:.125rem;display:flex}.nav-link{font-size:var(--fs-label);color:var(--color-text-muted);transition:color var(--transition-fast), background var(--transition-fast);border-radius:var(--radius-pill);padding:.5rem .875rem;font-weight:500;text-decoration:none}.nav-link:hover{color:var(--color-text);background:var(--color-surface-hover)}.nav-link.active{color:var(--color-text);font-weight:600}.header-right{z-index:110;align-items:center;gap:1rem;display:flex}.header-cta{font-size:var(--fs-xs);letter-spacing:.02em;color:var(--color-bg);background:var(--color-text);border-radius:var(--radius-pill);transition:all var(--transition-normal);box-shadow:var(--shadow-sm);align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.header-cta:hover{background:var(--color-accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.header-cta svg{transition:transform var(--transition-spring)}.header-cta:hover svg{transform:translate(2px,-2px)}.nav-toggle{z-index:110;cursor:pointer;justify-content:center;align-items:center;width:40px;height:40px;display:none}.hamburger{flex-direction:column;gap:6px;width:22px;display:flex}.hamburger span{background:var(--color-text);height:2px;transition:all var(--transition-normal);border-radius:2px;display:block}.nav-toggle[aria-expanded=true] .hamburger span:first-child{transform:rotate(45deg)translate(2.5px,2.5px)}.nav-toggle[aria-expanded=true] .hamburger span:last-child{transform:rotate(-45deg)translate(2.5px,-2.5px)}.nav-overlay-menu{z-index:105;background:var(--color-bg);justify-content:center;align-items:center;width:100%;height:100dvh;display:none;position:fixed;top:0;left:0;right:0}.nav-overlay-menu.open{display:flex}.nav-overlay-content{text-align:center}.nav-overlay-links{flex-direction:column;gap:.5rem;margin-bottom:2.5rem;display:flex}.nav-overlay-cta{width:100%;max-width:240px;margin-bottom:2rem}.nav-email{font-size:var(--fs-small);color:var(--color-text-muted);display:block}.nav-overlay-link{font-family:var(--font-heading);letter-spacing:-.03em;color:var(--color-text);transition:color var(--transition-fast);justify-content:center;align-items:baseline;gap:1.25rem;padding:.375rem 0;font-size:max(2.25rem,min(7vw,4rem));font-weight:700;text-decoration:none;display:flex}.nav-overlay-link:hover{color:var(--color-accent)}.nav-overlay-number{font-size:var(--fs-xs);font-family:var(--font-body);color:var(--color-text-dim);font-weight:500}.nav-overlay-footer a{font-size:var(--fs-small);color:var(--color-text-muted)}.nav-backdrop{display:none}@media (width<=900px){.nav-desktop,.header-cta{display:none}.nav-toggle{display:flex}}@media (width>=901px){.nav-toggle{display:none}}:global(body){padding-top:0}.site-footer{background:var(--color-surface)}.footer-cta-section{padding:var(--space-section) 0;border-top:1px solid var(--color-border);background:var(--gradient-warm)}.footer-cta-inner{text-align:center;max-width:640px;margin:0 auto}.footer-cta-title{font-size:var(--fs-hero);margin-bottom:var(--space-xl);font-weight:800;line-height:.95}.footer-cta-desc{font-size:var(--fs-body-lg);margin:0 auto var(--space-2xl);text-align:center;max-width:420px}.footer-btn{font-size:var(--fs-small);padding:1rem 2.5rem}.footer-btn svg{transition:transform var(--transition-spring)}.footer-btn:hover svg{transform:translate(3px,-3px)}.marquee-strip{border-top:1px solid var(--color-border);padding:1rem 0;overflow:hidden}.marquee-track{white-space:nowrap;gap:1.5rem;width:max-content;animation:28s linear infinite marquee;display:flex}.marquee-track span{font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-dim);font-weight:500}.marquee-dot{color:var(--color-accent);opacity:.4}.footer-bottom{padding:var(--space-3xl) 0 var(--space-xl)}.footer-grid{gap:var(--space-3xl);margin-bottom:var(--space-3xl);grid-template-columns:1.5fr 1fr 1fr;display:grid}.footer-logo{font-family:var(--font-heading);letter-spacing:-.04em;color:var(--color-text);margin-bottom:var(--space-md);font-size:1.375rem;font-weight:800;display:block}.footer-brand .dot{color:var(--color-accent)}.footer-brand p{font-size:var(--fs-small);color:var(--color-text-muted);max-width:320px;line-height:1.7}.footer-heading{font-size:var(--fs-xxs);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-dim);margin-bottom:var(--space-lg);font-weight:600;display:block}.footer-nav{flex-direction:column;gap:.5rem;display:flex}.footer-nav a,.footer-connect a{font-size:var(--fs-small);color:var(--color-text-muted);transition:color var(--transition-fast)}.footer-nav a:hover,.footer-connect a:hover{color:var(--color-text)}.footer-connect{flex-direction:column;gap:.5rem;display:flex}.footer-social{gap:1.25rem;margin-top:.375rem;display:flex}.footer-legal{border-top:1px solid var(--color-border);padding-top:var(--space-xl);align-items:center;gap:.5rem;display:flex}.footer-legal span{font-size:var(--fs-xs);color:var(--color-text-dim)}.legal-sep{opacity:.3}@media (width<=768px){.footer-grid{gap:var(--space-2xl);grid-template-columns:1fr}}.btn{font-family:var(--font-body);font-size:var(--fs-label);letter-spacing:.03em;border-radius:var(--radius-pill);transition:all var(--transition-normal);white-space:nowrap;justify-content:center;align-items:center;gap:.625rem;padding:.9375rem 2rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn>span,.btn>svg{z-index:1;position:relative}.btn:before{content:"";border-radius:inherit;opacity:0;transition:opacity var(--transition-normal);position:absolute;inset:0}.btn--primary{background:var(--color-text);color:var(--color-bg);box-shadow:var(--shadow-sm)}.btn--primary:before{background:var(--gradient-accent)}.btn--primary:hover{box-shadow:var(--shadow-lg), var(--shadow-accent);transform:translateY(-2px)}.btn--primary:hover:before{opacity:1}.btn--primary:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.btn--secondary:hover{border-color:var(--color-text);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn--ghost{font-size:var(--fs-label);color:var(--color-text);letter-spacing:.02em;border-radius:var(--radius-sm);gap:.75rem;min-height:44px;padding:.5rem 0;font-weight:600;position:relative}.btn--ghost:hover{background:var(--color-accent-soft);padding:.5rem .75rem}.btn--ghost:after{content:"";background:var(--color-accent);width:0;height:1.5px;transition:width var(--transition-normal);position:absolute;bottom:.375rem;left:.75rem}.btn--ghost:hover:after{width:100%}.btn--ghost .arrow{transition:transform var(--transition-spring);display:inline-block}.btn--ghost:hover .arrow{transform:translate(6px)}.cursor-dot{background:var(--color-accent);pointer-events:none;z-index:9999;width:10px;height:10px;transition:width .35s var(--ease-spring), height .35s var(--ease-spring), background .3s, opacity .3s;opacity:.9;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-dot--hover{opacity:.15;background:var(--color-accent);width:56px;height:56px}@media (width<=768px){.cursor-dot{display:none}}@media (pointer:coarse){.cursor-dot{display:none}}.container{max-width:var(--container-max);padding:0 var(--container-padding);margin:0 auto}.section{padding:var(--space-section) 0;position:relative}.section--dark{background:var(--gradient-dark);color:var(--color-text-inverse)}.section--dark h2,.section--dark h3,.section--dark strong{color:var(--color-text-inverse)}.section--dark p{color:var(--color-text-inverse-secondary)}.section--dark .section-number{color:var(--color-text-inverse-muted)}.section--dark .section-number:after{background:var(--color-border-inverse)}.divider{background:var(--color-border);border:none;width:100%;height:1px}.section-number{font-family:var(--font-body);font-size:var(--fs-xs);letter-spacing:.18em;color:var(--color-text-dim);margin-bottom:var(--space-2xl);text-transform:uppercase;align-items:center;gap:1.25rem;font-weight:600;display:flex}.section-number:after{content:"";background:var(--color-border);flex:1;max-width:64px;height:1px}.section-label{font-family:var(--font-body);font-size:var(--fs-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-lg);align-items:center;gap:.625rem;font-weight:600;display:inline-flex}.section-label:before{content:"";background:var(--color-accent);border-radius:50%;width:8px;height:8px;display:inline-block}.gradient-text{background:var(--gradient-accent);-webkit-text-fill-color:transparent;background-clip:text}.text-outline{-webkit-text-stroke:1.5px var(--color-text);-webkit-text-fill-color:transparent;transition:-webkit-text-fill-color .6s var(--ease-out), -webkit-text-stroke .6s var(--ease-out)}.text-outline:hover{-webkit-text-fill-color:var(--color-text);-webkit-text-stroke:0px}.hero-line{opacity:0;animation:hero-reveal 1.2s var(--ease-out) forwards;display:block}.hero-line:first-child{animation-delay:.2s}.hero-line:nth-child(2){animation-delay:.4s}.hero-line:nth-child(3){animation-delay:.6s}.hero-line:nth-child(4){animation-delay:.8s}.hero-mascot{animation:mascot-reveal .8s var(--ease-out) forwards;opacity:0;vertical-align:middle;cursor:pointer;border-radius:50%;width:max(60px,min(18vw,320px));height:auto;margin:0 .1em;transition:transform .4s cubic-bezier(.34,1.56,.64,1);animation-delay:1s;display:inline-block;position:relative;top:-.05em}.hero-mascot:hover{transform:scale(1.1)rotate(-8deg)}.hero{justify-content:center;align-items:center;min-height:100vh;padding:0;display:flex;position:relative}.hero__center{text-align:center;flex-direction:column;align-items:center;display:flex}.hero__title{letter-spacing:-.045em;margin-bottom:var(--space-2xl);text-wrap:balance;font-size:max(3.5rem,min(10vw,8.5rem));font-weight:800;line-height:.95}.hero__tagline{font-size:var(--fs-body);color:var(--color-text-muted);letter-spacing:.04em;max-width:none;font-weight:400}.hero__scroll{flex-direction:column;align-items:center;gap:.75rem;display:flex;position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%)}.hero__scroll span{font-size:var(--fs-xxs);letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-dim)}.scroll-line-wrap{background:var(--color-border);border-radius:1px;width:1px;height:48px;position:relative;overflow:hidden}.scroll-line-fill{background:var(--color-accent);width:100%;height:50%;animation:2.2s ease-in-out infinite scroll-pulse}@keyframes scroll-pulse{0%{transform:translateY(-100%)}to{transform:translateY(200%)}}.tech-strip{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--space-xl) 0;background:var(--color-surface)}.tech-grid{gap:var(--space-xl);grid-template-columns:repeat(4,1fr);display:grid}.tech-item{text-align:center;padding:var(--space-md) 0;flex-direction:column;gap:.25rem;display:flex}.tech-label{font-size:var(--fs-xxs);letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);font-weight:700}.tech-items{font-size:var(--fs-xs);color:var(--color-text-muted);letter-spacing:.02em}.about-grid{gap:var(--space-4xl);border-top:1px solid var(--color-border);padding-top:var(--space-3xl);grid-template-columns:1fr 1fr;align-items:start;display:grid}.about-heading{font-size:var(--fs-h2);font-weight:600;line-height:1.2}.about-heading em{color:var(--color-accent);font-style:italic}.about-right p{margin-bottom:var(--space-2xl);line-height:1.75}.about-stats{gap:var(--space-md);margin-bottom:var(--space-2xl);display:flex}.mini-stat-card{padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:box-shadow var(--transition-normal), transform var(--transition-normal);flex-direction:column;flex:1;gap:.125rem;display:flex}.mini-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.mini-stat-value{font-family:var(--font-heading);font-size:var(--fs-h3);color:var(--color-text);font-weight:700}.mini-stat-label{font-size:var(--fs-xxs);letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-dim);font-weight:600}.services-heading{font-size:var(--fs-h1);margin-bottom:var(--space-md)}.services-intro{font-size:var(--fs-body-lg);max-width:600px;margin-bottom:var(--space-3xl)}.services-list{flex-direction:column;display:flex}.service-row{gap:var(--space-xl);padding:var(--space-xl) var(--space-md);border-top:1px solid var(--color-border);transition:all var(--transition-normal);border-radius:var(--radius-lg);cursor:default;grid-template-columns:48px 1fr auto;align-items:start;display:grid}.service-row:last-child{border-bottom:1px solid var(--color-border)}.service-row:hover{background:var(--color-surface);box-shadow:var(--shadow-lg);border-color:#0000;transform:translateY(-2px)}.service-row:hover+.service-row{border-top-color:#0000}.service-num{font-size:var(--fs-xs);color:var(--color-text-dim);padding-top:.25rem;font-weight:600}.service-title{font-size:var(--fs-h3);transition:color var(--transition-fast);margin-bottom:.375rem;font-weight:700}.service-row:hover .service-title{color:var(--color-accent)}.service-desc{font-size:var(--fs-small);max-width:440px;line-height:1.65}.service-tags{flex-wrap:wrap;align-self:center;gap:.375rem;max-width:240px;display:flex}.service-tag{font-size:var(--fs-xxs);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-dim);transition:all var(--transition-fast);align-items:center;min-height:32px;padding:.375rem .875rem;font-weight:500;display:inline-flex}.service-row:hover .service-tag{border-color:var(--color-border-hover);color:var(--color-text-muted);background:var(--color-surface-subtle)}.featured-inner{position:relative}.featured-grid{gap:var(--space-4xl);grid-template-columns:1.2fr 1fr;align-items:start;display:grid}.featured-badge{font-size:var(--fs-xxs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);border-radius:var(--radius-pill);margin-bottom:var(--space-lg);background:#3b3bff1f;border:1px solid #3b3bff33;padding:.375rem 1rem;font-weight:700;display:inline-block}.featured-title{font-size:var(--fs-hero);letter-spacing:-.045em;color:#fff;margin-bottom:.25rem;font-weight:800}.featured-subtitle{font-size:var(--fs-body-lg);color:#ffffff80;margin-bottom:var(--space-xl);font-weight:500}.featured-desc{font-size:var(--fs-body);color:#ffffffb3;margin-bottom:var(--space-2xl);max-width:500px;line-height:1.7}.featured-tech{flex-wrap:wrap;gap:.375rem;display:flex}.featured-tech span{font-size:var(--fs-xxs);border-radius:var(--radius-pill);color:#fff9;transition:all var(--transition-fast);border:1px solid #ffffff26;align-items:center;min-height:32px;padding:.375rem .875rem;font-weight:500;display:inline-flex}.featured-tech span:hover{border-color:var(--color-accent);color:var(--color-accent);background:#3b3bff1a}.featured-stats{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.f-stat{padding:var(--space-xl);border-radius:var(--radius-xl);transition:all var(--transition-normal);border:1px solid #ffffff1a}.f-stat:hover{background:#3b3bff0d;border-color:#3b3bff4d}.f-stat-value{font-family:var(--font-heading);font-size:var(--fs-h3);color:#fff;margin-bottom:.25rem;font-weight:700;display:block}.f-stat-label{font-size:var(--fs-xxs);letter-spacing:.08em;text-transform:uppercase;color:#fff6;font-weight:500}.projects-header{margin-bottom:var(--space-3xl)}.projects-header-row{justify-content:space-between;align-items:flex-end;display:flex}.projects-heading{font-size:var(--fs-h1)}.projects-all-link{margin-bottom:.75rem}.projects-grid{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.project-card{color:inherit;transition:transform var(--transition-normal);text-decoration:none;display:block}.project-card:hover{transform:translateY(-8px)}.project-img-wrap{aspect-ratio:4/5;border-radius:var(--radius-xl);margin-bottom:var(--space-lg);background:var(--color-surface-hover);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-normal);position:relative;overflow:hidden}.project-card:hover .project-img-wrap{box-shadow:var(--shadow-card-hover)}.project-img-wrap img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease-out)}.project-card:hover .project-img-wrap img{transform:scale(1.05)}.project-overlay{transition:opacity var(--transition-normal);border-radius:inherit;background:#1a17154d;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.project-card:hover .project-overlay{opacity:1}.project-overlay-text{background:var(--color-surface);border-radius:var(--radius-pill);font-size:var(--fs-xs);letter-spacing:.04em;color:var(--color-text);box-shadow:var(--shadow-lg);transition:transform var(--transition-spring);padding:.75rem 1.5rem;font-weight:600;transform:translateY(8px)}.project-card:hover .project-overlay-text{transform:translateY(0)}.project-meta{justify-content:space-between;margin-bottom:.5rem;display:flex}.project-cat,.project-year{font-size:var(--fs-xxs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-dim);font-weight:600}.project-name{font-size:var(--fs-h3);transition:color var(--transition-fast);margin-bottom:.5rem;font-weight:700}.project-card:hover .project-name{color:var(--color-accent)}.project-desc{font-size:var(--fs-small);color:var(--color-text-muted);line-height:1.6}.partners-section{border-top:1px solid var(--color-border);padding:1.125rem 0;overflow:hidden}.marquee-track-partners{white-space:nowrap;gap:1.5rem;width:max-content;animation:30s linear infinite marquee;display:flex}.marquee-track-partners span{font-size:var(--fs-label);color:var(--color-text-dim);letter-spacing:.04em;font-weight:500}.sep{opacity:.25;color:var(--color-accent)}.testimonial-section{background:var(--color-surface-subtle)}.testimonial-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);max-width:780px;padding:var(--space-3xl);box-shadow:var(--shadow-lg);margin:0 auto}.testimonial-body{margin-top:var(--space-xl)}.quote-icon{color:var(--color-accent);opacity:.3;margin-bottom:var(--space-lg)}.testimonial-quote{font-family:var(--font-heading);font-size:var(--fs-h3);letter-spacing:-.01em;color:var(--color-text);margin-bottom:var(--space-2xl);font-style:italic;font-weight:500;line-height:1.45}.testimonial-author{align-items:center;gap:1rem;display:flex}.author-avatar{background:var(--gradient-accent);width:48px;height:48px;font-family:var(--font-heading);font-size:var(--fs-small);color:#fff;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.testimonial-author strong{font-size:var(--fs-small);color:var(--color-text);font-weight:600;display:block}.testimonial-author span{font-size:var(--fs-xs);color:var(--color-text-muted)}@media (width<=768px){.hero__center{text-align:left;align-items:flex-start}.hero__title{text-align:left;font-size:max(2.5rem,min(10vw,4.25rem));line-height:1.1}.tech-grid{grid-template-columns:1fr;gap:0}.tech-item{padding:var(--space-md) 0;text-align:left;border-bottom:1px solid var(--color-border-subtle)}.tech-item:last-child{border-bottom:none}.about-grid{gap:var(--space-2xl);grid-template-columns:1fr}.about-stats{flex-direction:column}.service-row{grid-template-columns:36px 1fr}.service-tags{grid-column:1/-1;max-width:none}.featured-grid{grid-template-columns:1fr}.featured-stats{gap:var(--space-md);grid-template-columns:1fr}.f-stat{padding:var(--space-lg)}.projects-grid{gap:var(--space-2xl);grid-template-columns:1fr}.project-img-wrap{aspect-ratio:16/10}.projects-header-row{align-items:flex-start;gap:var(--space-md);flex-direction:column}.testimonial-card{padding:var(--space-2xl)}}@media (width>=769px) and (width<=1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}.about-hero{padding:calc(var(--header-height) + var(--space-4xl)) 0 var(--space-3xl);align-items:center;min-height:60vh;display:flex}.about-title{letter-spacing:-.045em;text-wrap:balance;font-size:max(3rem,min(10vw,7.5rem));font-weight:800;line-height:.95}.about-title span{display:block}.intro-grid{gap:var(--space-4xl);border-top:1px solid var(--color-border);padding-top:var(--space-3xl);grid-template-columns:1.1fr 1fr;align-items:start;display:grid}.intro-heading{font-size:var(--fs-h2);font-weight:600;line-height:1.2}.intro-heading em{color:var(--color-accent);font-style:italic}.intro-right p{margin-bottom:var(--space-lg);line-height:1.75}.intro-right strong{color:var(--color-text);font-weight:600}.pull-quote{border-left:3px solid var(--color-accent);padding:var(--space-md) var(--space-xl);margin:var(--space-xl) 0;font-family:var(--font-heading);font-size:var(--fs-body-lg);color:var(--color-text);background:var(--color-accent-soft);border-radius:0 var(--radius-md) var(--radius-md) 0;max-width:none;font-style:italic;font-weight:500;line-height:1.5}.stats-strip{padding:var(--space-3xl) 0}.stats-grid{gap:var(--space-lg);grid-template-columns:repeat(4,1fr);display:grid}.stat-card{text-align:center;padding:var(--space-2xl) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:box-shadow var(--transition-normal), transform var(--transition-normal)}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.stat-value{font-family:var(--font-heading);margin-bottom:.25rem;font-size:max(2rem,min(4vw,3rem));font-weight:800;display:block}.stat-label{font-size:var(--fs-xxs);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-dim);font-weight:600}.cap-heading{font-size:var(--fs-h1);margin-bottom:var(--space-3xl)}.cap-list{flex-direction:column;display:flex}.cap-row{gap:var(--space-xl);padding:var(--space-lg) var(--space-md);border-top:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-normal);grid-template-columns:48px 220px 1fr;align-items:center;display:grid}.cap-row:last-child{border-bottom:1px solid var(--color-border)}.cap-row:hover{background:var(--color-surface);box-shadow:var(--shadow-md);border-color:#0000;transform:translateY(-2px)}.cap-row:hover+.cap-row{border-top-color:#0000}.cap-num{font-size:var(--fs-xs);color:var(--color-text-dim);font-weight:600}.cap-title{font-size:var(--fs-h3);transition:color var(--transition-fast);font-weight:700}.cap-row:hover .cap-title{color:var(--color-accent)}.cap-desc{font-size:var(--fs-small);color:var(--color-text-muted)}.tech-heading{font-size:var(--fs-h1);margin-bottom:var(--space-3xl);color:#fff}.tech-expertise-grid{gap:var(--space-xl);grid-template-columns:repeat(4,1fr);display:grid}.tech-col{padding:var(--space-2xl);border-radius:var(--radius-xl);transition:all var(--transition-normal);border:1px solid #ffffff14}.tech-col:hover{background:#3b3bff0a;border-color:#3b3bff40}.tech-col-title{font-size:var(--fs-label);color:#fff;margin-bottom:var(--space-lg);align-items:center;gap:.5rem;font-weight:700;display:flex}.tech-col-icon{color:var(--color-accent);font-size:.625rem}.tech-col-tags{flex-wrap:wrap;gap:.375rem;display:flex}.tech-pill{font-size:var(--fs-xxs);border-radius:var(--radius-pill);color:#ffffff8c;transition:all var(--transition-fast);border:1px solid #ffffff1f;align-items:center;min-height:32px;padding:.375rem .875rem;font-weight:500;display:inline-flex}.tech-pill:hover{border-color:var(--color-accent);color:var(--color-accent);background:#3b3bff14}.concerns-section{background:var(--color-surface-subtle)}.concerns-heading{font-size:var(--fs-h1);margin-bottom:var(--space-3xl)}.concerns-grid{gap:var(--space-xl);grid-template-columns:repeat(3,1fr);display:grid}.concern-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-2xl);transition:box-shadow var(--transition-normal), transform var(--transition-normal)}.concern-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.concern-q{font-family:var(--font-heading);font-size:var(--fs-h3);margin-bottom:var(--space-md);color:var(--color-accent);font-weight:700}.concern-a{font-size:var(--fs-small);color:var(--color-text-secondary);line-height:1.7}.philosophy-section{background:var(--color-bg)}.philosophy-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);max-width:860px;padding:var(--space-3xl);box-shadow:var(--shadow-lg)}.philosophy-quote{font-size:var(--fs-h2);margin-bottom:var(--space-lg);font-weight:600;line-height:1.25}.philosophy-desc{font-size:var(--fs-body);margin-bottom:var(--space-2xl);line-height:1.7}.philosophy-btn svg{transition:transform var(--transition-spring)}.philosophy-btn:hover svg{transform:translate(3px,-3px)}@media (width<=768px){.about-hero{padding:calc(var(--header-height) + var(--space-2xl)) 0 var(--space-xl);min-height:auto}.about-title{font-size:2.75rem}.intro-grid{gap:var(--space-2xl);padding-top:var(--space-2xl);grid-template-columns:1fr}.intro-heading{font-size:1.75rem}.pull-quote{padding:var(--space-lg);font-size:1.125rem}.stats-grid{gap:var(--space-md);grid-template-columns:1fr}.stat-card{padding:var(--space-xl)}.cap-row{gap:var(--space-md);grid-template-columns:32px 1fr}.cap-title{font-size:1.125rem}.cap-desc{grid-column:2/-1}.tech-expertise-grid{gap:var(--space-md);grid-template-columns:1fr}.tech-col{padding:var(--space-xl)}.concerns-grid{grid-template-columns:1fr}.philosophy-card{padding:var(--space-xl)}.philosophy-quote{font-size:1.5rem}}@media (width<=480px){.tech-expertise-grid{grid-template-columns:1fr}}.works-hero{min-height:55vh;padding:calc(var(--header-height) + var(--space-4xl)) 0 var(--space-2xl);align-items:center;display:flex}.works-title{font-size:var(--fs-hero);letter-spacing:-.045em;margin-bottom:var(--space-xl);font-weight:800;line-height:1}.works-title span{display:block}.works-intro{font-size:var(--fs-body-lg);max-width:560px;line-height:1.7}.featured-section{overflow:hidden}.featured-work{padding:var(--space-3xl);border-radius:var(--radius-2xl);border:1px solid #ffffff14}.featured-head{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.featured-badge{font-size:var(--fs-xxs);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);border-radius:var(--radius-pill);background:#3b3bff1f;border:1px solid #3b3bff33;padding:.375rem 1rem;font-weight:700;display:inline-block}.featured-meta span{font-size:var(--fs-xxs);letter-spacing:.14em;text-transform:uppercase;color:#fff6;font-weight:600}.featured-meta span+span:before{content:" · ";color:#fff3}.featured-name{font-size:var(--fs-hero);letter-spacing:-.045em;color:#fff;margin-bottom:var(--space-2xl);font-weight:800}.featured-body{gap:var(--space-3xl);grid-template-columns:1.3fr 1fr;align-items:start;display:grid}.featured-desc{font-size:var(--fs-body);color:#ffffffb3;margin-bottom:var(--space-lg);line-height:1.7}.featured-result{font-size:var(--fs-small);color:#ffffff80;line-height:1.6}.featured-result strong{color:#fffc}.feat-tag-label{font-size:var(--fs-xxs);letter-spacing:.16em;text-transform:uppercase;color:#fff6;margin-bottom:var(--space-md);font-weight:700;display:block}.featured-tags{flex-wrap:wrap;gap:.375rem;display:flex}.feat-tag{font-size:var(--fs-xxs);border-radius:var(--radius-pill);color:#ffffff8c;transition:all var(--transition-fast);border:1px solid #ffffff1f;padding:.3rem .875rem;font-weight:500}.feat-tag:hover{border-color:var(--color-accent);color:var(--color-accent);background:#3b3bff14}.works-list{gap:var(--space-section);flex-direction:column;display:flex}.work-item{gap:var(--space-3xl);grid-template-columns:1.4fr 1fr;align-items:center;display:grid}.work-item:nth-child(2n){direction:rtl}.work-item:nth-child(2n)>*{direction:ltr}.work-image{aspect-ratio:16/11;border-radius:var(--radius-2xl);background:var(--color-surface-hover);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-normal);position:relative;overflow:hidden}.work-item:hover .work-image{box-shadow:var(--shadow-card-hover)}.work-image img{object-fit:cover;width:100%;height:100%;transition:transform 1s var(--ease-out)}.work-item:hover .work-image img{transform:scale(1.04)}.work-image-overlay{transition:opacity var(--transition-normal);border-radius:inherit;background:#1a171540;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.work-item:hover .work-image-overlay{opacity:1}.work-view-label{background:var(--color-surface);border-radius:var(--radius-pill);font-size:var(--fs-xs);color:var(--color-text);box-shadow:var(--shadow-lg);transition:transform var(--transition-spring);padding:.75rem 1.5rem;font-weight:600;transform:translateY(8px)}.work-item:hover .work-view-label{transform:translateY(0)}.work-meta{margin-bottom:var(--space-md);justify-content:space-between;display:flex}.work-cat,.work-year{font-size:var(--fs-xxs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-dim);font-weight:600}.work-title{font-size:var(--fs-h2);margin-bottom:var(--space-md);transition:color var(--transition-fast);font-weight:700}.work-item:hover .work-title{color:var(--color-accent)}.work-desc{font-size:var(--fs-body);margin-bottom:var(--space-md);line-height:1.7}.work-result{font-size:var(--fs-small);margin-bottom:var(--space-xl);color:var(--color-text-muted);line-height:1.6}.work-result strong{color:var(--color-text-secondary);font-weight:600}.work-tags{flex-wrap:wrap;gap:.375rem;display:flex}.work-tag{font-size:var(--fs-xxs);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-dim);transition:all var(--transition-fast);padding:.3rem .75rem;font-weight:500}.work-item:hover .work-tag{border-color:var(--color-border-hover);color:var(--color-text-muted);background:var(--color-surface-subtle)}@media (width<=768px){.works-hero{padding:calc(var(--header-height) + var(--space-xl)) 0 var(--space-xl);min-height:auto}.works-title{font-size:2.75rem}.featured-work{padding:var(--space-xl)}.featured-name{margin-bottom:var(--space-xl);font-size:2.25rem}.featured-body{gap:var(--space-xl);grid-template-columns:1fr}.work-item{gap:var(--space-lg);grid-template-columns:1fr}.work-meta{margin-bottom:.5rem}.work-title{margin-bottom:.5rem;font-size:1.5rem}.work-desc{font-size:1rem}.works-list{gap:var(--space-4xl)}}.insights-hero{min-height:55vh;padding:calc(var(--header-height) + var(--space-4xl)) 0 var(--space-2xl);align-items:center;display:flex}.insights-title{font-size:var(--fs-hero);letter-spacing:-.045em;margin-bottom:var(--space-xl);font-weight:800;line-height:1}.insights-title span{display:block}.insights-intro{font-size:var(--fs-body-lg);max-width:560px;line-height:1.7}.posts-list{flex-direction:column;display:flex}.post-row{gap:var(--space-xl);padding:var(--space-xl) var(--space-md);border-top:1px solid var(--color-border);color:inherit;transition:all var(--transition-normal);border-radius:var(--radius-lg);grid-template-columns:48px 1fr auto;align-items:start;text-decoration:none;display:grid}.post-row:last-child{border-bottom:1px solid var(--color-border)}.post-row:hover{background:var(--color-surface);box-shadow:var(--shadow-md);border-color:#0000;transform:translateY(-2px)}.post-row:hover+.post-row{border-top-color:#0000}.post-num{font-size:var(--fs-xs);color:var(--color-text-dim);padding-top:.25rem;font-weight:600}.post-title{font-family:var(--font-heading);font-size:var(--fs-h3);transition:color var(--transition-fast);margin-bottom:.5rem;font-weight:700}.post-row:hover .post-title{color:var(--color-accent)}.post-excerpt{font-size:var(--fs-small);color:var(--color-text-muted);max-width:500px;line-height:1.65}.post-side{flex-direction:column;align-items:flex-end;gap:.375rem;min-width:120px;display:flex}.post-tag{font-size:var(--fs-xxs);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-dim);transition:all var(--transition-fast);padding:.25rem .75rem;font-weight:600}.post-row:hover .post-tag{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-soft)}.post-date{font-size:var(--fs-xxs);color:var(--color-text-dim)}@media (width<=900px){.post-row{gap:var(--space-md);grid-template-columns:32px 1fr}.post-side{justify-content:flex-start;gap:var(--space-md);flex-direction:row;grid-column:2/-1;margin-top:.5rem}.post-num{font-size:var(--fs-xxs)}.post-title{font-size:1.125rem}}.contact-page{min-height:100vh;padding:calc(var(--header-height) + var(--space-4xl)) 0 var(--space-section);align-items:center;display:flex}.contact-grid{gap:var(--space-4xl);grid-template-columns:1fr 1.15fr;align-items:start;display:grid}.contact-title{font-size:var(--fs-h1);letter-spacing:-.035em;margin-bottom:var(--space-lg);font-weight:800;line-height:1.05}.contact-title span{display:block}.contact-sub{font-size:var(--fs-body-lg);margin-bottom:var(--space-3xl);color:var(--color-text-secondary);line-height:1.7}.contact-cards{gap:var(--space-md);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.c-card{align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:box-shadow var(--transition-normal), transform var(--transition-normal);display:flex}.c-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.c-icon{background:var(--color-accent-soft);border-radius:var(--radius-md);width:44px;height:44px;color:var(--color-accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.c-label{font-size:var(--fs-xxs);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-dim);margin-bottom:.125rem;font-weight:600;display:block}.c-card a{font-size:var(--fs-small);color:var(--color-text);transition:color var(--transition-fast);font-weight:500}.c-card a:hover{color:var(--color-accent)}.contact-note{padding:var(--space-lg);background:var(--color-accent-soft);border:1px solid var(--color-accent-medium);border-radius:var(--radius-lg)}.contact-note p{font-size:var(--fs-small);color:var(--color-text-secondary);max-width:none}.contact-note strong{color:var(--color-text);font-weight:600}.contact-form{padding:var(--space-2xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg)}.fsec{margin-bottom:var(--space-xl);border:none;padding:0}.fg{margin-bottom:var(--space-lg)}.frow{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.fl{font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:var(--space-sm);font-weight:600;display:block}.req{color:var(--color-accent)}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{width:100%;padding:.875rem var(--space-md);font-family:var(--font-body);font-size:var(--fs-body);color:var(--color-text);background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--color-text-dim)}.contact-form textarea{resize:vertical;min-height:100px}.chip-group{flex-wrap:wrap;gap:.375rem;display:flex}.chip{cursor:pointer;margin:0}.chip input{display:none}.chip span{font-size:var(--fs-xxs);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-pill);transition:all var(--transition-fast);cursor:pointer;align-items:center;min-height:36px;padding:.5rem 1rem;font-weight:600;display:inline-flex}.chip:hover span{border-color:var(--color-border-hover);color:var(--color-text-secondary)}.chip input:checked+span{background:var(--color-text);border-color:var(--color-text);color:var(--color-bg)}.chip input:focus-visible+span{outline:2px solid var(--color-accent);outline-offset:2px}.sbtn{width:100%;margin-top:var(--space-lg);justify-content:center;padding:1.125rem}.sbtn svg{transition:transform var(--transition-spring)}.sbtn:hover svg{transform:translate(3px,-3px)}@media (width<=768px){.contact-grid,.frow{grid-template-columns:1fr}}.field-error{font-size:var(--fs-xxs);color:#ef4444;min-height:1.25em;margin-top:.375rem;display:block}.fg--error input,.fg--error textarea{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.hp-field{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-success{padding:var(--space-3xl) var(--space-2xl);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);text-align:center}.success-icon{width:56px;height:56px;margin:0 auto var(--space-lg);color:var(--color-bg);background:#22c55e;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;display:flex}.form-success h3{font-size:var(--fs-h4);margin-bottom:var(--space-sm);font-weight:700}.form-success p{font-size:var(--fs-body);color:var(--color-text-secondary);max-width:36ch;margin:0 auto}.form-success a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.linkedin-cta{margin-top:var(--space-sm);border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.form-error{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);margin-top:var(--space-md);text-align:center;background:#ef444414;border:1px solid #ef444440}.form-error p{font-size:var(--fs-small);color:#ef4444}.form-error a{color:#ef4444;font-weight:600;text-decoration:underline}.blog-post{padding-top:var(--header-height)}.post-header{padding:var(--space-4xl) 0 var(--space-2xl);background:var(--gradient-warm);border-bottom:1px solid var(--color-border)}.back-link{font-size:var(--fs-xs);color:var(--color-text-dim);margin-bottom:var(--space-2xl);transition:color var(--transition-fast);align-items:center;gap:.5rem;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--color-accent)}.blog-post .post-meta{align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.blog-post .post-tag{font-size:var(--fs-xxs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);background:var(--color-accent-soft);border-radius:var(--radius-pill);padding:.25rem .75rem;font-weight:600}.blog-post .post-date{font-size:var(--fs-xs);color:var(--color-text-dim)}.blog-post .post-title{letter-spacing:-.03em;max-width:900px;font-size:max(2rem,min(5vw,3.5rem));font-weight:800;line-height:1.1}.post-content{padding:var(--space-4xl) 0 var(--space-5xl)}.container-narrow{max-width:760px}.prose{font-size:var(--fs-body);color:var(--color-text);line-height:1.8}.prose :global(h2){font-size:var(--fs-h2);margin-top:var(--space-3xl);margin-bottom:var(--space-lg);letter-spacing:-.02em;font-weight:700}.prose :global(h3){font-size:var(--fs-h3);margin-top:var(--space-2xl);margin-bottom:var(--space-md);font-weight:700}.prose :global(p){margin-bottom:var(--space-xl)}.prose :global(ul){margin-bottom:var(--space-xl);padding-left:var(--space-xl)}.prose :global(ol){margin-bottom:var(--space-xl);padding-left:var(--space-xl)}.prose :global(li){margin-bottom:.5rem}.prose :global(pre){padding:var(--space-xl);border-radius:var(--radius-lg);margin:var(--space-2xl) 0;font-size:var(--fs-xs);border:1px solid var(--color-border);overflow-x:auto}.prose :global(code:not(pre code)){background:var(--color-surface);border:1px solid var(--color-border);border-radius:.25rem;padding:.2rem .4rem;font-size:.9em}.prose :global(img){border-radius:var(--radius-xl);margin:var(--space-3xl) 0;width:100%;height:auto;box-shadow:var(--shadow-lg)}.prose :global(blockquote){border-left:4px solid var(--color-accent);padding-left:var(--space-xl);margin:var(--space-2xl) 0;color:var(--color-text-muted);font-style:italic}@media (width<=768px){.post-header{padding:var(--space-2xl) 0 var(--space-xl)}.post-content{padding:var(--space-2xl) 0 var(--space-3xl)}.back-link{margin-bottom:var(--space-xl)}.blog-post .post-title{font-size:1.75rem}.prose{font-size:1rem}.prose :global(pre){padding:var(--space-md);margin:var(--space-lg) 0;border-radius:var(--radius-md)}.prose :global(h2){margin-top:var(--space-2xl);font-size:1.5rem}.prose :global(h3){margin-top:var(--space-xl);font-size:1.25rem}}
