@import"https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;1,9..40,400&family=JetBrains+Mono:wght@400&display=swap";:root{--color-ink: #0f172a;--color-ink-soft: #334155;--color-stone: #64748b;--color-muted: #94a3b8;--color-border: #e2e8f0;--color-surface: #f1f5f9;--color-paper: #f8fafc;--color-accent: #4f6df5;--color-accent-hover: #3b5bdb;--color-accent-soft: #818cf8;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2.5rem;--space-3xl: 3.5rem;--space-4xl: 5rem;--font-display: "Sora", -apple-system, sans-serif;--font-body: "DM Sans", -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace;--shadow-subtle: 0 1px 3px rgba(15, 23, 42, .04);--shadow-soft: 0 4px 20px rgba(15, 23, 42, .08);--shadow-lifted: 0 12px 40px rgba(79, 109, 245, .12);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--ease-out: cubic-bezier(.25, .46, .45, .94);--duration-fast: .15s;--duration-normal: .25s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:17px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--color-ink);background:var(--color-paper);line-height:1.65;letter-spacing:-.01em}::selection{background:var(--color-accent);color:var(--color-paper)}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.1;letter-spacing:-.03em;color:var(--color-ink)}h1{font-size:clamp(2.25rem,4.5vw,3.25rem);margin-bottom:var(--space-md)}h2{font-size:clamp(1.625rem,3vw,2.125rem);margin-top:var(--space-2xl);margin-bottom:var(--space-sm)}h3{font-size:1.375rem;margin-top:var(--space-xl);margin-bottom:var(--space-sm)}h4{font-family:var(--font-body);font-size:.8125rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-stone);margin-bottom:var(--space-md)}p{margin-bottom:var(--space-md);color:var(--color-ink-soft)}ul,ol{margin-bottom:var(--space-md);padding-left:var(--space-xl);color:var(--color-ink-soft)}li{margin-bottom:var(--space-xs)}.lead{font-size:1.125rem;color:var(--color-stone);line-height:1.7}a{color:var(--color-ink);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-accent)}code{font-family:var(--font-mono);font-size:.875em;background:var(--color-surface);padding:.15em .4em;border-radius:var(--radius-sm)}.container{max-width:1120px;margin:0 auto;padding:0 var(--space-xl)}.section{padding:var(--space-4xl) 0}.section-surface{background:var(--color-surface)}.header{position:sticky;top:0;background:#fdfcfaeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:100;border-bottom:1px solid transparent;transition:border-color var(--duration-normal) var(--ease-out)}.header.scrolled{border-bottom-color:var(--color-border)}.header-inner{display:flex;justify-content:space-between;align-items:center;height:56px}.logo{font-family:var(--font-display);font-size:1.375rem;font-weight:600;color:var(--color-ink);letter-spacing:-.03em}.logo span{color:var(--color-accent)}.nav{display:flex;gap:var(--space-xl);align-items:center}.nav a{font-size:.9375rem;color:var(--color-stone);position:relative;padding:var(--space-xs) 0}.nav a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-accent);transition:width var(--duration-normal) var(--ease-out)}.nav a:hover{color:var(--color-ink)}.nav a:hover:after{width:100%}.hero{padding:var(--space-3xl) 0 var(--space-2xl);text-align:center}.hero h1{max-width:700px;margin-left:auto;margin-right:auto}.hero .subtitle{font-size:1.0625rem;color:var(--color-stone);max-width:520px;margin:0 auto var(--space-lg);line-height:1.6}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.625rem 1.25rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--duration-normal) var(--ease-out);text-decoration:none}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover);color:#fff;transform:translateY(-1px);box-shadow:0 8px 24px #4f6df540}.btn-secondary{background:transparent;color:var(--color-ink);border:1px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-stone);color:var(--color-ink)}.btn-large{padding:.75rem 1.5rem;font-size:.9375rem}.card{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--duration-normal) var(--ease-out)}.card:hover{box-shadow:var(--shadow-soft);border-color:transparent}.card-icon{width:44px;height:44px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg);font-size:1.25rem;color:var(--color-accent)}.card h3{margin-bottom:var(--space-sm)}.card p{color:var(--color-stone);margin-bottom:0;font-size:.9375rem}.grid{display:grid;gap:var(--space-xl)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}}@media(max-width:600px){.grid-4{grid-template-columns:1fr}}.pricing-card{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;transition:all var(--duration-normal) var(--ease-out);position:relative}.pricing-card:hover{box-shadow:var(--shadow-soft);border-color:transparent}.pricing-card--featured{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.pricing-card--featured:hover{box-shadow:var(--shadow-lifted)}.pricing-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--color-accent);color:#fff;font-size:.6875rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .75rem;border-radius:var(--radius-sm)}.pricing-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.pricing-name{display:block;font-family:var(--font-display);font-size:1.125rem;font-weight:600;color:var(--color-ink);margin-bottom:var(--space-sm)}.pricing-price{display:flex;align-items:baseline;gap:.25rem}.pricing-amount{font-family:var(--font-display);font-size:2.25rem;font-weight:600;color:var(--color-ink);letter-spacing:-.03em}.pricing-period{font-size:.875rem;color:var(--color-stone)}.pricing-features{list-style:none;margin-bottom:var(--space-lg);flex:1}.pricing-features li{position:relative;padding-left:1.5rem;margin-bottom:var(--space-sm);font-size:.9375rem;color:var(--color-ink-soft)}.pricing-features li:before{content:"✓";position:absolute;left:0;color:var(--color-accent);font-weight:600}.pricing-description{font-size:.875rem;color:var(--color-stone);margin-bottom:var(--space-lg);font-style:italic}.btn-block{width:100%;justify-content:center;margin-top:auto}.project-card{display:flex;flex-direction:column;background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--duration-normal) var(--ease-out);text-decoration:none}.project-card:hover{box-shadow:var(--shadow-lifted);border-color:transparent;transform:translateY(-2px)}.project-card:hover .project-link{color:var(--color-accent)}.project-image{aspect-ratio:16/10;background:linear-gradient(145deg,#1e293b,#334155 50%,#3b5bdb 150%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.project-icon{font-family:var(--font-mono);font-size:2rem;color:var(--color-paper);opacity:.85;letter-spacing:-.05em}.project-image--muted{background:linear-gradient(145deg,#4a4744,#5c5854)}.project-content{padding:var(--space-xl);flex:1;display:flex;flex-direction:column}.project-tag{display:inline-block;padding:.25rem .625rem;background:var(--color-surface);color:var(--color-stone);font-size:.6875rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-sm);margin-bottom:var(--space-md);width:fit-content}.project-card h3{font-size:1.5rem;margin-bottom:var(--space-sm);color:var(--color-ink)}.project-card p{color:var(--color-stone);flex:1;font-size:.9375rem;line-height:1.65}.project-link{font-family:var(--font-display);font-size:.875rem;font-weight:500;color:var(--color-ink);margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);transition:color var(--duration-fast) var(--ease-out);letter-spacing:-.01em}.project-card--muted{opacity:.65;cursor:default}.project-card--muted:hover{transform:none;box-shadow:none;border-color:var(--color-border)}.section-header{text-align:center;max-width:560px;margin:0 auto var(--space-xl)}.section-header p{color:var(--color-stone)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center}.about-content p{font-size:1.0625rem;line-height:1.75}.company-card{background:linear-gradient(145deg,#1e293b,#0f172a);color:var(--color-paper);border-radius:var(--radius-lg);padding:var(--space-2xl);border:1px solid rgba(79,109,245,.15)}.company-card h4{color:var(--color-muted)}.company-card p{color:#fdfcfabf;margin-bottom:0;font-size:.9375rem;line-height:1.8}.company-card strong{color:var(--color-paper)}@media(max-width:768px){.about-grid{grid-template-columns:1fr;gap:var(--space-xl)}}.contact-section{text-align:center}.contact-section p{max-width:440px;margin:0 auto var(--space-xl)}.footer{background:linear-gradient(180deg,#1e293b,#0f172a);color:#f8fafcb3;padding:var(--space-2xl) 0 var(--space-lg)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-xl);margin-bottom:var(--space-xl)}.footer h4{color:var(--color-paper)}.footer p{color:#fdfcfa99;font-size:.9375rem}.footer a{color:#fdfcfa99;font-size:.9375rem;transition:color var(--duration-fast) var(--ease-out)}.footer a:hover{color:var(--color-paper)}.footer-links{list-style:none}.footer-links li{margin-bottom:var(--space-sm)}.footer-bottom{padding-top:var(--space-xl);border-top:1px solid rgba(253,252,250,.1);display:flex;justify-content:space-between;font-size:.8125rem;color:#fdfcfa66}.footer-bottom span:last-child{display:flex;align-items:center;gap:var(--space-sm)}.footer-bottom span:last-child:before{content:"";width:4px;height:4px;background:var(--color-accent);border-radius:50%}@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:var(--space-xl)}.footer-bottom{flex-direction:column;gap:var(--space-md);text-align:center}.footer-bottom span:last-child:before{display:none}}.text-center{text-align:center}.text-muted{color:var(--color-muted)}.mt-1{margin-top:var(--space-md)}.mt-2{margin-top:var(--space-xl)}.mt-3{margin-top:var(--space-2xl)}.mb-1{margin-bottom:var(--space-md)}.mb-2{margin-bottom:var(--space-xl)}.mb-3{margin-bottom:var(--space-2xl)}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .5s var(--ease-out) forwards}.animate-fade-in:nth-child(2){animation-delay:.1s}.animate-fade-in:nth-child(3){animation-delay:.2s}.code-block{background:var(--color-ink);color:#fdfcfae6;padding:var(--space-lg);border-radius:var(--radius-lg);overflow-x:auto;font-family:var(--font-mono);font-size:.8125rem;line-height:1.8}.terminal{background:var(--color-ink);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lifted)}.terminal-header{background:#0003;padding:var(--space-sm) var(--space-md);display:flex;gap:6px}.terminal-dot{width:10px;height:10px;border-radius:50%;opacity:.7}.terminal-dot.red{background:#ff6059}.terminal-dot.yellow{background:#ffbd2e}.terminal-dot.green{background:#28ca42}.terminal-body{padding:var(--space-lg);font-family:var(--font-mono);font-size:.8125rem;color:#fdfcfad9;line-height:1.9}.terminal-prompt{color:var(--color-accent-soft)}.terminal-command{color:#f8fafce6}.terminal-output{color:#f8fafc80}.terminal-success{color:#4ade80}@media(max-width:768px){html{font-size:16px}.container{padding:0 var(--space-lg)}.section{padding:var(--space-2xl) 0}.hero{padding:var(--space-2xl) 0 var(--space-xl)}.nav{gap:var(--space-md)}.header-inner{height:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
