.hero-obsidian{background-color:#0a0a0a;justify-content:flex-end;align-items:flex-end;width:100%;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-image-container{z-index:0;will-change:transform;position:absolute;inset:0}.hero-image-container img{transition:none}.hero-image-overlay{z-index:1;background:linear-gradient(90deg,#0000001a 0%,#0000 40%,#fff0 60%,#fff9 100%);position:absolute;inset:0}.hero-card{z-index:10;-webkit-backdrop-filter:blur(20px);background:#ffffffeb;border-radius:0;max-width:650px;margin:0 4rem 4rem auto;padding:4rem;animation:1s ease-out .3s both fade-in-up;position:relative}.hero-card-title{color:#1a1a1a;letter-spacing:-.02em;margin-bottom:1.5rem;font-size:clamp(2.5rem,5vw,4rem);font-weight:400;line-height:1.15}.hero-card-title em{font-style:italic;font-weight:400}.hero-card-subtitle{color:#555;max-width:100%;margin-bottom:2rem;font-size:1.1rem;line-height:1.7}.hero-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;display:flex}.hero-tag{color:#333;background:0 0;border:1px solid #d0d0d0;border-radius:9999px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:500;transition:all .3s;display:inline-block}.hero-tag:hover{color:#fff;background:#7c5cff;border-color:#7c5cff}.hero-cta{color:#fff;background:#1a1a1a;border-radius:9999px;align-items:center;gap:.75rem;padding:1.1rem 2.5rem;font-size:1rem;font-weight:500;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex}.hero-cta:hover{opacity:1;background:#7c5cff;transform:translateY(-2px);box-shadow:0 12px 30px -8px #7c5cff66}.section-badge{color:var(--accent-lavender);text-transform:uppercase;letter-spacing:.12em;background:#7c5cff14;border:1px solid #7c5cff26;border-radius:9999px;margin-bottom:1.5rem;padding:.4rem 1rem;font-size:.75rem;font-weight:600;display:inline-block}.section-light{background:var(--background,#0a0a0a);color:#fff}.section-light .section-badge{color:var(--accent-lavender);background:#7c5cff14;border-color:#7c5cff26}.section-light h2,.section-light h3,.section-light h4{color:#fff}.section-light p{color:var(--gray-800,#a1a1a1)}.services-section{background:var(--background,#0a0a0a);padding-top:8rem;padding-bottom:8rem;position:relative;overflow:hidden}.services-section:before{content:"";pointer-events:none;background:radial-gradient(#7c5cff0f,#0000 60%);width:80%;height:50%;position:absolute;top:-20%;left:50%;transform:translate(-50%)}.services-header{margin-bottom:4rem}.services-header h2{color:#fff;letter-spacing:-.02em;margin-bottom:1.5rem;font-size:clamp(2.5rem,6vw,4rem);font-weight:400}.services-lead{color:var(--gray-800,#a1a1a1);max-width:550px;font-size:1.2rem;line-height:1.7}.bento-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(280px,auto);gap:1.25rem;display:grid}.bento-item-large{grid-area:span 2/span 2}.bento-item-medium,.bento-item-small{grid-area:span 1/span 2}.services-section .service-card.bento-box{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0f0f0f99;border:1px solid #ffffff0f}.services-section .service-card.bento-box:before{background:linear-gradient(135deg,#ffffff1a,#ffffff03)}.services-section .service-card.bento-box:hover{background:#141414cc;box-shadow:0 25px 50px -12px #00000080,0 0 30px #7c5cff14}.services-section .service-title{color:#fff}.services-section .service-subtitle{color:var(--gray-600,#888)}.services-section .service-description{color:var(--gray-800,#a1a1a1)}.service-card{cursor:pointer;flex-direction:column;height:100%;text-decoration:none;display:flex;position:relative;overflow:hidden}.service-card-inner{z-index:2;flex-direction:column;justify-content:space-between;height:100%;display:flex;position:relative}.service-icon{background:#7c5cff14;border:1px solid #7c5cff26;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:2rem;transition:all .4s;display:flex}.service-card:hover .service-icon{background:#7c5cff26;transform:scale(1.05)}.service-title{color:#fff;letter-spacing:-.02em;margin-bottom:.5rem;font-size:1.75rem;font-weight:700;line-height:1.2}.bento-item-large .service-title{font-size:2.5rem}.service-subtitle{color:var(--gray-600,#888);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem;font-size:.85rem;font-weight:500;display:block}.service-description{color:var(--gray-800,#a1a1a1);max-width:420px;font-size:1rem;line-height:1.6}.service-arrow{opacity:0;align-self:flex-end;margin-top:1.5rem;transition:all .4s cubic-bezier(.16,1,.3,1);transform:translate(-10px,10px)}.service-card:hover .service-arrow{opacity:1;transform:translate(0)}.service-glow{background:var(--card-gradient,transparent);opacity:0;pointer-events:none;z-index:1;transition:opacity .5s;position:absolute;inset:0}.service-card:hover .service-glow{opacity:1}.ai-section{background-color:var(--background-deep);padding:8rem 0;position:relative;overflow:hidden}.ai-section:before{content:"";background:radial-gradient(ellipse at center,var(--glow-purple),transparent 60%);opacity:.06;pointer-events:none;width:100%;height:60%;position:absolute;top:-20%;left:50%;transform:translate(-50%)}.ai-header{text-align:center;max-width:800px;margin:0 auto 5rem}.ai-header h2{color:#fff;margin-bottom:1.5rem;font-size:clamp(2.5rem,6vw,4rem)}.ai-header p{color:var(--gray-800);max-width:600px;margin:0 auto;font-size:1.2rem}.portfolio-preview{background-color:var(--background-deep)}.portfolio-header{justify-content:space-between;align-items:center;margin-bottom:4rem;display:flex}.portfolio-header h2{color:#fff;border-bottom:1px solid var(--gray-300);width:100%;margin-bottom:0;padding-bottom:2rem}.portfolio-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.portfolio-card{background:0 0}.portfolio-media{aspect-ratio:16/9;filter:brightness(.9);border-radius:1.25rem;margin-bottom:1.5rem;transition:all .6s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.portfolio-media video{object-fit:cover;object-position:center;width:100%;height:100%}.portfolio-card:hover .portfolio-media{filter:brightness();transform:scale(1.02)}.portfolio-overlay{z-index:10;position:absolute;bottom:2rem;left:2rem}.portfolio-name{color:#fff;text-transform:uppercase;letter-spacing:-.02em;word-break:break-word;white-space:normal;font-size:3rem;font-weight:800;line-height:1}.portfolio-category{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;z-index:10;background-color:#00000080;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.75rem;font-weight:500;display:flex;position:absolute;top:1.5rem;left:1.5rem}.portfolio-content h4{color:#fff;margin-bottom:.75rem;font-size:1.5rem;font-weight:700}.portfolio-tags{flex-wrap:wrap;gap:.5rem;max-width:100%;margin-bottom:1rem;display:flex}.portfolio-tags .tag{color:var(--accent-lavender);background:#7c5cff1a;border:1px solid #7c5cff26;border-radius:999px;padding:.4rem 1rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-block}.portfolio-tags .tag:hover{color:#fff;opacity:1;background:#7c5cff33;transform:translateY(-1px)}.portfolio-content p{color:var(--gray-600);font-size:.95rem;line-height:1.6}.cta-centered{background:var(--background-deep,#050505);border-bottom:none;padding:3rem 0}.cta-centered .btn-gradient{background:linear-gradient(135deg,#7c5cff,#5b3cc4)}.contact-section{background-color:var(--background);padding:8rem 0;position:relative}.contact-section:before{content:"";background:radial-gradient(ellipse at bottom,var(--glow-purple),transparent 60%);opacity:.04;pointer-events:none;width:60%;height:50%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.contact-layout{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;max-width:1000px;margin:4rem auto 0;display:grid}.contact-form{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#0f0f0f99;border:1px solid #ffffff0f;border-radius:1.25rem;padding:2.5rem}.contact-form .form-group{flex-direction:column;margin-bottom:1.5rem;display:flex}.contact-form .form-group label{color:#e5e5e5;margin-bottom:.5rem;font-size:.9rem;font-weight:600}.contact-form .form-group input,.contact-form .form-group textarea{color:#fff!important;box-sizing:border-box!important;appearance:none!important;background-color:#ffffff0a!important;border:1px solid #ffffff1a!important;border-radius:.75rem!important;outline:none!important;width:100%!important;min-height:50px!important;padding:.875rem 1rem!important;font-size:1rem!important;transition:border-color .3s,background-color .3s!important}.contact-form .form-group input:focus,.contact-form .form-group textarea:focus{background-color:#ffffff0f!important;border-color:#7c5cff66!important}.contact-form .btn-primary{margin-top:1.5rem}input:-webkit-autofill{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:white!important;-webkit-box-shadow:inset 0 0 0 1000px #111!important}input:-webkit-autofill:hover{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:white!important;-webkit-box-shadow:inset 0 0 0 1000px #111!important}input:-webkit-autofill:focus{transition:background-color 5000s ease-in-out;-webkit-text-fill-color:white!important;-webkit-box-shadow:inset 0 0 0 1000px #111!important}@media (max-width:1024px){.bento-grid{grid-template-columns:repeat(2,1fr)}.bento-item-large{grid-area:span 1/span 2}}@media (max-width:768px){.hero-card{max-width:none;margin:0 1.5rem 2rem;padding:2.5rem}.hero-card-title{font-size:2rem}.hero-image-overlay{background:linear-gradient(#0000 0%,#0000004d 50%,#fffc 100%)}.hero-cta{justify-content:center;width:100%}.portfolio-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:1.5rem;width:100%;padding-bottom:2rem;display:flex;overflow-x:auto}.portfolio-card{scroll-snap-align:center;flex-shrink:0;width:85vw;max-width:85vw}.portfolio-media{aspect-ratio:16/9;border-radius:1rem;width:100%;margin-bottom:1rem}.portfolio-name{font-size:1.75rem}.portfolio-overlay{bottom:1.5rem;left:1.5rem;right:1.5rem}.contact-layout{grid-template-columns:1fr;gap:2rem;width:100%;padding:0 1rem}.contact-section{padding:4rem 0}}@media (max-width:600px){.bento-grid{grid-template-columns:1fr}.bento-item-large,.bento-item-medium,.bento-item-small{grid-area:span 1/span 1}.service-title{font-size:1.5rem!important}}
