| class CustomHero extends HTMLElement { | |
| connectedCallback() { | |
| this.attachShadow({ mode: 'open' }); | |
| this.shadowRoot.innerHTML = ` | |
| <style> | |
| :host { | |
| display: block; | |
| padding-top: 6rem; | |
| padding-bottom: 6rem; | |
| background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%); | |
| } | |
| .container { | |
| max-width: 1200px; | |
| margin: 0 auto; | |
| padding: 0 2rem; | |
| display: grid; | |
| grid-template-columns: 1fr 1fr; | |
| gap: 4rem; | |
| align-items: center; | |
| } | |
| .content { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 1.5rem; | |
| } | |
| .title { | |
| font-size: 3.5rem; | |
| font-weight: 800; | |
| line-height: 1.2; | |
| color: #1f2937; | |
| } | |
| .subtitle { | |
| font-size: 1.25rem; | |
| color: #4b5563; | |
| line-height: 1.6; | |
| } | |
| .buttons { | |
| display: flex; | |
| gap: 1rem; | |
| } | |
| .image-container { | |
| position: relative; | |
| border-radius: 1rem; | |
| overflow: hidden; | |
| box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1); | |
| } | |
| .image-container img { | |
| width: 100%; | |
| height: auto; | |
| display: block; | |
| } | |
| @media (max-width: 768px) { | |
| .container { | |
| grid-template-columns: 1fr; | |
| gap: 2rem; | |
| } | |
| .title { | |
| font-size: 2.5rem; | |
| } | |
| .buttons { | |
| flex-direction: column; | |
| } | |
| } | |
| </style> | |
| <div class="container"> | |
| <div class="content observe-me"> | |
| <h1 class="title">We craft <span class="gradient-text">digital experiences</span> that matter</h1> | |
| <p class="subtitle">PixelPulse is a creative studio focused on building beautiful, functional websites and applications that help businesses grow.</p> | |
| <div class="buttons"> | |
| <a href="#contact" class="px-6 py-3 rounded-lg btn-primary text-white font-medium">Get Started</a> | |
| <a href="#portfolio" class="px-6 py-3 rounded-lg btn-secondary text-white font-medium">View Work</a> | |
| </div> | |
| </div> | |
| <div class="image-container observe-me delay-100"> | |
| <img src="http://static.photos/technology/1024x576/1" alt="Digital creative work"> | |
| </div> | |
| </div> | |
| `; | |
| } | |
| } | |
| customElements.define('custom-hero', CustomHero); |