:root { --primary: #2b523c; --primary-light: #3a6b50; --accent: #d4a853; --accent-hover: #b8913e; --dark: #1a1c20; --gray-900: #212529; --gray-700: #495057; --gray-500: #6c757d; --gray-300: #dee2e6; --gray-100: #f8f9fa; --white: #ffffff; --shadow-sm: 0 2px 8px rgba(0,0,0,0.06); --shadow-md: 0 8px 24px rgba(0,0,0,0.08); --shadow-lg: 0 16px 48px rgba(0,0,0,0.12); --radius: 12px; --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1); --font-sans: 'Inter', system-ui, -apple-system, sans-serif; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; font-size: 16px; } body { font-family: var(--font-sans); color: var(--gray-900); background: var(--gray-100); line-height: 1.6; -webkit-font-smoothing: antialiased; } a { text-decoration: none; color: inherit; transition: var(--transition); } ul { list-style: none; } img { max-width: 100%; display: block; } button { cursor: pointer; border: none; background: none; font-family: inherit; } .container { max-width: 1280px; margin: 0 auto; padding: 0 24px; } .btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 28px; border-radius: 8px; font-weight: 600; font-size: 0.95rem; transition: var(--transition); gap: 8px; } .btn-primary { background: var(--primary); color: var(--white); } .btn-primary:hover { background: var(--primary-light); transform: translateY(-2px); box-shadow: var(--shadow-md); } .btn-accent { background: var(--accent); color: var(--white); } .btn-accent:hover { background: var(--accent-hover); transform: translateY(-2px); box-shadow: var(--shadow-md); } .btn-outline { border: 2px solid var(--gray-300); color: var(--gray-700); } .btn-outline:hover { border-color: var(--primary); color: var(--primary); } .section-label { text-transform: uppercase; letter-spacing: 2px; font-size: 0.75rem; font-weight: 700; color: var(--accent); margin-bottom: 8px; } .section-title { font-size: clamp(1.8rem, 3.5vw, 2.5rem); font-weight: 800; line-height: 1.2; margin-bottom: 16px; color: var(--dark); } .section-subtitle { font-size: 1.05rem; color: var(--gray-700); max-width: 640px; } .text-center { text-align: center; } .mx-auto { margin-left: auto; margin-right: auto; } /* HEADER */ .site-header { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; background: rgba(255,255,255,0.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--gray-300); transition: var(--transition); } .site-header.scrolled { box-shadow: var(--shadow-sm); } .header-inner { display: flex; justify-content: space-between; align-items: center; height: 72px; } .logo { display: flex; align-items: center; gap: 10px; font-size: 1.4rem; font-weight: 800; color: var(--primary); } .logo-icon { width: 38px; height: 38px; background: var(--primary); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--white); font-size: 1.2rem; } .nav-main { display: flex; gap: 32px; align-items: center; } .nav-main a { font-weight: 500; font-size: 0.95rem; color: var(--gray-700); position: relative; } .nav-main a::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px; background: var(--primary); transition: var(--transition); } .nav-main a:hover { color: var(--primary); } .nav-main a:hover::after { width: 100%; } .header-actions { display: flex; align-items: center; gap: 16px; } .mobile-toggle { display: none; flex-direction: column; gap: 5px; padding: 8px; } .mobile-toggle span { width: 24px; height: 2px; background: var(--gray-900); transition: var(--transition); border-radius: 2px; } /* HERO */ .hero { padding: 140px 0 100px; background: linear-gradient(135deg, #f0f4f2 0%, #e8eee9 100%); position: relative; overflow: hidden; } .hero::before { content: ''; position: absolute; top: -20%; right: -10%; width: 60%; height: 120%; background: radial-gradient(circle, rgba(43,82,60,0.06) 0%, transparent 70%); } .hero .container { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 60px; align-items: center; position: relative; z-index: 1; } .hero-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(43,82,60,0.08); color: var(--primary); padding: 8px 16px; border-radius: 50px; font-size: 0.85rem; font-weight: 600; margin-bottom: 24px; } .hero h1 { font-size: clamp(2.2rem, 4.5vw, 3.4rem); font-weight: 900; line-height: 1.1; margin-bottom: 20px; color: var(--dark); } .hero h1 span { color: var(--primary); } .hero p { font-size: 1.1rem; color: var(--gray-700); max-width: 520px; margin-bottom: 36px; } .hero-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 48px; } .hero-stats { display: flex; gap: 40px; padding-top: 32px; border-top: 1px solid var(--gray-300); } .hero-stat h3 { font-size: 1.6rem; font-weight: 800; color: var(--primary); } .hero-stat p { font-size: 0.85rem; color: var(--gray-500); margin-bottom: 0; } .hero-visual { display: flex; justify-content: center; align-items: center; position: relative; } .hero-card { background: var(--white); border-radius: 20px; padding: 40px; box-shadow: var(--shadow-lg); text-align: center; transform: rotate(-3deg); transition: var(--transition); } .hero-card:hover { transform: rotate(0deg) translateY(-8px); } .hero-card-icon { font-size: 5rem; margin-bottom: 16px; } .hero-card h3 { font-size: 1.3rem; font-weight: 700; margin-bottom: 8px; } .hero-card p { font-size: 0.95rem; color: var(--gray-700); } /* ABOUT */ .about { padding: 100px 0; background: var(--white); } .about .container { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; } .about-visual { background: var(--gray-100); border-radius: 24px; height: 460px; display: flex; align-items: center; justify-content: center; font-size: 6rem; position: relative; overflow: hidden; } .about-visual::after { content: ''; position: absolute; bottom: -30px; right: -30px; width: 180px; height: 180px; border-radius: 50%; background: rgba(43,82,60,0.08); } .about-content .section-label, .about-content .section-title { text-align: left; } .about-content .section-subtitle { margin-bottom: 28px; } .values-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 32px; } .value-item { display: flex; align-items: flex-start; gap: 12px; } .value-icon { width: 36px; height: 36px; min-width: 36px; border-radius: 8px; background: rgba(43,82,60,0.08); display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 0.9rem; margin-top: 2px; } .value-item h4 { font-size: 1rem; font-weight: 700; margin-bottom: 4px; } .value-item p { font-size: 0.88rem; color: var(--gray-700); } /* PRODUCTS */ .products { padding: 100px 0; background: var(--gray-100); } .products-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 28px; margin-top: 40px; } .product-card { background: var(--white); border-radius: var(--radius); overflow: hidden; transition: var(--transition); box-shadow: var(--shadow-sm); } .product-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); } .product-thumb { height: 200px; display: flex; align-items: center; justify-content: center; font-size: 4rem; } .product-thumb.p1 { background: linear-gradient(135deg, #e8f0e8, #d4e4d4); } .product-thumb.p2 { background: linear-gradient(135deg, #f0e8d4, #e4d8c4); } .product-thumb.p3 { background: linear-gradient(135deg, #d4e8f0, #c4d8e4); } .product-thumb.p4 { background: linear-gradient(135deg, #f0d4d4, #e4c4c4); } .product-body { padding: 24px; } .product-tag { display: inline-block; padding: 4px 12px; border-radius: 50px; font-size: 0.75rem; font-weight: 600; margin-bottom: 12px; background: rgba(43,82,60,0.08); color: var(--primary); } .product-body h3 { font-size: 1.15rem; font-weight: 700; margin-bottom: 8px; } .product-body p { font-size: 0.9rem; color: var(--gray-700); margin-bottom: 20px; } .product-footer { display: flex; justify-content: space-between; align-items: center; } .product-price { font-size: 1.1rem; font-weight: 800; color: var(--primary); } .product-price small { font-size: 0.8rem; color: var(--gray-500); font-weight: 500; } /* SUSTAINABILITY */ .sustainability { padding: 100px 0; background: var(--primary); color: var(--white); } .sustainability .section-title { color: var(--white); } .sustainability .section-subtitle { color: rgba(255,255,255,0.7); } .sustain-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; margin-top: 40px; } .sustain-card { background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--radius); padding: 28px; transition: var(--transition); } .sustain-card:hover { background: rgba(255,255,255,0.14); transform: translateY(-4px); } .sustain-icon { font-size: 1.8rem; margin-bottom: 16px; } .sustain-card h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 8px; } .sustain-card p { font-size: 0.9rem; color: rgba(255,255,255,0.7); } /* BLOG */ .blog { padding: 100px 0; background: var(--white); } .blog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 28px; margin-top: 40px; } .blog-card { background: var(--gray-100); border-radius: var(--radius); overflow: hidden; transition: var(--transition); } .blog-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); } .blog-thumb { height: 180px; display: flex; align-items: center; justify-content: center; font-size: 3rem; background: linear-gradient(135deg, #e8eee9, #dce5de); } .blog-body { padding: 24px; } .blog-meta { font-size: 0.8rem; color: var(--gray-500); margin-bottom: 8px; } .blog-body h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 8px; line-height: 1.4; } .blog-body p { font-size: 0.9rem; color: var(--gray-700); } .read-more { display: inline-flex; align-items: center; gap: 6px; font-size: 0.88rem; font-weight: 600; color: var(--primary); margin-top: 12px; } .read-more:hover { gap: 10px; } /* CONTACT */ .contact { padding: 100px 0; background: var(--gray-100); } .contact .container { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: flex-start; } .contact-info h2 { font-size: 2rem; font-weight: 800; margin-bottom: 16px; } .contact-info p { font-size: 1rem; color: var(--gray-700); margin-bottom: 32px; } .contact-details { display: flex; flex-direction: column; gap: 20px; } .contact-item { display: flex; align-items: flex-start; gap: 14px; } .contact-icon { width: 44px; height: 44px; border-radius: 10px; background: rgba(43,82,60,0.08); display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 1.1rem; } .contact-item h4 { font-size: 0.95rem; font-weight: 700; margin-bottom: 2px; } .contact-item p { font-size: 0.9rem; color: var(--gray-700); margin-bottom: 0; } .contact-form { background: var(--white); border-radius: var(--radius); padding: 36px; box-shadow: var(--shadow-md); } .form-group { margin-bottom: 20px; } .form-group label { display: block; font-size: 0.88rem; font-weight: 600; margin-bottom: 6px; color: var(--gray-900); } .form-group input, .form-group select, .form-group textarea { width: 100%; padding: 12px 16px; border: 1px solid var(--gray-300); border-radius: 8px; font-size: 0.95rem; font-family: inherit; transition: var(--transition); background: var(--gray-100); } .form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(43,82,60,0.1); } .form-group textarea { resize: vertical; min-height: 120px; } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } /* FOOTER */ .site-footer { background: var(--dark); color: rgba(255,255,255,0.7); padding: 80px 0 0; } .footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 60px; } .footer-brand .logo { color: var(--white); margin-bottom: 16px; } .footer-brand p { font-size: 0.92rem; line-height: 1.7; max-width: 320px; margin-bottom: 24px; } .social-links { display: flex; gap: 12px; } .social-links a { width: 40px; height: 40px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.15); display: flex; align-items: center; justify-content: center; transition: var(--transition); } .social-links a:hover { background: var(--accent); border-color: var(--accent); color: var(--white); } .footer h4 { color: var(--white); font-size: 0.95rem; font-weight: 700; margin-bottom: 20px; text-transform: uppercase; letter-spacing: 1px; } .footer ul li { margin-bottom: 12px; } .footer ul li a { font-size: 0.9rem; transition: var(--transition); } .footer ul li a:hover { color: var(--accent); padding-left: 4px; } .footer-bottom { border-top: 1px solid rgba(255,255,255,0.08); padding: 28px 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; font-size: 0.85rem; } .footer-legal { display: flex; gap: 24px; } .footer-legal a:hover { color: var(--accent); } /* RESPONSIVE */ @media (max-width: 992px) { .hero .container { grid-template-columns: 1fr; text-align: center; } .hero p { margin-left: auto; margin-right: auto; } .hero-actions, .hero-stats { justify-content: center; } .hero-visual { display: none; } .about .container, .contact .container { grid-template-columns: 1fr; } .about-visual { height: 320px; } .about-content .section-label, .about-content .section-title { text-align: center; } .about-content .section-subtitle { margin-left: auto; margin-right: auto; } .values-grid { grid-template-columns: 1fr; } .footer-grid { grid-template-columns: 1fr 1fr; } } @media (max-width: 768px) { .nav-main { display: none; position: absolute; top: 72px; left: 0; width: 100%; background: var(--white); flex-direction: column; padding: 24px; gap: 20px; box-shadow: var(--shadow-md); } .nav-main.active { display: flex; } .mobile-toggle { display: flex; } .hero-stats { flex-direction: column; gap: 20px; align-items: center; } .form-row { grid-template-columns: 1fr; } .footer-grid { grid-template-columns: 1fr; } .footer-bottom { justify-content: center; text-align: center; } .footer-legal { justify-content: center; } } /* ANIMATIONS */ .fade-up { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; } .fade-up.visible { opacity: 1; transform: translateY(0); }
🌱 ISO 9001 Certified & Eco-Verified

Wholesale Drinkware for Modern Businesses

Cup Source delivers premium paper cups, cold drinkware, lids, and custom packaging to cafΓ©s, restaurants, and retailers across 30+ countries. Bulk pricing, reliable logistics, sustainable materials.

12M+

Units Shipped Monthly

2,400+

Active B2B Clients

48hr

Global Fulfillment

πŸ“¦

Bulk Orders, Simplified

Custom packaging, private labeling, and dedicated account management for your supply chain.

🏭

Supplying Quality Since 2014

We bridge the gap between manufacturing excellence and retail demand. Cup Source partners with certified factories and logistics networks to ensure your business never runs out of essential drinkware.

βœ“

FDA & LFGB Compliant

Food-grade materials tested for safety.

βœ“

Private Label Ready

Full-color printing & custom dimensions.

βœ“

Scalable Logistics

Warehouse networks across NA, EU & APAC.

βœ“

Dedicated Support

Account managers for every tier.

Engineered for Performance

From hot coffee cups to iced tea containers, every product is designed for durability, insulation, and brand visibility.

β˜•
Hot Beverage

Double-Wall Paper Cups

8oz–20oz capacity with PE coating. Superior heat retention and leak-resistant base.

🧊
Cold Beverage

Clear PET Cold Cups

Crystal clarity, condensation-resistant. Ideal for smoothies, iced coffee, and juices.

πŸ₯€
Accessories

Lids, Sleeves & Straws

Flat, dome, and travel lids. Cardboard sleeves and compostable straw options.

🌿
Eco Line

Bagasse & PLA Cups

Plant-based alternatives. Fully compostable and certified for commercial digestion.

Responsible by Design

We're committed to reducing single-use plastic waste through material innovation, supply chain transparency, and certified recycling programs.

♻️

Compostable Materials

Biodegradable PLA linings and bagasse fibers that break down in 90 days.

🌍

Carbon-Neutral Shipping

Offset logistics emissions through verified reforestation and renewable energy credits.

πŸ“œ

Certified Compliance

FSC paper sourcing, BPI compostability, and FDA/LFGB food safety standards.

πŸ”„

Take-Back Program

Return unused stock or defective batches for recycling credit on future orders.

Industry Updates

Stay informed on packaging regulations, sustainability trends, and wholesale supply chain strategies.

πŸ“°
Oct 12, 2024 Β· Packaging Regulation

Navigating 2025 Single-Use Plastic Bans Across EU Markets

How foodservice operators can transition to compliant alternatives without disrupting service.

Read Article β†’
πŸ“Š
Sep 28, 2024 Β· Supply Chain

Optimizing Inventory: Just-in-Time Delivery for CafΓ© Chains

Strategies to reduce warehousing costs while maintaining consistent product availability.

Read Article β†’
🌱
Sep 15, 2024 Β· Sustainability

Bagasse vs. PLA: Choosing the Right Compostable Cup

A technical breakdown of materials, degradation rates, and commercial compatibility.

Read Article β†’

Start Your Order

Request a catalog, schedule a sample shipment, or speak with a wholesale specialist. We respond within 4 business hours.

πŸ“

Headquarters

412 Commerce Blvd, Suite 300
Portland, OR 97201, USA

πŸ“§

Wholesale Inquiries

orders@cupsource.com

πŸ“ž

Support Line

+1 (800) 555-CUPS
Mon–Fri: 8AM–6PM PST