*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--accent:#09bbf7;--accent-subtle:#09bbf70f;--bg:#fafafa;--bg-card:#fff;--bg-card-hover:#f5f5f7;--bg-elevated:#f0f0f2;--text:#111;--text-secondary:#555;--text-tertiary:#999;--border:#00000014;--border-hover:#00000029;--border-strong:#0003;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--section-padding:clamp(80px, 10vw, 140px) clamp(20px, 5vw, 80px);--max-width:1200px;--radius:12px;--radius-sm:8px;--transition:.25s cubic-bezier(.4, 0, .2, 1)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img,svg{max-width:100%;display:block}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}h1,h2,h3,h4{letter-spacing:-.04em;color:var(--text);font-weight:700;line-height:1.1}h1{font-size:clamp(2.8rem,6vw,4.5rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.15rem,2vw,1.35rem);font-weight:600}p{color:var(--text-secondary);font-size:clamp(1rem,1.5vw,1.1rem)}.container{max-width:var(--max-width);width:100%;margin:0 auto}.section{padding:var(--section-padding);z-index:1;position:relative}.section-label{font-family:var(--font-mono);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:8px;margin-bottom:16px;font-size:.8rem;font-weight:500;display:flex}.section-label:before{content:"";background:var(--text-tertiary);width:20px;height:1px}.accent-text{color:var(--accent)}.em-text{font-style:italic}.btn{border-radius:var(--radius-sm);transition:all var(--transition);letter-spacing:-.01em;align-items:center;gap:8px;padding:13px 28px;font-size:.95rem;font-weight:600;display:inline-flex;position:relative}.btn-primary{background:var(--text);color:var(--bg)}.btn-primary:hover{opacity:.85;transform:translateY(-1px)}.btn-secondary{color:var(--text);border:1px solid var(--border-strong);background:0 0}.btn-secondary:hover{border-color:var(--text);background:var(--bg-card);transform:translateY(-1px)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#b0b0b0}::selection{background:var(--text);color:var(--bg)}.card-decorated{position:relative}.card-decorated:before,.card-decorated:after{content:"";border-color:var(--border-strong);width:8px;height:8px;position:absolute}.card-decorated:before{border-top:1.5px solid;border-left:1.5px solid;top:-1px;left:-1px}.card-decorated:after{border-top:1.5px solid;border-right:1.5px solid;top:-1px;right:-1px}.navbar{z-index:100;transition:all var(--transition);padding:20px 40px;position:fixed;top:0;left:0;right:0}.navbar--scrolled{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#fafafae6;padding:14px 40px}.navbar__inner{justify-content:space-between;align-items:center;display:flex}.navbar__logo img{width:auto;height:28px}.navbar__links{gap:32px;display:flex}.navbar__links a{color:var(--text-secondary);transition:color var(--transition);font-size:.9rem;font-weight:500;position:relative}.navbar__links a:after{content:"";background:var(--text);width:0;height:1px;transition:width var(--transition);position:absolute;bottom:-4px;left:0}.navbar__links a:hover{color:var(--text)}.navbar__links a:hover:after{width:100%}.navbar__cta{padding:8px 20px;font-size:.85rem}.navbar__mobile-toggle{color:var(--text);display:none}.navbar__mobile-menu{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#fafafafa;flex-direction:column;gap:16px;padding:24px 40px;display:none}.navbar__mobile-menu a{color:var(--text-secondary);padding:8px 0;font-size:1rem;font-weight:500}@media (width<=768px){.navbar{padding:16px 20px}.navbar--scrolled{padding:12px 20px}.navbar__links,.navbar__cta{display:none}.navbar__mobile-toggle{display:block}.navbar__mobile-menu{display:flex}}.hero{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:120px 40px 80px;display:flex;position:relative}.hero__content{z-index:2;text-align:center;max-width:740px;position:relative}.hero__badge{-webkit-backdrop-filter:blur(12px);color:var(--text-secondary);letter-spacing:.01em;background:#ffffffb3;border:1px solid #0000001a;border-radius:6px;align-items:center;gap:8px;margin-bottom:32px;padding:6px 16px;font-size:.82rem;font-weight:500;display:inline-flex}.hero__badge-dot{background:#22c55e;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.hero h1 em{font-style:italic;font-weight:700}.hero__subtitle{max-width:540px;margin:24px auto 0;font-size:clamp(1.05rem,2vw,1.2rem);line-height:1.7}.hero__actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:40px;display:flex}.hero__scroll-indicator{z-index:2;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.hero__scroll-line{background:linear-gradient(to bottom, var(--text-tertiary), transparent);width:1px;height:40px}@media (width<=768px){.hero{padding:120px 20px 60px}.hero__actions{flex-direction:column;align-items:center}}.services{position:relative}.services__header{text-align:center;max-width:600px;margin:0 auto 64px}.services__header h2 em{font-style:italic}.services__subtitle{margin-top:16px}.services__grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.service-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition);cursor:default;padding:32px 24px}.service-card:hover{border-color:var(--border-hover);box-shadow:0 8px 30px #0000000a}.service-card__icon{width:52px;height:52px;margin-bottom:24px}.service-card__icon img{object-fit:contain;width:100%;height:100%}.service-card h3{margin-bottom:10px}.service-card p{font-size:.9rem;line-height:1.65}@media (width<=1024px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.services__grid{grid-template-columns:1fr}}.about__inner{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.about__visual{position:relative}.about__image-frame{border-radius:var(--radius);position:relative;overflow:hidden}.about__code-block{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.about__code-dots{border-bottom:1px solid var(--border);gap:6px;padding:14px 18px;display:flex}.about__code-dots span{border-radius:50%;width:10px;height:10px}.about__code-dots span:first-child{background:#ff5f57}.about__code-dots span:nth-child(2){background:#febc2e}.about__code-dots span:nth-child(3){background:#28c840}.about__code-block pre{margin:0;padding:24px;overflow-x:auto}.about__code-block code{font-family:var(--font-mono);color:var(--text-secondary);font-size:.85rem;line-height:1.8}.about__content{max-width:520px}.about__content h2 em{font-style:italic}.about__text{margin-top:20px;line-height:1.75}.about__highlights{flex-direction:column;gap:12px;margin-top:32px;display:flex}.about__highlights li{color:var(--text);align-items:center;gap:10px;font-size:.9rem;font-weight:500;display:flex}.about__highlights li svg{color:var(--text-tertiary);flex-shrink:0}@media (width<=900px){.about__inner{grid-template-columns:1fr;gap:48px}.about__visual{order:2}.about__content{max-width:100%}}.process__header{text-align:center;max-width:600px;margin:0 auto 72px}.process__header h2 em{font-style:italic}.process__subtitle{margin-top:16px}.process__steps{grid-template-columns:repeat(4,1fr);gap:20px;display:grid;position:relative}.process-step{text-align:center;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);transition:all var(--transition);padding:36px 24px;position:relative}.process-step:hover{border-color:var(--border-hover);box-shadow:0 8px 30px #0000000a}.process-step__number{font-family:var(--font-mono);color:var(--text-tertiary);margin-bottom:20px;font-size:.75rem;font-weight:500}.process-step__icon{border-radius:var(--radius-sm);border:1px solid var(--border);width:48px;height:48px;color:var(--text);justify-content:center;align-items:center;margin:0 auto 20px;display:flex}.process-step h3{margin-bottom:10px}.process-step p{font-size:.88rem;line-height:1.65}.process-step__connector{display:none}@media (width>=1025px){.process-step__connector{background:var(--border-hover);z-index:1;width:24px;height:1px;display:block;position:absolute;top:50%;right:-12px}}@media (width<=1024px){.process__steps{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.process__steps{grid-template-columns:1fr;max-width:400px;margin:0 auto}}.portfolio__header{text-align:center;max-width:600px;margin:0 auto 64px}.portfolio__header h2 em{font-style:italic}.portfolio__subtitle{margin-top:16px}.portfolio__grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.portfolio-card{border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);transition:all var(--transition);cursor:default;overflow:hidden}.portfolio-card:hover{border-color:var(--border-hover);box-shadow:0 8px 30px #0000000a}.portfolio-card__preview-wrapper{overflow:hidden}.portfolio-card__preview{justify-content:center;align-items:center;height:200px;display:flex;position:relative}.portfolio-card__marker{opacity:.4;border:2px solid;border-radius:50%;width:40px;height:40px}.portfolio-card__link{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-card);width:32px;height:32px;color:var(--text-secondary);opacity:0;transition:opacity var(--transition);justify-content:center;align-items:center;display:flex;position:absolute;top:14px;right:14px}.portfolio-card:hover .portfolio-card__link{opacity:1}.portfolio-card__info{padding:20px}.portfolio-card__category{font-family:var(--font-mono);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.portfolio-card__info h3{margin-top:6px;margin-bottom:6px}.portfolio-card__info p{font-size:.88rem;line-height:1.6}@media (width<=900px){.portfolio__grid{grid-template-columns:1fr;max-width:500px;margin:0 auto}}.cta{padding-bottom:40px}.cta__card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:clamp(48px,6vw,80px)}.cta__card h2 em{font-style:italic}.cta__content{max-width:560px;margin:0 auto}.cta__text{margin-top:20px;font-size:1.05rem;line-height:1.7}.cta__actions{margin-top:36px}.cta__contact-info{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:32px;margin-top:40px;padding-top:32px;display:flex}.cta__contact-item{color:var(--text-secondary);transition:color var(--transition);align-items:center;gap:8px;font-size:.9rem;display:flex}.cta__contact-item:hover{color:var(--text)}.cta__contact-item svg{color:var(--text-tertiary)}@media (width<=600px){.cta__contact-info{flex-direction:column;align-items:center;gap:16px}}.footer{border-top:1px solid var(--border);padding:60px clamp(20px,5vw,80px) 32px}.footer__inner{justify-content:space-between;gap:60px;padding-bottom:40px;display:flex}.footer__brand{max-width:320px}.footer__logo{height:24px;margin-bottom:16px}.footer__brand p{font-size:.88rem;line-height:1.6}.footer__links{gap:60px;display:flex}.footer__column{flex-direction:column;gap:10px;display:flex}.footer__column h4{color:var(--text);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:.8rem;font-weight:600}.footer__column a{color:var(--text-secondary);transition:color var(--transition);font-size:.88rem}.footer__column a:hover{color:var(--text)}.footer__bottom{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:24px;display:flex}.footer__bottom span{color:var(--text-tertiary);font-size:.78rem}@media (width<=768px){.footer__inner{flex-direction:column;gap:40px}.footer__links{gap:40px}.footer__bottom{text-align:center;flex-direction:column;gap:8px}}.scroll-companion{z-index:1;pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.scroll-companion img{opacity:.06;width:100px;height:100px}.scroll-companion__glow{display:none}
