<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>HELLO FURNITURE | Modern Craftsmanship</title>
<!-- Google Fonts for Modern Scandinavian Typography -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap" rel="stylesheet">
<style>
:root {
--bg-primary: #f9f8f6;
--bg-surface: #ffffff;
--text-main: #1c1c1c;
--text-muted: #666666;
--accent-clay: #a35d4d;
--accent-sage: #8a9a86;
--accent-navy: #2b3a4a;
--border-color: #e5e3df;
--font-sans: 'Plus Jakarta Sans', sans-serif;
--font-serif: 'Playfair Display', serif;
--transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: var(--font-sans);
background-color: var(--bg-primary);
color: var(--text-main);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
}
/* Header Navigation */
header {
position: sticky;
top: 0;
z-index: 100;
background: rgba(249, 248, 246, 0.9);
backdrop-filter: blur(10px);
border-bottom: 1px solid var(--border-color);
padding: 1.25rem 2rem;
display: flex;
justify-content: space-between;
align-items: center;
}
.brand {
font-family: var(--font-sans);
font-size: 1.25rem;
font-weight: 700;
letter-spacing: 0.15em;
text-transform: uppercase;
color: var(--text-main);
text-decoration: none;
}
nav ul {
display: flex;
list-style: none;
gap: 2rem;
}
nav a {
text-decoration: none;
color: var(--text-main);
font-size: 0.9rem;
font-weight: 500;
letter-spacing: 0.05em;
transition: var(--transition);
}
nav a:hover {
color: var(--accent-clay);
}
/* Hero Section */
.hero {
padding: 6rem 2rem;
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: center;
}
.hero-content h1 {
font-family: var(--font-serif);
font-size: 3.5rem;
font-weight: 400;
line-height: 1.15;
margin-bottom: 1.5rem;
}
.hero-content p {
color: var(--text-muted);
font-size: 1.1rem;
margin-bottom: 2rem;
max-width: 480px;
}
.btn {
display: inline-block;
padding: 1rem 2.5rem;
background-color: var(--text-main);
color: var(--bg-surface);
text-decoration: none;
font-size: 0.85rem;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
border: 1px solid var(--text-main);
transition: var(--transition);
cursor: pointer;
}
.btn:hover {
background-color: transparent;
color: var(--text-main);
}
/* Vector Headboard Visualizer */
.hero-preview {
background: var(--bg-surface);
border: 1px solid var(--border-color);
padding: 3rem;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-height: 400px;
position: relative;
}
.headboard-svg {
width: 100%;
max-width: 320px;
height: auto;
filter: drop-shadow(0 15px 25px rgba(0,0,0,0.06));
transition: var(--transition);
}
/* Section Styling */
section {
max-width: 1200px;
margin: 6rem auto;
padding: 0 2rem;
}
.section-title {
font-family: var(--font-serif);
font-size: 2.25rem;
font-weight: 400;
margin-bottom: 1rem;
text-align: center;
}
.section-subtitle {
text-align: center;
color: var(--text-muted);
margin-bottom: 3rem;
font-size: 1rem;
}
/* Grid Layouts */
.grid-4 {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 2rem;
}
.grid-2 {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
gap: 3rem;
}
/* Interactive Cards */
.card {
background: var(--bg-surface);
border: 1px solid var(--border-color);
padding: 2rem;
text-align: center;
transition: var(--transition);
}
.card:hover {
transform: translateY(-4px);
box-shadow: 0 10px 30px rgba(0,0,0,0.04);
}
.card-icon {
margin-bottom: 1.5rem;
display: flex;
justify-content: center;
}
.card h3 {
font-size: 1.1rem;
font-weight: 600;
margin-bottom: 0.5rem;
}
.card p {
color: var(--text-muted);
font-size: 0.9rem;
}
/* Configurator Area */
.configurator {
background: var(--bg-surface);
border: 1px solid var(--border-color);
padding: 3rem;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: center;
}
.controls-group {
margin-bottom: 2rem;
}
.controls-group label {
display: block;
font-size: 0.8rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
margin-bottom: 1rem;
color: var(--text-muted);
}
.option-buttons {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
}
.opt-btn {
padding: 0.6rem 1.2rem;
border: 1px solid var(--border-color);
background: var(--bg-primary);
color: var(--text-main);
font-size: 0.85rem;
font-weight: 500;
cursor: pointer;
transition: var(--transition);
}
.opt-btn.active, .opt-btn:hover {
background: var(--text-main);
color: var(--bg-surface);
border-color: var(--text-main);
}
/* Features List */
.feature-list {
list-style: none;
}
.feature-item {
padding: 1.25rem 0;
border-bottom: 1px solid var(--border-color);
display: flex;
justify-content: space-between;
align-items: center;
}
.feature-item:last-child {
border-bottom: none;
}
.feature-number {
font-family: var(--font-serif);
font-style: italic;
color: var(--accent-clay);
margin-right: 1rem;
}
/* Footer */
footer {
border-top: 1px solid var(--border-color);
padding: 4rem 2rem;
text-align: center;
color: var(--text-muted);
font-size: 0.85rem;
background: var(--bg-surface);
}
@media (max-width: 768px) {
.hero, .configurator {
grid-template-columns: 1fr;
gap: 2rem;
}
nav ul {
display: none;
}
}
</style>
</head>
<body>
<!-- Header -->
<header>
<a href="#" class="brand">Hello Furniture</a>
<nav>
<ul>
<li><a href="#shapes">Beds & Shapes</a></li>
<li><a href="#fabrics">Fabric Catalogue</a></li>
<li><a href="#sets">Bedroom Sets</a></li>
<li><a href="#kids">Kids Collection</a></li>
</ul>
</nav>
</header>
<!-- Hero Section -->
<section class="hero">
<div class="hero-content">
<h1>Custom Upholstered Beds & Tailored Living</h1>
<p>Handcrafted precision featuring cut-to-shape MDF frames, high-density padding, and piping finishes. Designed to bring tailored Scandinavian comfort into your home.</p>
<a href="#configurator" class="btn">Configure Your Bed</a>
</div>
<div class="hero-preview">
<svg class="headboard-svg" viewBox="0 0 300 200" id="hero-svg">
<path d="M 30,170 L 30,90 Q 30,50 150,30 Q 270,50 270,90 L 270,170 Z" fill="#e2d2c3" stroke="#2b3a4a" stroke-width="4"/>
<!-- Inner piping detailing -->
<path d="M 38,162 L 38,92 Q 38,56 150,38 Q 262,56 262,92 L 262,162" fill="none" stroke="#2b3a4a" stroke-width="2" stroke-dasharray="4,4"/>
</svg>
<span style="margin-top: 1.5rem; font-size: 0.85rem; color: var(--text-muted); letter-spacing: 0.05em;">THE DAISY HEADBOARD IN COZY TOWNHOUSE</span>
</div>
</section>
<!-- Craftsmanship / Process -->
<section>
<h2 class="section-title">The Art of Fabrication</h2>
<p class="section-subtitle">Every piece is built to order using high-grade materials and artisan upholstery techniques.</p>
<div class="grid-4">
<div class="card">
<div class="card-icon">
<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18"/><path d="M9 21V9"/></svg>
</div>
<h3>1. Precision Frame</h3>
<p>A durable wooden/MDF frame is precisely cut into custom shapes and constructed in layered panels.</p>
</div>
<div class="card">
<div class="card-icon">
<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="4" y="4" width="16" height="16" rx="8"/><path d="M12 4v16"/><path d="M4 12h16"/></svg>
</div>
<h3>2. Foam Padding</h3>
<p>Each structural layer is padded with dense foam to create a soft, raised contour profile.</p>
</div>
<div class="card">
<div class="card-icon">
<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"/><line x1="7" y1="7" x2="7.01" y2="7"/></svg>
</div>
<h3>3. Fine Upholstery</h3>
<p>Selected premium fabrics are hand-upholstered securely over the contoured layers.</p>
</div>
<div class="card">
<div class="card-icon">
<svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>
</div>
<h3>4. Piping Outline</h3>
<p>Completed with refined piping along the outer edges to establish a clean, architectured outline[cite: 1].</p>
</div>
</div>
</section>
<!-- Interactive Headboard Configurator -->
<section id="configurator">
<h2 class="section-title">Design Your Headboard</h2>
<p class="section-subtitle">Select your preferred silhouette, size, and curated fabric category[cite: 1].</p>
<div class="configurator">
<div class="visualizer-display" style="text-align: center;">
<svg id="interactive-svg" viewBox="0 0 300 200" style="width: 100%; max-width: 300px; height: auto;">
<path id="svg-headboard-shape" d="M 30,170 L 30,90 Q 30,50 150,30 Q 270,50 270,90 L 270,170 Z" fill="#e2d2c3" stroke="#1c1c1c" stroke-width="3"/>
<path id="svg-headboard-piping" d="M 38,162 L 38,92 Q 38,56 150,38 Q 262,56 262,92 L 262,162" fill="none" stroke="#1c1c1c" stroke-width="1.5" stroke-dasharray="3,3"/>
</svg>
<div id="summary-text" style="margin-top: 1rem; font-weight: 600; font-size: 0.9rem;">
Daisy Silhouette • Queen Size (5 FT) • Cozy Townhouse
</div>
</div>
<div class="controls">
<!-- Shapes -->
<div class="controls-group">
<label>1. Select Shape[cite: 1]</label>
<div class="option-buttons" id="shape-options">
<button class="opt-btn active" data-shape="daisy">Daisy</button>
<button class="opt-btn" data-shape="rose">Rose</button>
<button class="opt-btn" data-shape="lily">Lily</button>
<button class="opt-btn" data-shape="willow">Willow</button>
</div>
</div>
<!-- Sizes -->
<div class="controls-group">
<label>2. Select Size[cite: 1]</label>
<div class="option-buttons" id="size-options">
<button class="opt-btn" data-size="Single (3 FT)">Single (3 FT)</button>
<button class="opt-btn" data-size="Double (4 FT)">Double (4 FT)</button>
<button class="opt-btn active" data-size="Queen (5 FT)">Queen (5 FT)</button>
<button class="opt-btn" data-size="King (6 FT)">King (6 FT)</button>
<button class="opt-btn" data-size="Super King (7 FT)">Super King (7 FT)</button>
</div>
</div>
<!-- Fabric Themes -->
<div class="controls-group">
<label>3. Select Fabric Theme[cite: 1]</label>
<div class="option-buttons" id="fabric-options">
<button class="opt-btn active" data-color="#e2d2c3" data-theme="Cozy Townhouse">Cozy Townhouse</button>
<button class="opt-btn" data-color="#8a9a86" data-theme="Cottage Retreat">Cottage Retreat</button>
<button class="opt-btn" data-color="#d9b4b4" data-theme="Kids Corner">Kids Corner</button>
<button class="opt-btn" data-color="#2b3a4a" data-theme="Stripe Lovers">Stripe Lovers</button>
</div>
</div>
</div>
</div>
</section>
<!-- Complete Lifestyle Sets -->
<section id="sets">
<h2 class="section-title">Coordinated Bedroom Sets</h2>
<p class="section-subtitle">Bed and accent chair pairings created for harmonious interior aesthetics[cite: 1].</p>
<div class="grid-2">
<div>
<ul class="feature-list">
<li class="feature-item">
<div>
<strong>Coordinated Aesthetic[cite: 1]</strong>
<p style="color: var(--text-muted); font-size: 0.85rem;">Eliminates guesswork with designer-matched headboard and chair combinations[cite: 1].</p>
</div>
<span class="feature-number">01</span>
</li>
<li class="feature-item">
<div>
<strong>Functional Seating Area[cite: 1]</strong>
<p style="color: var(--text-muted); font-size: 0.85rem;">Adds practical utility for dressing, reading, or relaxing in the bedroom space[cite: 1].</p>
</div>
<span class="feature-number">02</span>
</li>
<li class="feature-item">
<div>
<strong>Turnkey Buying Experience[cite: 1]</strong>
<p style="color: var(--text-muted); font-size: 0.85rem;">Reduces decision fatigue with unified, ready-made design solutions[cite: 1].</p>
</div>
<span class="feature-number">03</span>
</li>
</ul>
</div>
<div style="background: var(--bg-surface); border: 1px solid var(--border-color); padding: 2.5rem; text-align: center;">
<svg viewBox="0 0 300 180" style="width: 80%; height: auto; margin-bottom: 1rem;">
<!-- Bed representation -->
<rect x="20" y="100" width="160" height="60" fill="#e5e3df" stroke="#1c1c1c" stroke-width="2"/>
<path d="M 20,100 L 20,50 Q 20,30 100,20 Q 180,30 180,50 L 180,100 Z" fill="#2b3a4a" stroke="#1c1c1c" stroke-width="2"/>
<!-- Chair representation -->
<rect x="210" y="110" width="60" height="50" fill="#e5e3df" stroke="#1c1c1c" stroke-width="2"/>
<path d="M 210,110 C 210,80 270,80 270,110 Z" fill="#2b3a4a" stroke="#1c1c1c" stroke-width="2"/>
</svg>
<h3 style="font-size: 1.1rem; margin-bottom: 0.5rem;">Fabricated Accent Chairs</h3>
<p style="color: var(--text-muted); font-size: 0.85rem;">Available in Single-Seater Accent Chairs and Spacious Lounge Chairs/Sofas[cite: 1].</p>
</div>
</div>
</section>
<!-- Footer -->
<footer>
<p>© 2026 HELLO FURNITURE. All rights reserved[cite: 1]. Inspired by Scandinavian minimalism and custom artisanal craftsmanship[cite: 1].</p>
</footer>
<!-- Interactivity Script -->
<script>
// SVGs paths for different headboard silhouettes
const shapes = {
daisy: {
shape: "M 30,170 L 30,90 Q 30,50 150,30 Q 270,50 270,90 L 270,170 Z",
piping: "M 38,162 L 38,92 Q 38,56 150,38 Q 262,56 262,92 L 262,162"
},
rose: {
shape: "M 30,170 L 30,100 C 30,60 90,80 90,50 C 90,20 210,20 210,50 C 210,80 270,60 270,100 L 270,170 Z",
piping: "M 38,162 L 38,102 C 38,66 94,84 94,54 C 94,28 206,28 206,54 C 206,84 262,66 262,102 L 262,162"
},
lily: {
shape: "M 30,170 L 30,80 Q 150,20 270,80 L 270,170 Z",
piping: "M 38,162 L 38,84 Q 150,28 262,84 L 262,162"
},
willow: {
shape: "M 30,170 L 30,60 L 270,60 L 270,170 Z",
piping: "M 38,162 L 38,68 L 262,68 L 262,162"
}
};
let currentShape = 'daisy';
let currentSize = 'Queen (5 FT)';
let currentTheme = 'Cozy Townhouse';
let currentColor = '#e2d2c3';
const pathShape = document.getElementById('svg-headboard-shape');
const pathPiping = document.getElementById('svg-headboard-piping');
const summaryText = document.getElementById('summary-text');
function updateVisualizer() {
pathShape.setAttribute('d', shapes[currentShape].shape);
pathShape.setAttribute('fill', currentColor);
pathPiping.setAttribute('d', shapes[currentShape].piping);
const capitalizedShape = currentShape.charAt(0).toUpperCase() + currentShape.slice(1);
summaryText.textContent = `${capitalizedShape} Silhouette • ${currentSize} • ${currentTheme}`;
}
// Attach click listeners
document.querySelectorAll('#shape-options .opt-btn').forEach(btn => {
btn.addEventListener('click', (e) => {
document.querySelectorAll('#shape-options .opt-btn').forEach(b => b.classList.remove('active'));
e.target.classList.add('active');
currentShape = e.target.getAttribute('data-shape');
updateVisualizer();
});
});
document.querySelectorAll('#size-options .opt-btn').forEach(btn => {
btn.addEventListener('click', (e) => {
document.querySelectorAll('#size-options .opt-btn').forEach(b => b.classList.remove('active'));
e.target.classList.add('active');
currentSize = e.target.getAttribute('data-size');
updateVisualizer();
});
});
document.querySelectorAll('#fabric-options .opt-btn').forEach(btn => {
btn.addEventListener('click', (e) => {
document.querySelectorAll('#fabric-options .opt-btn').forEach(b => b.classList.remove('active'));
e.target.classList.add('active');
currentColor = e.target.getAttribute('data-color');
currentTheme = e.target.getAttribute('data-theme');
updateVisualizer();
});
});
</script>
</body>
</html>