<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<title>GlobalPrint · Print-on-Demand & Global Fulfillment</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,300;400;500;600;700;800&display=swap" rel="stylesheet">
<style>
/* ========== GLOBAL STYLES (shared across header/main/footer) ========== */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Inter', sans-serif;
background-color: #ffffff;
color: #1a1f2c;
line-height: 1.4;
}
.container {
max-width: 1280px;
margin: 0 auto;
padding: 0 32px;
}
/* buttons */
.btn-primary {
display: inline-flex;
align-items: center;
justify-content: center;
background-color: #1a5cff;
color: white;
font-weight: 600;
font-size: 1rem;
padding: 12px 28px;
border-radius: 40px;
text-decoration: none;
transition: background 0.2s ease;
border: none;
cursor: pointer;
}
.btn-primary:hover {
background-color: #0e47d1;
}
.btn-outline {
display: inline-flex;
align-items: center;
justify-content: center;
background-color: transparent;
color: #1a5cff;
font-weight: 600;
font-size: 1rem;
padding: 12px 28px;
border-radius: 40px;
text-decoration: none;
border: 1px solid #cbd5e1;
transition: all 0.2s ease;
}
.btn-outline:hover {
border-color: #1a5cff;
background-color: rgba(26, 92, 255, 0.04);
}
.btn-small {
padding: 8px 20px;
font-size: 0.9rem;
}
.section-title {
font-size: 2.25rem;
font-weight: 700;
letter-spacing: -0.02em;
line-height: 1.2;
margin-bottom: 1rem;
color: #0a0f1c;
}
.section-sub {
font-size: 1.125rem;
color: #4a5568;
max-width: 640px;
margin-bottom: 3rem;
}
</style>
</head>
<body>
<!-- ==================== 1. HEADER SECTION (可单独保存为 header.html) ==================== -->
<header class="site-header" style="position: sticky; top: 0; z-index: 100; background-color: rgba(255,255,255,0.96); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(0,0,0,0.05);">
<div style="display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 16px 32px; max-width: 1440px; margin: 0 auto;">
<!-- Logo -->
<a href="#" style="display: flex; align-items: center; gap: 10px; text-decoration: none;">
<div style="background: #1a5cff; width: 36px; height: 36px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: white; font-weight: 700; font-size: 1.3rem;">G</div>
<div style="font-size: 1.6rem; font-weight: 700; letter-spacing: -0.02em; color: #0a0f1c;">Global<span style="color:#1a5cff;">Print</span></div>
</a>
<!-- Desktop Navigation -->
<nav style="display: flex; gap: 32px; align-items: center;">
<a href="#" style="text-decoration: none; color: #1f2a44; font-weight: 500;">Products</a>
<a href="#" style="text-decoration: none; color: #1f2a44; font-weight: 500;">Pricing</a>
<a href="#" style="text-decoration: none; color: #1f2a44; font-weight: 500;">Integrations</a>
<a href="#" style="text-decoration: none; color: #1f2a44; font-weight: 500;">Resources</a>
<div style="display: flex; gap: 12px;">
<a href="#" class="btn-outline btn-small">Log in</a>
<a href="#" class="btn-primary btn-small">Start free</a>
</div>
</nav>
<!-- Mobile toggle (simplified, no JS for separation demo, but you can add) -->
<button style="display: none;" aria-label="Menu">☰</button>
</div>
</header>
<main>
<!-- ==================== 2. MAIN CONTENT (主页 - 可单独保存为 index.html) ==================== -->
<!-- Carousel Section -->
<section style="background: #f9faff; padding: 60px 0 40px;">
<div style="position: relative; max-width: 1200px; margin: 0 auto; overflow: hidden; border-radius: 32px; box-shadow: 0 25px 40px -12px rgba(0,0,0,0.12);">
<div style="display: flex; transition: transform 0.5s ease-in-out;" id="carouselTrack">
<!-- Slide 1 -->
<div style="flex: 0 0 100%; display: flex; align-items: center; justify-content: space-between; gap: 48px; background: linear-gradient(135deg, #ffffff, #f5f9ff); padding: 48px 56px; flex-wrap: wrap;">
<div style="flex: 1.2; min-width: 260px;">
<div style="background: #eef3ff; color: #1a5cff; display: inline-block; padding: 6px 14px; border-radius: 40px; font-size: 0.85rem; font-weight: 600; margin-bottom: 20px;">⚡ START FOR FREE</div>
<h2 style="font-size: 2.8rem; font-weight: 700; line-height: 1.2; margin-bottom: 20px;">Print on demand <br>without limits</h2>
<p style="font-size: 1.1rem; color: #334155; margin-bottom: 32px;">From hoodies to wall art — we print, pack, and ship globally. Zero inventory risk.</p>
<a href="#" class="btn-primary">Explore products →</a>
</div>
<div style="flex: 1; min-width: 200px; background: #f1f5f9; border-radius: 28px; padding: 20px; text-align: center;">
<svg width="200" height="200" viewBox="0 0 200 180"><rect x="30" y="30" width="140" height="110" rx="18" fill="#EFF3F8" stroke="#B9D0F0" stroke-width="1.5"/><circle cx="100" cy="85" r="24" fill="#1A5CFF" fill-opacity="0.15" stroke="#1A5CFF" stroke-width="1.8"/><text x="100" y="160" text-anchor="middle" font-size="11" fill="#4F6F9F">Premium blanks</text></svg>
</div>
</div>
<!-- Slide 2 -->
<div style="flex: 0 0 100%; display: flex; align-items: center; justify-content: space-between; gap: 48px; background: linear-gradient(135deg, #ffffff, #f5f9ff); padding: 48px 56px; flex-wrap: wrap;">
<div style="flex: 1.2; min-width: 260px;">
<div style="background: #eef3ff; color: #1a5cff; display: inline-block; padding: 6px 14px; border-radius: 40px; font-size: 0.85rem; font-weight: 600; margin-bottom: 20px;">🌍 WORLDWIDE HUBS</div>
<h2 style="font-size: 2.8rem; font-weight: 700; line-height: 1.2; margin-bottom: 20px;">Fast shipping <br>from 7 regions</h2>
<p style="font-size: 1.1rem; color: #334155; margin-bottom: 32px;">Automatic routing to nearest fulfillment centers — EU, US, UK, Japan, Australia.</p>
<a href="#" class="btn-outline">See network →</a>
</div>
<div style="flex: 1; min-width: 200px; background: #f1f5f9; border-radius: 28px; padding: 20px; text-align: center;">
<svg width="200" height="200" viewBox="0 0 200 180"><circle cx="100" cy="90" r="50" fill="#EFF3FA" stroke="#1A5CFF" stroke-width="1.2" stroke-dasharray="2 4"/><text x="100" y="95" text-anchor="middle" font-size="12" fill="#1A5CFF">Global</text><text x="100" y="112" text-anchor="middle" font-size="10" fill="#5F7EA0">7 hubs</text></svg>
</div>
</div>
<!-- Slide 3 -->
<div style="flex: 0 0 100%; display: flex; align-items: center; justify-content: space-between; gap: 48px; background: linear-gradient(135deg, #ffffff, #f5f9ff); padding: 48px 56px; flex-wrap: wrap;">
<div style="flex: 1.2; min-width: 260px;">
<div style="background: #eef3ff; color: #1a5cff; display: inline-block; padding: 6px 14px; border-radius: 40px; font-size: 0.85rem; font-weight: 600; margin-bottom: 20px;">🌱 SUSTAINABLE</div>
<h2 style="font-size: 2.8rem; font-weight: 700; line-height: 1.2; margin-bottom: 20px;">Eco-friendly <br>on-demand</h2>
<p style="font-size: 1.1rem; color: #334155; margin-bottom: 32px;">Made-to-order reduces waste. Organic & recycled materials available.</p>
<a href="#" class="btn-primary">Learn more →</a>
</div>
<div style="flex: 1; min-width: 200px; background: #f1f5f9; border-radius: 28px; padding: 20px; text-align: center;">
<svg width="200" height="200" viewBox="0 0 200 180"><path d="M100 50 L130 80 L110 80 L120 130 L80 130 L90 80 L70 80 L100 50Z" fill="#C7E0C7" stroke="#1A5CFF" stroke-width="1.2"/><text x="100" y="155" text-anchor="middle" font-size="10" fill="#456745">low waste</text></svg>
</div>
</div>
</div>
<!-- Carousel controls -->
<div class="carousel-btn" id="prevBtn" style="position: absolute; top: 50%; left: 20px; transform: translateY(-50%); background: white; width: 44px; height: 44px; border-radius: 60px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 1.6rem; box-shadow: 0 8px 16px -8px rgba(0,0,0,0.1);">←</div>
<div class="carousel-btn" id="nextBtn" style="position: absolute; top: 50%; right: 20px; transform: translateY(-50%); background: white; width: 44px; height: 44px; border-radius: 60px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 1.6rem; box-shadow: 0 8px 16px -8px rgba(0,0,0,0.1);">→</div>
</div>
<div style="display: flex; justify-content: center; gap: 12px; margin-top: 28px;" id="dotsContainer"></div>
</section>
<!-- Trust Bar -->
<div style="padding: 48px 0; background: #ffffff; border-bottom: 1px solid #edf2f7;">
<div class="container" style="display: flex; justify-content: space-between; flex-wrap: wrap; gap: 32px; opacity: 0.7;">
<span>⭐ TRUSTED BY</span><span>GYMSHARK</span><span>UNIQLO Creators</span><span>VIRAL STYLE</span><span>ARTSTATION</span><span>+500K brands</span>
</div>
</div>
<!-- How it works -->
<section style="padding: 80px 0;">
<div class="container">
<h2 class="section-title">How it works — 3 simple steps</h2>
<p class="section-sub">Integrate your store, design products, we handle the rest</p>
<div style="display: grid; gap: 48px; grid-template-columns: repeat(auto-fit, minmax(240px,1fr));">
<div style="text-align: center;"><div style="width: 56px; height: 56px; background: #eef3ff; color: #1a5cff; font-size: 1.75rem; font-weight: 700; border-radius: 60px; display: flex; align-items: center; justify-content: center; margin: 0 auto 24px;">1</div><h3>Connect store</h3><p style="color:#4a5568;">Shopify, Etsy, WooCommerce or custom API</p></div>
<div style="text-align: center;"><div style="width: 56px; height: 56px; background: #eef3ff; color: #1a5cff; font-size: 1.75rem; font-weight: 700; border-radius: 60px; display: flex; align-items: center; justify-content: center; margin: 0 auto 24px;">2</div><h3>Design & mockup</h3><p style="color:#4a5568;">Upload artwork, choose from 100+ premium blanks</p></div>
<div style="text-align: center;"><div style="width: 56px; height: 56px; background: #eef3ff; color: #1a5cff; font-size: 1.75rem; font-weight: 700; border-radius: 60px; display: flex; align-items: center; justify-content: center; margin: 0 auto 24px;">3</div><h3>Auto-fulfillment</h3><p style="color:#4a5568;">Order triggers print & ship automatically</p></div>
</div>
</div>
</section>
<!-- Bestselling products -->
<section style="background: #fafcff; padding: 80px 0;">
<div class="container">
<h2 class="section-title">Bestselling blanks</h2>
<p class="section-sub">High-quality, sustainable basics for every design</p>
<div style="display: grid; gap: 32px; grid-template-columns: repeat(auto-fill, minmax(200px,1fr));">
<div style="background: white; border-radius: 24px; padding: 24px 16px; text-align: center; border:1px solid #ecf3fa;">👕<h4>Heavyweight T-shirt</h4><p>8 colors | 180-230gsm</p></div>
<div style="background: white; border-radius: 24px; padding: 24px 16px; text-align: center; border:1px solid #ecf3fa;">🧥<h4>Premium Hoodie</h4><p>Fleece lined | 420gsm</p></div>
<div style="background: white; border-radius: 24px; padding: 24px 16px; text-align: center; border:1px solid #ecf3fa;">🖼️<h4>Fine art print</h4><p>Museum-grade framing</p></div>
<div style="background: white; border-radius: 24px; padding: 24px 16px; text-align: center; border:1px solid #ecf3fa;">☕<h4>Ceramic Mug</h4><p>Double-sided print</p></div>
<div style="background: white; border-radius: 24px; padding: 24px 16px; text-align: center; border:1px solid #ecf3fa;">📱<h4>Phone case</h4><p>Impact resistant</p></div>
</div>
</div>
</section>
<!-- Features dual column -->
<section style="padding: 80px 0;">
<div class="container" style="display: grid; gap: 60px; grid-template-columns: 1fr 1fr; align-items: center;">
<div><h2 style="font-size:2rem; margin-bottom:24px;">Global production, local speed</h2><p>Fulfillment centers in US, Europe, Asia & Australia. Reduce carbon footprint and delivery time.</p><ul style="list-style:none; margin-top:28px;"><li style="display:flex; gap:12px; margin-bottom:24px;">✓ No minimum order quantity</li><li style="display:flex; gap:12px; margin-bottom:24px;">✓ White-label + custom packing</li><li style="display:flex; gap:12px; margin-bottom:24px;">✓ Real-time inventory sync</li></ul><a href="#" class="btn-outline">Explore supply chain →</a></div>
<div style="background:#EFF3F8; border-radius:28px; padding:60px; text-align:center;">🌐 7 hubs · 120+ countries</div>
</div>
</section>
<!-- CTA before footer -->
<section style="background: #10172b; color: white; text-align: center; padding: 80px 0;">
<div class="container"><h2 style="font-size:2.2rem; margin-bottom:20px;">Ready to turn ideas into revenue?</h2><p style="max-width:550px; margin:12px auto 0; opacity:0.8;">Zero upfront cost. Start your print-on-demand brand today</p><a href="#" class="btn-primary" style="margin-top:24px; background:white; color:#10172b;">Start free trial →</a></div>
</section>
</main>
<!-- ==================== 3. FOOTER SECTION (可单独保存为 footer.html) ==================== -->
<footer style="background-color: #0a0f1c; color: #a0aec0; padding: 64px 0 32px; border-top: 1px solid rgba(255,255,255,0.08);">
<div class="container">
<!-- Footer main grid (4 columns) -->
<div style="display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 48px; margin-bottom: 48px;">
<!-- Column 1: Brand -->
<div>
<div style="display: flex; align-items: center; gap: 10px; margin-bottom: 16px;">
<div style="background: #1a5cff; width: 36px; height: 36px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: white; font-weight: 700;">G</div>
<div style="font-size: 1.6rem; font-weight: 700; color: white;">Global<span style="color:#1a5cff;">Print</span></div>
</div>
<p style="font-size: 0.9rem; line-height: 1.5; color: #8a99b0;">Empowering creators with sustainable print-on-demand and global fulfillment. Zero inventory, infinite creativity.</p>
<div style="display: flex; gap: 16px; margin-top: 24px;">
<a href="#" style="color: #a0aec0; text-decoration: none; font-size:1.2rem;">𝕏</a>
<a href="#" style="color: #a0aec0; text-decoration: none; font-size:1.2rem;">📷</a>
<a href="#" style="color: #a0aec0; text-decoration: none; font-size:1.2rem;">🔗</a>
<a href="#" style="color: #a0aec0; text-decoration: none; font-size:1.2rem;">▶</a>
</div>
</div>
<!-- Column 2: Products -->
<div>
<h4 style="color: white; font-weight: 600; margin-bottom: 20px;">Products</h4>
<ul style="list-style: none;">
<li style="margin-bottom: 12px;"><a href="#" style="color: #a0aec0; text-decoration: none;">Apparel</a></li>
<li style="margin-bottom: 12px;"><a href="#" style="color: #a0aec0; text-decoration: none;">Accessories</a></li>
<li style="margin-bottom: 12px;"><a href="#" style="color: #a0aec0; text-decoration: none;">Home & Living</a></li>
<li style="margin-bottom: 12px;"><a href="#" style="color: #a0aec0; text-decoration: none;">Wall Art</a></li>
<li style="margin-bottom: 12px;"><a href="#" style="color: #a0aec0; text-decoration: none;">Bulk pricing</a></li>
</ul>
</div>
<!-- Column 3: Resources -->
<div>
<h4 style="color: white; font-weight: 600; margin-bottom: 20px;">Resources</h4>
<ul style="list-style: none;">
<li style="margin-bottom: 12px;"><a href="#" style="color: #a0aec0; text-decoration: none;">Help center</a></li>
<li style="margin-bottom: 12px;"><a href="#" style="color: #a0aec0; text-decoration: none;">Printing guide</a></li>
<li style="margin-bottom: 12px;"><a href="#" style="color: #a0aec0; text-decoration: none;">API documentation</a></li>
<li style="margin-bottom: 12px;"><a href="#" style="color: #a0aec0; text-decoration: none;">Mockup generator</a></li>
<li style="margin-bottom: 12px;"><a href="#" style="color: #a0aec0; text-decoration: none;">Eco materials</a></li>
</ul>
</div>
<!-- Column 4: Newsletter + Contact -->
<div>
<h4 style="color: white; font-weight: 600; margin-bottom: 20px;">Stay updated</h4>
<p style="font-size:0.85rem; margin-bottom:12px;">Get the latest on new products & creative tips.</p>
<div style="display: flex; gap: 8px; flex-wrap: wrap;">
<input type="email" placeholder="Your email address" style="flex:1; padding:10px 16px; border-radius:40px; border:1px solid #2d3748; background:#1a202c; color:white;">
<button style="background:#1a5cff; border:none; padding:10px 20px; border-radius:40px; color:white; cursor:pointer;">Subscribe</button>
</div>
<div style="margin-top: 24px;">
<h4 style="color: white; font-weight: 600; margin-bottom: 12px;">Contact</h4>
<p style="font-size:0.85rem;">hello@globalprint.com</p>
<p style="font-size:0.85rem;">+1 (888) 432-1234</p>
</div>
</div>
</div>
<!-- Bottom bar -->
<div style="display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.08); font-size: 0.8rem;">
<div>© 2026 GlobalPrint, Inc. All rights reserved.</div>
<div style="display: flex; gap: 24px;">
<a href="#" style="color: #a0aec0; text-decoration: none;">Privacy</a>
<a href="#" style="color: #a0aec0; text-decoration: none;">Terms</a>
<a href="#" style="color: #a0aec0; text-decoration: none;">Cookie settings</a>
<a href="#" style="color: #a0aec0; text-decoration: none;">Accessibility</a>
</div>
</div>
</div>
</footer>
<!-- Carousel JavaScript (only for main content) -->
<script>
const track = document.getElementById('carouselTrack');
const slides = Array.from(document.querySelectorAll('#carouselTrack > div'));
const prevBtn = document.getElementById('prevBtn');
const nextBtn = document.getElementById('nextBtn');
const dotsContainer = document.getElementById('dotsContainer');
let currentIndex = 0;
const totalSlides = slides.length;
let autoInterval;
function createDots() {
dotsContainer.innerHTML = '';
for (let i = 0; i < totalSlides; i++) {
const dot = document.createElement('div');
dot.style.width = '10px';
dot.style.height = '10px';
dot.style.background = '#cbd5e1';
dot.style.borderRadius = '20px';
dot.style.cursor = 'pointer';
if (i === currentIndex) {
dot.style.width = '28px';
dot.style.background = '#1a5cff';
}
dot.addEventListener('click', () => goToSlide(i));
dotsContainer.appendChild(dot);
}
}
function updateDots() {
const dots = document.querySelectorAll('#dotsContainer div');
dots.forEach((dot, idx) => {
if (idx === currentIndex) {
dot.style.width = '28px';
dot.style.background = '#1a5cff';
} else {
dot.style.width = '10px';
dot.style.background = '#cbd5e1';
}
});
}
function goToSlide(index) {
if (index < 0) index = totalSlides - 1;
if (index >= totalSlides) index = 0;
currentIndex = index;
track.style.transform = `translateX(-${currentIndex * 100}%)`;
updateDots();
resetAutoPlay();
}
function nextSlide() { goToSlide(currentIndex + 1); }
function prevSlide() { goToSlide(currentIndex - 1); }
function startAutoPlay() { autoInterval = setInterval(nextSlide, 5000); }
function resetAutoPlay() { if (autoInterval) clearInterval(autoInterval); startAutoPlay(); }
prevBtn.addEventListener('click', prevSlide);
nextBtn.addEventListener('click', nextSlide);
createDots();
goToSlide(0);
startAutoPlay();
const carouselContainer = document.querySelector('#carouselTrack').parentElement;
carouselContainer.addEventListener('mouseenter', () => clearInterval(autoInterval));
carouselContainer.addEventListener('mouseleave', startAutoPlay);
</script>
</body>
</html>