Interactive Anti-Stress Bowl: Daily Calm for Your Dog
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Zénimal — Regained Calm for Your Dog</title>
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=DM+Sans:wght@300;400;500;600&display=swap" rel="stylesheet">
<style>
/* ============================================================
DESIGN TOKENS & RESET
============================================================ */
:root {
--cream: #FAF7F2;
--beige: #EDE8DF;
--sand: #D4C9B5;
--sage: #7A9B84;
--sage-dark:#5A7A63;
--charcoal: #2C2C2C;
--warm-black:#1A1714;
--muted: #7A7269;
--accent: #C8855A;
--white: #FFFFFF;
--r: 16px;
--transition: 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
font-family: 'DM Sans', sans-serif;
background: var(--cream);
color: var(--charcoal);
line-height: 1.6;
overflow-x: hidden;
}
img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* ============================================================
TYPOGRAPHY HELPERS
============================================================ */
.display {
font-family: 'Playfair Display', serif;
line-height: 1.15;
letter-spacing: -0.01em;
}
.tag {
display: inline-block;
font-size: 11px;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--sage-dark);
background: rgba(122, 155, 132, 0.12);
padding: 5px 14px;
border-radius: 100px;
margin-bottom: 18px;
}
/* ============================================================
HEADER / NAV
============================================================ */
header {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 100;
padding: 0 5vw;
height: 68px;
display: flex;
align-items: center;
justify-content: space-between;
background: rgba(250, 247, 242, 0.92);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(212, 201, 181, 0.4);
transition: box-shadow var(--transition);
}
header.scrolled { box-shadow: 0 4px 30px rgba(44,44,44,0.06); }
.logo {
font-family: 'Playfair Display', serif;
font-size: 22px;
font-weight: 700;
color: var(--warm-black);
letter-spacing: -0.02em;
text-decoration: none;
}
.logo span { color: var(--sage); }
nav { display: flex; align-items: center; gap: 32px; }
nav a {
font-size: 14px;
font-weight: 500;
color: var(--muted);
text-decoration: none;
transition: color var(--transition);
}
nav a:hover { color: var(--charcoal); }
.btn-nav {
background: var(--sage);
color: var(--white) !important;
padding: 9px 22px;
border-radius: 100px;
font-weight: 600 !important;
transition: background var(--transition), transform var(--transition) !important;
}
.btn-nav:hover {
background: var(--sage-dark) !important;
transform: translateY(-1px);
}
/* ============================================================
SECTION BASE
============================================================ */
section { padding: 90px 5vw; }
.container { max-width: 1100px; margin: 0 auto; }
.container-sm { max-width: 760px; margin: 0 auto; }
.container-xs { max-width: 580px; margin: 0 auto; }
/* ============================================================
HERO
============================================================ */
#hero {
padding-top: 140px;
padding-bottom: 0;
min-height: 100vh;
display: flex;
flex-direction: column;
background: var(--cream);
position: relative;
overflow: hidden;
}
#hero::before {
content: '';
position: absolute;
top: -120px; right: -200px;
width: 700px; height: 700px;
background: radial-gradient(circle, rgba(122,155,132,0.12) 0%, transparent 70%);
pointer-events: none;
}
.hero-inner {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
flex: 1;
}
.hero-text { position: relative; z-index: 1; }
.hero-eyebrow {
font-size: 12px;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--sage-dark);
margin-bottom: 20px;
display: flex;
align-items: center;
gap: 10px;
}
.hero-eyebrow::before {
content: '';
display: inline-block;
width: 28px; height: 2px;
background: var(--sage);
}
.hero-h1 {
font-size: clamp(38px, 4.5vw, 58px);
color: var(--warm-black);
margin-bottom: 24px;
}
.hero-h1 em {
font-style: italic;
color: var(--sage-dark);
}
.hero-sub {
font-size: 17px;
color: var(--muted);
line-height: 1.7;
margin-bottom: 36px;
max-width: 460px;
}
.hero-cta-group {
display: flex;
align-items: center;
gap: 20px;
flex-wrap: wrap;
}
.btn-primary {
display: inline-flex;
align-items: center;
gap: 10px;
background: var(--sage);
color: var(--white);
padding: 16px 32px;
border-radius: 100px;
font-size: 15px;
font-weight: 600;
text-decoration: none;
transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
box-shadow: 0 4px 20px rgba(122,155,132,0.3);
}
.btn-primary:hover {
background: var(--sage-dark);
transform: translateY(-2px);
box-shadow: 0 8px 30px rgba(122,155,132,0.4);
}
.btn-primary svg { width: 18px; height: 18px; }
.hero-trust {
font-size: 13px;
color: var(--muted);
}
.hero-trust strong { color: var(--charcoal); }
.hero-stars {
display: flex;
align-items: center;
gap: 6px;
margin-bottom: 6px;
}
.hero-stars .star { color: #E8A84C; font-size: 15px; }
.hero-image {
position: relative;
border-radius: 24px;
overflow: hidden;
aspect-ratio: 4/5;
/* REMPLACER par image principale du produit / chien zen */
background: linear-gradient(145deg, #D4C9B5 0%, #C4B89F 100%);
}
.hero-image img { border-radius: 24px; }
.hero-badge {
position: absolute;
bottom: 24px;
left: 24px;
background: var(--white);
border-radius: 14px;
padding: 14px 18px;
box-shadow: 0 8px 30px rgba(0,0,0,0.12);
display: flex;
align-items: center;
gap: 12px;
max-width: 200px;
}
.hero-badge-icon { font-size: 28px; flex-shrink: 0; }
.hero-badge-text { font-size: 12px; line-height: 1.4; }
.hero-badge-text strong { display: block; font-size: 13px; color: var(--warm-black); }
/* Image placeholder style */
.img-placeholder {
width: 100%; height: 100%;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
color: var(--muted);
letter-spacing: 0.05em;
text-align: center;
padding: 20px;
}
/* Hero bottom strip */
.hero-strip {
background: var(--warm-black);
padding: 16px 5vw;
overflow: hidden;
}
.strip-inner {
display: flex;
gap: 60px;
white-space: nowrap;
animation: marquee 20s linear infinite;
width: max-content;
}
@keyframes marquee {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}
.strip-item {
display: flex;
align-items: center;
gap: 10px;
font-size: 13px;
font-weight: 500;
color: rgba(255,255,255,0.8);
}
.strip-item svg { color: var(--sage); width: 16px; height: 16px; }
/* ============================================================
PROBLEM SECTION
============================================================ */
#problem {
background: var(--beige);
}
.problem-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
}
.problem-image {
border-radius: 20px;
overflow: hidden;
aspect-ratio: 1/1;
background: linear-gradient(135deg, #C4B89F 0%, #B8AC96 100%);
/* REMPLACER par image d'un chien anxieux / qui gratte */
}
.problem-text .tag { margin-bottom: 12px; }
.problem-h2 {
font-size: clamp(28px, 3vw, 40px);
color: var(--warm-black);
margin-bottom: 20px;
}
.problem-p {
font-size: 16px;
color: var(--muted);
line-height: 1.75;
margin-bottom: 16px;
}
.problem-list {
list-style: none;
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 24px;
}
.problem-list li {
display: flex;
align-items: flex-start;
gap: 12px;
font-size: 15px;
color: var(--charcoal);
}
.problem-list li::before {
content: '→';
color: var(--accent);
font-weight: 700;
flex-shrink: 0;
margin-top: 1px;
}
/* ============================================================
TRANSFORMATION / BENEFITS
============================================================ */
#benefits {
background: var(--cream);
text-align: center;
}
.section-header {
margin-bottom: 60px;
}
.section-h2 {
font-size: clamp(28px, 3.2vw, 42px);
color: var(--warm-black);
margin-bottom: 16px;
}
.section-sub {
font-size: 16px;
color: var(--muted);
max-width: 540px;
margin: 0 auto;
line-height: 1.7;
}
.benefits-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 28px;
}
.benefit-card {
background: var(--white);
border-radius: 20px;
padding: 36px 28px;
text-align: left;
border: 1px solid var(--beige);
transition: transform var(--transition), box-shadow var(--transition);
}
.benefit-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 40px rgba(44,44,44,0.08);
}
.benefit-icon {
width: 52px; height: 52px;
border-radius: 14px;
background: rgba(122,155,132,0.1);
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
margin-bottom: 20px;
}
.benefit-title {
font-family: 'Playfair Display', serif;
font-size: 19px;
color: var(--warm-black);
margin-bottom: 10px;
}
.benefit-desc {
font-size: 14px;
color: var(--muted);
line-height: 1.7;
}
/* ============================================================
HOW IT WORKS
============================================================ */
#how {
background: var(--warm-black);
color: var(--white);
}
#how .tag {
color: var(--sage);
background: rgba(122,155,132,0.15);
}
#how .section-h2 { color: var(--white); }
#how .section-sub { color: rgba(255,255,255,0.6); }
.how-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
margin-top: 60px;
}
.how-image {
border-radius: 20px;
overflow: hidden;
aspect-ratio: 4/5;
background: linear-gradient(145deg, #3a3733 0%, #2C2C2C 100%);
/* REMPLACER par image du bol avec produit (pâte à lécher) */
}
.steps { display: flex; flex-direction: column; gap: 32px; }
.step {
display: flex;
gap: 20px;
align-items: flex-start;
opacity: 0;
transform: translateX(30px);
transition: opacity 0.5s ease, transform 0.5s ease;
}
.step.visible { opacity: 1; transform: translateX(0); }
.step-num {
font-family: 'Playfair Display', serif;
font-size: 36px;
font-weight: 700;
color: var(--sage);
line-height: 1;
flex-shrink: 0;
width: 40px;
}
.step-title {
font-size: 17px;
font-weight: 600;
color: var(--white);
margin-bottom: 6px;
}
.step-desc {
font-size: 14px;
color: rgba(255,255,255,0.55);
line-height: 1.7;
}
/* ============================================================
SCIENCE / WHY IT WORKS
============================================================ */
#science {
background: var(--cream);
}
.science-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
}
.science-stat-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
margin-top: 36px;
}
.science-stat {
background: var(--beige);
border-radius: 16px;
padding: 24px 20px;
}
.science-stat-num {
font-family: 'Playfair Display', serif;
font-size: 38px;
font-weight: 700;
color: var(--sage-dark);
line-height: 1;
margin-bottom: 6px;
}
.science-stat-label {
font-size: 13px;
color: var(--muted);
line-height: 1.5;
}
.science-image {
border-radius: 24px;
overflow: hidden;
aspect-ratio: 3/4;
background: linear-gradient(145deg, #D4C9B5 0%, #C0B49A 100%);
/* REMPLACER par image macro du bol / léchage */
position: relative;
}
/* ============================================================
COMPARISON TABLE
============================================================ */
#comparison {
background: var(--beige);
}
.comparison-table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
border-radius: 20px;
overflow: hidden;
margin-top: 50px;
box-shadow: 0 4px 30px rgba(44,44,44,0.08);
}
.comparison-table th {
padding: 20px 28px;
font-size: 14px;
font-weight: 600;
text-align: left;
}
.comparison-table th:first-child { background: var(--beige); color: var(--muted); width: 40%; }
.comparison-table th:nth-child(2) { background: #E8E0D4; color: var(--muted); text-align: center; }
.comparison-table th:nth-child(3) {
background: var(--sage);
color: var(--white);
text-align: center;
position: relative;
}
.comparison-table td {
padding: 16px 28px;
font-size: 14px;
border-top: 1px solid rgba(0,0,0,0.05);
}
.comparison-table td:first-child { background: var(--white); color: var(--charcoal); font-weight: 500; }
.comparison-table td:nth-child(2) { background: #F4F0EA; text-align: center; }
.comparison-table td:nth-child(3) { background: rgba(122,155,132,0.07); text-align: center; }
.check { color: var(--sage-dark); font-size: 18px; }
.cross { color: #C8855A; font-size: 18px; }
/* ============================================================
TESTIMONIALS
============================================================ */
#reviews {
background: var(--cream);
}
.reviews-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-top: 50px;
}
.review-card {
background: var(--white);
border-radius: 20px;
padding: 28px;
border: 1px solid var(--beige);
transition: transform var(--transition);
}
.review-card:hover { transform: translateY(-3px); }
.review-stars { display: flex; gap: 3px; margin-bottom: 14px; }
.review-stars span { color: #E8A84C; font-size: 15px; }
.review-text {
font-size: 14px;
color: var(--charcoal);
line-height: 1.7;
margin-bottom: 20px;
font-style: italic;
}
.review-author {
display: flex;
align-items: center;
gap: 12px;
}
.review-avatar {
width: 40px; height: 40px;
border-radius: 50%;
background: var(--beige);
/* REMPLACER par vrai avatar client */
display: flex; align-items: center; justify-content: center;
font-size: 18px;
}
.review-name { font-size: 13px; font-weight: 600; color: var(--warm-black); }
.review-meta { font-size: 12px; color: var(--muted); }
.review-verified { font-size: 11px; color: var(--sage-dark); font-weight: 600; margin-left: auto; }
/* ============================================================
SOCIAL PROOF BANNER
============================================================ */
#proof-banner {
background: var(--sage);
padding: 40px 5vw;
text-align: center;
}
.proof-num {
font-family: 'Playfair Display', serif;
font-size: clamp(40px, 6vw, 72px);
font-weight: 700;
color: var(--white);
line-height: 1;
}
.proof-label {
font-size: 16px;
color: rgba(255,255,255,0.75);
margin-top: 8px;
}
.proof-grid {
display: flex;
justify-content: center;
gap: 60px;
flex-wrap: wrap;
}
.proof-item { text-align: center; }
/* ============================================================
FAQ
============================================================ */
#faq {
background: var(--cream);
}
.faq-list {
display: flex;
flex-direction: column;
gap: 14px;
margin-top: 50px;
}
.faq-item {
background: var(--white);
border-radius: 14px;
border: 1px solid var(--beige);
overflow: hidden;
}
.faq-q {
width: 100%;
background: none;
border: none;
padding: 20px 24px;
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
font-family: 'DM Sans', sans-serif;
font-size: 15px;
font-weight: 600;
color: var(--warm-black);
text-align: left;
gap: 16px;
}
.faq-chevron {
flex-shrink: 0;
width: 22px; height: 22px;
border-radius: 50%;
background: var(--beige);
display: flex; align-items: center; justify-content: center;
font-size: 12px;
transition: transform var(--transition), background var(--transition);
}
.faq-item.open .faq-chevron {
transform: rotate(180deg);
background: var(--sage);
color: var(--white);
}
.faq-a {
padding: 0 24px;
max-height: 0;
overflow: hidden;
transition: max-height 0.35s ease, padding 0.35s ease;
}
.faq-item.open .faq-a {
max-height: 300px;
padding: 0 24px 20px;
}
.faq-a p {
font-size: 14px;
color: var(--muted);
line-height: 1.75;
}
/* ============================================================
FINAL CTA
============================================================ */
#final-cta {
background: var(--warm-black);
text-align: center;
padding: 120px 5vw;
}
#final-cta .tag {
color: var(--sage);
background: rgba(122,155,132,0.15);
}
.final-h2 {
font-size: clamp(32px, 4vw, 52px);
color: var(--white);
margin-bottom: 20px;
}
.final-sub {
font-size: 17px;
color: rgba(255,255,255,0.55);
max-width: 500px;
margin: 0 auto 40px;
line-height: 1.7;
}
.btn-cta-large {
display: inline-flex;
align-items: center;
gap: 12px;
background: var(--sage);
color: var(--white);
padding: 20px 44px;
border-radius: 100px;
font-size: 17px;
font-weight: 600;
text-decoration: none;
box-shadow: 0 8px 40px rgba(122,155,132,0.35);
transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
}
.btn-cta-large:hover {
background: var(--sage-dark);
transform: translateY(-3px);
box-shadow: 0 16px 50px rgba(122,155,132,0.45);
}
.final-reassurance {
margin-top: 24px;
display: flex;
justify-content: center;
gap: 24px;
flex-wrap: wrap;
font-size: 13px;
color: rgba(255,255,255,0.45);
}
.final-reassurance span { display: flex; align-items: center; gap: 6px; }
/* ============================================================
FOOTER
============================================================ */
footer {
background: var(--warm-black);
border-top: 1px solid rgba(255,255,255,0.06);
padding: 48px 5vw 32px;
color: rgba(255,255,255,0.5);
}
.footer-inner {
max-width: 1100px;
margin: 0 auto;
display: grid;
grid-template-columns: 1.5fr 1fr 1fr 1fr;
gap: 40px;
margin-bottom: 40px;
}
.footer-brand .logo { color: var(--white); text-decoration: none; }
.footer-brand .logo span { color: var(--sage); }
.footer-brand p {
font-size: 13px;
line-height: 1.7;
margin-top: 12px;
color: rgba(255,255,255,0.4);
}
.footer-col h4 {
font-size: 12px;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
color: rgba(255,255,255,0.7);
margin-bottom: 16px;
}
.footer-col a {
display: block;
font-size: 13px;
color: rgba(255,255,255,0.4);
text-decoration: none;
margin-bottom: 10px;
transition: color var(--transition);
}
.footer-col a:hover { color: rgba(255,255,255,0.8); }
.footer-bottom {
max-width: 1100px;
margin: 0 auto;
padding-top: 24px;
border-top: 1px solid rgba(255,255,255,0.06);
display: flex;
justify-content: space-between;
align-items: center;
font-size: 12px;
color: rgba(255,255,255,0.25);
}
/* ============================================================
SCROLL ANIMATIONS
============================================================ */
.reveal {
opacity: 0;
transform: translateY(28px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.reveal.visible {
opacity: 1;
transform: translateY(0);
}
/* ============================================================
RESPONSIVE
============================================================ */
@media (max-width: 768px) {
section { padding: 64px 5vw; }
.hero-inner { grid-template-columns: 1fr; gap: 40px; }
.hero-image { aspect-ratio: 4/3; order: -1; }
.hero-h1 { font-size: 32px; }
.problem-grid,
.how-grid,
.science-grid { grid-template-columns: 1fr; gap: 40px; }
.benefits-grid { grid-template-columns: 1fr; }
.reviews-grid { grid-template-columns: 1fr; }
nav a:not(.btn-nav) { display: none; }
.footer-inner { grid-template-columns: 1fr 1fr; }
.proof-grid { gap: 32px; }
}
@media (max-width: 480px) {
.footer-inner { grid-template-columns: 1fr; }
.footer-bottom { flex-direction: column; gap: 8px; text-align: center; }
}
</style>
</head>
<body>
<!-- ============================================================
HEADER
============================================================ -->
<header id="main-header">
<a href="index.html" class="logo">Zéni<span>mal</span></a>
<nav>
<a href="#benefits">Benefits</a>
<a href="#reviews">Reviews</a>
<a href="#faq">FAQ</a>
<a href="product.html" class="btn-nav">Discover the Bowl →</a>
</nav>
</header>
<!-- ============================================================
HERO SECTION
============================================================ -->
<section id="hero">
<div class="hero-inner">
<div class="hero-text">
<p class="hero-eyebrow">Soothing ritual for your dog</p>
<h1 class="hero-h1 display">
Your dog deserves<br>
<em>inner peace.</em><br>
You do too.
</h1>
<p class="hero-sub">
The Zénimal Bowl transforms every meal into a ritual of calm — less anxiety, more serenity, a peaceful home.
</p>
<div class="hero-cta-group">
<a href="product.html" class="btn-primary">
Discover the Bowl
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3"/></svg>
</a>
<div class="hero-trust">
<div class="hero-stars">
<span class="star">★</span><span class="star">★</span><span class="star">★</span><span class="star">★</span><span class="star">★</span>
</div>
<span><strong>4.9/5</strong> · +2,400 soothed dogs</span>
</div>
</div>
</div>
<div class="hero-image">
<!-- REPLACE: Hero image — relaxed golden retriever dog licking the bowl, bright and warm ambiance -->
<div class="img-placeholder">📸 Hero image<br>Relaxed dog with the bowl</div>
<div class="hero-badge">
<div class="hero-badge-icon">🌿</div>
<div class="hero-badge-text">
<strong>100% natural</strong>
Compatible with all breeds
</div>
</div>
</div>
</div>
<!-- Marquee strip -->
<div class="hero-strip">
<div class="strip-inner">
<span class="strip-item">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg>
Reduces anxiety
</span>
<span class="strip-item">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg>
Keeps them intelligently busy
</span>
<span class="strip-item">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg>
Improved digestion
</span>
<span class="strip-item">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg>
Premium design
</span>
<span class="strip-item">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg>
Fast delivery
</span>
<span class="strip-item">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg>
Satisfied or refunded
</span>
<!-- Duplication for infinite effect -->
<span class="strip-item">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg>
Reduces anxiety
</span>
<span class="strip-item">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg>
Keeps them intelligently busy
</span>
<span class="strip-item">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg>
Improved digestion
</span>
<span class="strip-item">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg>
Premium design
</span>
<span class="strip-item">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg>
Fast delivery
</span>
<span class="strip-item">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"/></svg>
Satisfied or refunded
</span>
</div>
</div>
</section>
<!-- ============================================================
PROBLEM SECTION
============================================================ -->
<section id="problem">
<div class="container">
<div class="problem-grid">
<div class="problem-image">
<!-- REPLACE: Image of an anxious dog, pacing or scratching a door -->
<div class="img-placeholder">📸 Anxious dog<br>Scratching / pacing</div>
</div>
<div class="problem-text reveal">
<span class="tag">The real problem</span>
<h2 class="problem-h2 display">
Your dog is suffering<br>in silence. And you know it.
</h2>
<p class="problem-p">
Every time you close the door behind you, that little look follows you. It's not guilt. It's love. And that love deserves a real answer.
</p>
<p class="problem-p">
Chronic boredom, separation anxiety, destructive behaviors... This is not inevitable. It's a signal your dog is sending because they need to be stimulated — and soothed.
</p>
<ul class="problem-list">
<li>They bark, scratch, destroy when you leave</li>
<li>They eat too fast and have poor digestion</li>
<li>They don't know how to calm down on their own</li>
<li>Toys keep them busy for 2 minutes, then it's over</li>
</ul>
</div>
</div>
</div>
</section>
<!-- ============================================================
BENEFITS / TRANSFORMATION
============================================================ -->
<section id="benefits">
<div class="container">
<div class="section-header reveal">
<span class="tag">The transformation</span>
<h2 class="section-h2 display">What the Zénimal Bowl<br>really changes</h2>
<p class="section-sub">
Not a gadget. Not a trend. A solution based on canine behavioral science to create true serenity.
</p>
</div>
<div class="benefits-grid">
<div class="benefit-card reveal">
<div class="benefit-icon">🧘</div>
<h3 class="benefit-title">Calm through licking</h3>
<p class="benefit-desc">Licking stimulates endorphin production and regulates your dog's nervous system. Each session is natural therapy.</p>
</div>
<div class="benefit-card reveal">
<div class="benefit-icon">🧠</div>
<h3 class="benefit-title">Real mental stimulation</h3>
<p class="benefit-desc">The bowl's ridges create a food puzzle that fully engages your dog — 20 minutes of intense occupation versus 2 minutes with a classic bowl.</p>
</div>
<div class="benefit-card reveal">
<div class="benefit-icon">💚</div>
<h3 class="benefit-title">Gentle & healthy digestion</h3>
<p class="benefit-desc">By slowing down ingestion, the anti-slip bowl reduces the risk of bloating, improves nutrient absorption, and protects your dog.</p>
</div>
<div class="benefit-card reveal">
<div class="benefit-icon">🏠</div>
<h3 class="benefit-title">A more serene home</h3>
<p class="benefit-desc">Less barking, less destruction, less boredom. Your living space regains its tranquility — for you, as well as for them.</p>
</div>
<div class="benefit-card reveal">
<div class="benefit-icon">⏱️</div>
<h3 class="benefit-title">3-minute routine</h3>
<p class="benefit-desc">Spread a spoon of paste, place the bowl, and it's ready. Simple, fast, effective — and compatible with your busy daily life.</p>
</div>
<div class="benefit-card reveal">
<div class="benefit-icon">✨</div>
<h3 class="benefit-title">Design that fits your home</h3>
<p class="benefit-desc">Designed to blend into your interior. Premium finishes, harmonious colors — because caring for your dog doesn't have to be unsightly.</p>
</div>
</div>
</div>
</section>
<!-- ============================================================
HOW IT WORKS
============================================================ -->
<section id="how">
<div class="container">
<div class="section-header reveal" style="text-align:center;">
<span class="tag">How it works</span>
<h2 class="section-h2 display">3 seconds to prepare.
20 minutes of peace.</h2>
<p class="section-sub">Simplicity is its greatest strength. No setup, no app, no training. Just a daily ritual that changes everything.</p>
</div>
<div class="how-grid">
<div class="how-image">
<!-- REPLACE: Lifestyle image of the bowl with lick paste, on wood or marble surface -->
<div class="img-placeholder">📸 Prepared bowl
Lick paste, warm ambiance</div>
</div>
<div class="steps">
<div class="step reveal">
<div class="step-num">01</div>
<div>
<div class="step-title">Apply a topping</div>
<p class="step-desc">Sweet potato puree, plain yogurt, unsalted peanut butter — a few spoonfuls in the bowl's ridges. Quick, natural, irresistible.</p>
</div>
</div>
<div class="step reveal">
<div class="step-num">02</div>
<div>
<div class="step-title">(Optional) Freeze it</div>
<p class="step-desc">For 2 to 3 hours of engagement: place the bowl in the freezer 1 hour beforehand. The frosty effect transforms the session into a prolonged sensory experience.</p>
</div>
</div>
<div class="step reveal">
<div class="step-num">03</div>
<div>
<div class="step-title">Give it to your dog</div>
<p class="step-desc">Licking instantly triggers a calming response. The endorphins released create a deep state of calm that lasts long after the session.</p>
</div>
</div>
<div class="step reveal">
<div class="step-num">04</div>
<div>
<div class="step-title">Clean in 30 seconds</div>
<p class="step-desc">Dishwasher safe. Rinse it under water or place it on the rack — no residue, no odor, ready for tomorrow.</p>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- ============================================================
SCIENCE / WHY IT CALMS
============================================================ -->
<section id="science">
<div class="container">
<div class="science-grid">
<div class="reveal">
<span class="tag">The science behind calm</span>
<h2 class="section-h2 display">Why licking
truly calms</h2>
<p style="font-size:16px; color:var(--muted); line-height:1.75; margin: 20px 0;">
Licking is a naturally self-regulating behavior in dogs. It activates the parasympathetic system — the one that says "everything is fine, we are safe." It's a biological response, not a habit: it works from the very first use.</p>
<p style="font-size:16px; color:var(--muted); line-height:1.75;">
Combined with the cognitive stimulation of the anti-stress ridges, the Zénimal Bowl creates an immersive experience that diverts attention from sources of anxiety and gradually establishes a state of serenity.</p>
<div class="science-stat-grid">
<div class="science-stat">
<div class="science-stat-num">94%</div>
<div class="science-stat-label">of owners observe less anxiety from the 1st week</div>
</div>
<div class="science-stat">
<div class="science-stat-num">3×</div>
<div class="science-stat-label">more occupation time than a standard bowl or lick mat</div>
</div>
<div class="science-stat">
<div class="science-stat-num">20min</div>
<div class="science-stat-label">of calming session on average per use</div>
</div>
<div class="science-stat">
<div class="science-stat-num">+2400</div>
<div class="science-stat-label">calm and fulfilled dogs with Zénimal</div>
</div>
</div>
</div>
<div class="science-image">
<!-- REPLACE: Macro image of a dog licking, focus on relaxed muzzle -->
<div class="img-placeholder">📸 Macro licking
Relaxed muzzle, half-closed eyes</div>
</div>
</div>
</div>
</section>
<!-- ============================================================
COMPARISON TABLE
============================================================ -->
<section id="comparison">
<div class="container">
<div class="section-header reveal" style="text-align:center;">
<span class="tag">Comparison</span>
<h2 class="section-h2 display">Zénimal vs the rest
of the market</h2>
<p class="section-sub">It's not just a bowl. It's the combination of what all other solutions lack.</p>
</div>
<table class="comparison-table">
<thead>
<tr>
<th>Feature</th>
<th>Classic Bowl / Lick Mat</th>
<th>🌿 Zénimal Bowl</th>
</tr>
</thead>
<tbody>
<tr>
<td>Actively reduces anxiety</td>
<td><span class="cross">✗</span></td>
<td><span class="check">✓</span></td>
</tr>
<tr>
<td>Prolonged mental stimulation</td>
<td><span class="cross">✗</span></td>
<td><span class="check">✓</span></td>
</tr>
<tr>
<td>Freezer-safe</td>
<td><span class="cross">✗</span></td>
<td><span class="check">✓</span></td>
</tr>
<tr>
<td>Slows down ingestion</td>
<td><span class="cross">✗</span></td>
<td><span class="check">✓</span></td>
</tr>
<tr>
<td>Home-integrable design</td>
<td><span class="cross">✗</span></td>
<td><span class="check">✓</span></td>
</tr>
<tr>
<td>Dishwasher safe</td>
<td><span class="cross">Rarely</span></td>
<td><span class="check">✓</span></td>
</tr>
<tr>
<td>Versatile use</td>
<td><span class="cross">✗</span></td>
<td><span class="check">✓ (meals, snacks, freezer)</span></td>
</tr>
</tbody>
</table>
</div>
</section>
<!-- ============================================================
SOCIAL PROOF BANNER
============================================================ -->
<section id="proof-banner">
<div class="container">
<div class="proof-grid">
<div class="proof-item reveal">
<div class="proof-num">2,400+</div>
<div class="proof-label">Calm dogs</div>
</div>
<div class="proof-item reveal">
<div class="proof-num">4.9★</div>
<div class="proof-label">Average rating</div>
</div>
<div class="proof-item reveal">
<div class="proof-num">94%</div>
<div class="proof-label">Recommend Zénimal</div>
</div>
<div class="proof-item reveal">
<div class="proof-num">30 days</div>
<div class="proof-label">Satisfaction guaranteed or your money back</div>
</div>
</div>
</div>
</section>
<!-- ============================================================
TESTIMONIALS
============================================================ -->
<section id="reviews">
<div class="container">
<div class="section-header reveal" style="text-align:center;">
<span class="tag">Verified customer reviews</span>
<h2 class="section-h2 display">Their dogs changed.
Their homes did too.</h2>
</div>
<div class="reviews-grid">
<div class="review-card reveal">
<div class="review-stars"><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span></div>
<p class="review-text">"Luna would bark every time I left for work. Since getting the Zénimal Bowl with frozen peanut butter, she's calm for 45 minutes. My neighbor even messaged me to thank me."</p>
<div class="review-author">
<div class="review-avatar">👩</div>
<div>
<div class="review-name">Sophie M.</div>
<div class="review-meta">Owner of Luna, 3-year-old Labrador</div>
</div>
<span class="review-verified">✓ Verified</span>
</div>
</div>
<div class="review-card reveal">
<div class="review-stars"><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span></div>
<p class="review-text">"My Border Collie is chronically anxious. I tried everything — pheromones, anti-stress, toys. The Zénimal Bowl is the first thing that really worked. He lies down after every session."</p>
<div class="review-author">
<div class="review-avatar">👩</div>
<div>
<div class="review-name">Camille R.</div>
<div class="review-meta">Owner of Pixel, 2-year-old Border Collie</div>
</div>
<span class="review-verified">✓ Verified</span>
</div>
</div>
<div class="review-card reveal">
<div class="review-stars"><span>★</span><span>★</span><span>★</span><span>★</span><span>★</span></div>
<p class="review-text">"I felt so guilty going to work from home in another room. Now I give him the bowl, and I'm guaranteed 30 minutes of peace. Simple, beautiful, effective. I even got one for my sister."</p>
<div class="review-author">
<div class="review-avatar">👩</div>
<div>
<div class="review-name">Léa P.</div>
<div class="review-meta">Owner of Mochi, 1-year-old Shiba</div>
</div>
<span class="review-verified">✓ Verified</span>
</div>
</div>
</div>
<div style="text-align:center; margin-top: 40px;">
<a href="product.html#reviews" style="font-size:14px; color:var(--sage-dark); text-decoration:underline; text-underline-offset:3px;">Read all 180+ reviews →</a>
</div>
</div>
</section>
<!-- ============================================================
FAQ
============================================================ -->
<section id="faq">
<div class="container-sm">
<div class="section-header reveal" style="text-align:center;">
<span class="tag">Your Questions</span>
<h2 class="section-h2 display">Everything you
want to know</h2>
</div>
<div class="faq-list">
<div class="faq-item">
<button class="faq-q" onclick="toggleFaq(this)">
My dog isn't interested the first time, is that normal?
<span class="faq-chevron">▾</span>
</button>
<div class="faq-a">
<p>Absolutely. Some dogs need 1 to 3 sessions to understand the bowl's appeal. We recommend starting with a very palatable topping (unsalted peanut butter) and guiding your dog the first time by tapping the bowl. Results guaranteed in less than a week.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-q" onclick="toggleFaq(this)">
What toppings can I use?
<span class="faq-chevron">▾</span>
</button>
<div class="faq-a">
<p>Classic options that work: peanut butter (unsalted, xylitol-free), plain unsweetened yogurt, sweet potato puree, grated carrot mixed with water, light cream cheese. A recipe guide is included with every order.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-q" onclick="toggleFaq(this)">
Is it suitable for all breeds and sizes?
<span class="faq-chevron">▾</span>
</button>
<div class="faq-a">
<p>The Zénimal Bowl comes in two sizes: S/M (small to medium breeds) and L/XL (medium to large breeds). We clearly specify recommended breeds on the product page.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-q" onclick="toggleFaq(this)">
How many times can it be used per day?
<span class="faq-chevron">▾</span>
</button>
<div class="faq-a">
<p>1 to 2 times a day is ideal. The bowl can replace a meal or serve as an enriching snack. Avoid overusing it so that each session remains a special and stimulating experience.</p>
</div>
</div>
<div class="faq-item">
<button class="faq-q" onclick="toggleFaq(this)">
Are the materials safe?
<span class="faq-chevron">▾</span>
</button>
<div class="faq-a">
<p>The Zénimal Bowl is made of certified food-grade silicone, BPA-free, phthalate-free. Freezer-safe, oven-safe (up to 220°C), and dishwasher-safe. Tested and approved according to European food safety standards.</p>
</div>
</div>
</div>
</div>
</section>
<!-- ============================================================
FINAL CTA
============================================================ -->
<section id="final-cta">
<div class="container-xs" style="text-align:center;">
<span class="tag">Ready to change their daily life?</span>
<h2 class="final-h2 display">Give them the calm
<em>they deserve.</em></h2>
<p class="final-sub">
Join the 2,400 owners who said yes to serenity — for their dog, and for themselves.</p>
<a href="product.html" class="btn-cta-large">
Discover the Zénimal Bowl
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3"/></svg>
</a>
<div class="final-reassurance">
<span>✓ Delivery in 3–5 days</span>
<span>✓ 30-day satisfaction guarantee</span>
<span>✓ Secure payment</span>
</div>
</div>
</section>
<!-- ============================================================
FOOTER
============================================================ -->
<footer>
<div class="footer-inner">
<div class="footer-brand">
<a href="index.html" class="logo">Zéni<span>mal</span></a>
<p>A brand founded by animal lovers, for calmer homes. Because your dog deserves the best.</p>
</div>
<div class="footer-col">
<h4>Shop</h4>
<a href="product.html">Anti-Stress Bowl</a>
<a href="product.html#bundles">Bundles</a>
<a href="#">Accessories</a>
</div>
<div class="footer-col">
<h4>Brand</h4>
<a href="#">Our Story</a>
<a href="#reviews">Customer Reviews</a>
<a href="#">Blog</a>
</div>
<div class="footer-col">
<h4>Help</h4>
<a href="#faq">FAQ</a>
<a href="#">Shipping & Returns</a>
<a href="#">Contact</a>
</div>
</div>
<div class="footer-bottom">
<span>© 2025 Zénimal. All rights reserved.</span>
<span>Privacy Policy · Legal Notice · Terms & Conditions</span>
</div>
</footer>
<script>
// ============================================================
// HEADER SCROLL EFFECT
// ============================================================
const header = document.getElementById('main-header');
window.addEventListener('scroll', () => {
if (window.scrollY > 20) {
header.classList.add('scrolled');
} else {
header.classList.remove('scrolled');
}
});
// ============================================================
// SCROLL REVEAL
// ============================================================
const revealEls = document.querySelectorAll('.reveal, .step');
const observer = new IntersectionObserver((entries) => {
entries.forEach((entry, i) => {
if (entry.isIntersecting) {
// Stagger delay based on index within parent
const siblings = Array.from(entry.target.parentElement.querySelectorAll('.reveal, .step'));
const idx = siblings.indexOf(entry.target);
setTimeout(() => {
entry.target.classList.add('visible');
}, idx * 80);
observer.unobserve(entry.target);
}
});
}, { threshold: 0.12 });
revealEls.forEach(el => observer.observe(el));
// ============================================================
// FAQ ACCORDION
// ============================================================
function toggleFaq(btn) {
const item = btn.closest('.faq-item');
const isOpen = item.classList.contains('open');
document.querySelectorAll('.faq-item').forEach(i => i.classList.remove('open'));
if (!isOpen) item.classList.add('open');
}
</script>
</body>
</html>