<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FitDefine – Consigue tu mejor físico</title>
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🏋️</text></svg>">
<link href="https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Open+Sans:wght@300;400;600;700&display=swap" rel="stylesheet">
<style>
:root {
--red: #E8001D;
--red-dark: #b0001a;
--black: #0a0a0a;
--black2: #111111;
--black3: #1a1a1a;
--gray: #2a2a2a;
--gray-light: #444;
--white: #ffffff;
--off-white: #f0f0f0;
--text-muted: #999;
}
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
background: var(--black);
color: var(--white);
font-family: 'Open Sans', sans-serif;
overflow-x: hidden;
}
h1, h2, h3, h4 { font-family: 'Bebas Neue', sans-serif; letter-spacing: 2px; }
/* ========== SCROLLBAR ========== */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-track { background: var(--black); }
::-webkit-scrollbar-thumb { background: var(--red); border-radius: 10px; }
/* ========== HEADER ========== */
header {
position: fixed;
top: 0; left: 0; right: 0;
z-index: 999;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 5%;
height: 70px;
background: rgba(10,10,10,0.95);
border-bottom: 1px solid rgba(232,0,29,0.3);
backdrop-filter: blur(10px);
transition: box-shadow 0.3s;
}
header.scrolled { box-shadow: 0 4px 30px rgba(232,0,29,0.2); }
.logo {
display: flex;
align-items: center;
gap: 10px;
text-decoration: none;
}
.logo-icon {
width: 42px; height: 42px;
background: var(--red);
border-radius: 8px;
display: flex; align-items: center; justify-content: center;
position: relative;
overflow: hidden;
}
.logo-icon svg { width: 28px; height: 28px; fill: white; }
.logo-text {
font-family: 'Bebas Neue', sans-serif;
font-size: 1.8rem;
letter-spacing: 3px;
color: var(--white);
}
.logo-text span { color: var(--red); }
nav { display: flex; gap: 2rem; align-items: center; }
nav a {
color: var(--off-white);
text-decoration: none;
font-size: 0.8rem;
font-weight: 600;
letter-spacing: 1.5px;
text-transform: uppercase;
position: relative;
transition: color 0.3s;
}
nav a::after {
content: '';
position: absolute;
bottom: -4px; left: 0;
width: 0; height: 2px;
background: var(--red);
transition: width 0.3s;
}
nav a:hover { color: var(--red); }
nav a:hover::after { width: 100%; }
.nav-cta {
background: var(--red);
color: white !important;
padding: 8px 20px;
border-radius: 4px;
transition: background 0.3s, transform 0.2s !important;
}
.nav-cta::after { display: none !important; }
.nav-cta:hover { background: var(--red-dark) !important; transform: translateY(-1px); }
.hamburger {
display: none;
flex-direction: column;
gap: 5px;
cursor: pointer;
padding: 5px;
}
.hamburger span {
display: block; width: 25px; height: 2px;
background: white;
transition: 0.3s;
}
/* ========== HERO ========== */
#inicio {
min-height: 100vh;
position: relative;
display: flex; align-items: center; justify-content: center;
overflow: hidden;
}
.hero-bg {
position: absolute; inset: 0;
background:
linear-gradient(135deg, rgba(10,10,10,0.85) 0%, rgba(10,10,10,0.6) 50%, rgba(232,0,29,0.15) 100%),
url('https://images.unsplash.com/photo-1534438327276-14e5300c3a48?w=1600&q=80') center/cover no-repeat;
}
.hero-bg::after {
content: '';
position: absolute; inset: 0;
background: radial-gradient(ellipse at 20% 50%, rgba(232,0,29,0.12) 0%, transparent 60%);
}
.hero-content {
position: relative; z-index: 2;
text-align: center;
max-width: 900px;
padding: 0 20px;
animation: heroIn 1.2s ease forwards;
}
@keyframes heroIn {
from { opacity: 0; transform: translateY(40px); }
to { opacity: 1; transform: translateY(0); }
}
.hero-badge {
display: inline-block;
background: rgba(232,0,29,0.15);
border: 1px solid rgba(232,0,29,0.5);
color: var(--red);
padding: 6px 18px;
border-radius: 30px;
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 3px;
text-transform: uppercase;
margin-bottom: 1.5rem;
animation: heroIn 1.2s ease 0.2s both;
}
.hero-title {
font-size: clamp(3rem, 8vw, 7rem);
line-height: 0.95;
letter-spacing: 4px;
margin-bottom: 1.5rem;
animation: heroIn 1.2s ease 0.4s both;
}
.hero-title span { color: var(--red); }
.hero-sub {
font-size: clamp(1rem, 2vw, 1.25rem);
color: rgba(255,255,255,0.75);
max-width: 600px;
margin: 0 auto 2.5rem;
font-weight: 300;
line-height: 1.7;
animation: heroIn 1.2s ease 0.6s both;
}
.hero-btns {
display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap;
animation: heroIn 1.2s ease 0.8s both;
}
.btn-primary {
display: inline-flex; align-items: center; gap: 8px;
background: var(--red);
color: white;
padding: 16px 40px;
border-radius: 4px;
font-family: 'Bebas Neue', sans-serif;
font-size: 1.1rem;
letter-spacing: 2px;
text-decoration: none;
transition: all 0.3s;
position: relative; overflow: hidden;
}
.btn-primary::before {
content: '';
position: absolute; top: 0; left: -100%;
width: 100%; height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
transition: left 0.5s;
}
.btn-primary:hover::before { left: 100%; }
.btn-primary:hover { background: var(--red-dark); transform: translateY(-3px); box-shadow: 0 10px 30px rgba(232,0,29,0.4); }
.btn-outline {
display: inline-flex; align-items: center; gap: 8px;
border: 1px solid rgba(255,255,255,0.3);
color: white;
padding: 16px 40px;
border-radius: 4px;
font-family: 'Bebas Neue', sans-serif;
font-size: 1.1rem;
letter-spacing: 2px;
text-decoration: none;
transition: all 0.3s;
}
.btn-outline:hover { border-color: var(--red); color: var(--red); transform: translateY(-3px); }
.hero-stats {
position: absolute;
bottom: 40px; left: 50%; transform: translateX(-50%);
display: flex; gap: 3rem;
z-index: 2;
animation: heroIn 1.2s ease 1s both;
}
.stat { text-align: center; }
.stat-num { font-family: 'Bebas Neue', sans-serif; font-size: 2rem; color: var(--red); line-height: 1; }
.stat-label { font-size: 0.7rem; letter-spacing: 2px; color: var(--text-muted); text-transform: uppercase; }
.scroll-indicator {
position: absolute; bottom: 15px; left: 50%; transform: translateX(-50%);
display: flex; flex-direction: column; align-items: center; gap: 6px;
z-index: 2;
color: var(--text-muted); font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase;
animation: bounce 2s infinite;
}
@keyframes bounce {
0%,100% { transform: translateX(-50%) translateY(0); }
50% { transform: translateX(-50%) translateY(8px); }
}
/* ========== SECTION BASE ========== */
section { padding: 100px 5%; }
.section-label {
display: inline-block;
color: var(--red);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 4px;
text-transform: uppercase;
margin-bottom: 1rem;
}
.section-title {
font-size: clamp(2.5rem, 5vw, 4.5rem);
line-height: 1;
margin-bottom: 1rem;
letter-spacing: 3px;
}
.section-sub {
color: var(--text-muted);
font-size: 1rem;
max-width: 550px;
line-height: 1.7;
font-weight: 300;
}
.section-header {
display: flex; justify-content: space-between; align-items: flex-end;
flex-wrap: wrap; gap: 1.5rem;
margin-bottom: 3.5rem;
}
/* ========== FADE IN ANIMATION ========== */
.fade-up {
opacity: 0;
transform: translateY(40px);
transition: opacity 0.7s ease, transform 0.7s ease;
}
.fade-up.visible {
opacity: 1;
transform: translateY(0);
}
/* ========== RUTINAS ========== */
#rutinas { background: var(--black2); }
.rutinas-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
}
.rutina-card {
background: var(--black3);
border: 1px solid rgba(255,255,255,0.05);
border-radius: 12px;
overflow: hidden;
transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
cursor: pointer;
}
.rutina-card:hover {
transform: translateY(-8px);
box-shadow: 0 20px 60px rgba(0,0,0,0.5);
border-color: rgba(232,0,29,0.4);
}
.rutina-img {
height: 220px;
position: relative;
overflow: hidden;
}
.rutina-img img {
width: 100%; height: 100%;
object-fit: cover;
transition: transform 0.5s;
}
.rutina-card:hover .rutina-img img { transform: scale(1.05); }
.rutina-img-overlay {
position: absolute; inset: 0;
background: linear-gradient(to bottom, transparent 30%, rgba(10,10,10,0.8) 100%);
}
.rutina-badge {
position: absolute; top: 15px; left: 15px;
background: var(--red);
color: white;
padding: 4px 12px;
border-radius: 3px;
font-size: 0.7rem;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
}
.rutina-body { padding: 1.5rem; }
.rutina-meta {
display: flex; gap: 1rem; margin-bottom: 0.75rem;
}
.rutina-meta span {
display: flex; align-items: center; gap: 5px;
font-size: 0.75rem; color: var(--text-muted);
letter-spacing: 1px;
}
.rutina-body h3 {
font-size: 1.5rem; margin-bottom: 0.5rem; letter-spacing: 2px;
}
.rutina-body p {
color: var(--text-muted); font-size: 0.9rem; line-height: 1.6;
}
.rutina-footer {
display: flex; justify-content: space-between; align-items: center;
padding: 1rem 1.5rem;
border-top: 1px solid rgba(255,255,255,0.06);
}
.difficulty {
display: flex; gap: 4px;
}
.dot {
width: 8px; height: 8px; border-radius: 50%;
background: rgba(255,255,255,0.15);
}
.dot.active { background: var(--red); }
.btn-sm {
background: transparent;
border: 1px solid var(--red);
color: var(--red);
padding: 7px 18px;
border-radius: 4px;
font-family: 'Bebas Neue', sans-serif;
letter-spacing: 1.5px;
font-size: 0.85rem;
cursor: pointer;
transition: all 0.3s;
text-decoration: none;
}
.btn-sm:hover { background: var(--red); color: white; }
/* ========== NUTRICION ========== */
#nutricion { background: var(--black); }
.nutri-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 3rem;
align-items: start;
}
.nutri-cards {
display: flex; flex-direction: column; gap: 1.2rem;
}
.nutri-card {
display: flex; gap: 1.2rem; align-items: flex-start;
background: var(--black3);
border: 1px solid rgba(255,255,255,0.05);
border-left: 3px solid var(--red);
padding: 1.5rem;
border-radius: 8px;
transition: transform 0.3s, box-shadow 0.3s;
}
.nutri-card:hover {
transform: translateX(6px);
box-shadow: -6px 0 20px rgba(232,0,29,0.15);
}
.nutri-icon {
width: 50px; height: 50px; flex-shrink: 0;
background: rgba(232,0,29,0.1);
border-radius: 8px;
display: flex; align-items: center; justify-content: center;
font-size: 1.5rem;
}
.nutri-card h4 { font-size: 1.1rem; margin-bottom: 0.4rem; letter-spacing: 1.5px; }
.nutri-card p { color: var(--text-muted); font-size: 0.88rem; line-height: 1.6; }
.macro-chart { position: relative; }
.macro-title {
font-size: 1.8rem; margin-bottom: 2rem; letter-spacing: 2px;
}
.macro-bar-group {
display: flex; flex-direction: column; gap: 1.2rem;
}
.macro-row { }
.macro-info {
display: flex; justify-content: space-between;
margin-bottom: 8px;
}
.macro-name { font-weight: 600; font-size: 0.9rem; letter-spacing: 1px; }
.macro-pct { color: var(--red); font-weight: 700; font-size: 0.9rem; }
.macro-track {
height: 8px;
background: rgba(255,255,255,0.07);
border-radius: 30px;
overflow: hidden;
}
.macro-fill {
height: 100%; border-radius: 30px;
background: var(--red);
transition: width 1.5s ease;
width: 0;
}
.macro-fill.animate { width: var(--w); }
.macro-fill.blue { background: #4a9eff; }
.macro-fill.green { background: #2ec96e; }
.calorie-box {
margin-top: 2rem;
background: linear-gradient(135deg, rgba(232,0,29,0.15), rgba(232,0,29,0.05));
border: 1px solid rgba(232,0,29,0.3);
border-radius: 12px;
padding: 1.5rem;
text-align: center;
}
.calorie-box .big { font-family: 'Bebas Neue', sans-serif; font-size: 3rem; color: var(--red); line-height: 1; }
.calorie-box .label { color: var(--text-muted); font-size: 0.8rem; letter-spacing: 2px; margin-top: 5px; }
/* ========== RECETAS ========== */
#recetas { background: var(--black2); }
.recetas-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 1.5rem;
}
.receta-card {
background: var(--black3);
border-radius: 12px;
overflow: hidden;
border: 1px solid rgba(255,255,255,0.05);
transition: transform 0.3s, box-shadow 0.3s;
}
.receta-card:hover { transform: translateY(-6px); box-shadow: 0 15px 40px rgba(0,0,0,0.4); }
.receta-img {
height: 200px; overflow: hidden; position: relative;
}
.receta-img img {
width: 100%; height: 100%; object-fit: cover;
transition: transform 0.5s;
}
.receta-card:hover .receta-img img { transform: scale(1.07); }
.receta-tags {
position: absolute; top: 12px; right: 12px;
display: flex; gap: 6px;
}
.tag {
background: rgba(10,10,10,0.85);
border: 1px solid rgba(255,255,255,0.15);
color: var(--off-white);
padding: 3px 10px;
border-radius: 20px;
font-size: 0.65rem;
font-weight: 600;
letter-spacing: 1px;
text-transform: uppercase;
}
.tag.protein { background: rgba(232,0,29,0.7); border-color: var(--red); }
.receta-body { padding: 1.4rem; }
.receta-body h3 { font-size: 1.3rem; margin-bottom: 0.5rem; letter-spacing: 1.5px; }
.receta-body p { color: var(--text-muted); font-size: 0.88rem; line-height: 1.6; margin-bottom: 1rem; }
.receta-stats {
display: flex; gap: 1.2rem;
}
.rs {
display: flex; flex-direction: column; align-items: center;
flex: 1;
background: rgba(255,255,255,0.04);
border-radius: 8px;
padding: 8px;
}
.rs-num { font-family: 'Bebas Neue', sans-serif; font-size: 1.2rem; color: var(--red); }
.rs-label { font-size: 0.65rem; color: var(--text-muted); letter-spacing: 1px; text-transform: uppercase; }
/* ========== CONSEJOS ========== */
#consejos { background: var(--black); }
.consejos-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
}
.consejo-card {
background: var(--black3);
border: 1px solid rgba(255,255,255,0.05);
border-radius: 12px;
padding: 2rem;
position: relative;
overflow: hidden;
transition: transform 0.3s, border-color 0.3s;
}
.consejo-card::before {
content: '';
position: absolute; bottom: 0; left: 0;
width: 100%; height: 3px;
background: var(--red);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.4s;
}
.consejo-card:hover { transform: translateY(-6px); border-color: rgba(232,0,29,0.2); }
.consejo-card:hover::before { transform: scaleX(1); }
.consejo-num {
font-family: 'Bebas Neue', sans-serif;
font-size: 4rem;
color: rgba(232,0,29,0.1);
line-height: 1;
margin-bottom: 0.5rem;
}
.consejo-icon { font-size: 2rem; margin-bottom: 1rem; }
.consejo-card h3 { font-size: 1.3rem; margin-bottom: 0.75rem; letter-spacing: 1.5px; }
.consejo-card p { color: var(--text-muted); font-size: 0.9rem; line-height: 1.6; }
/* ========== DIVIDER ========== */
.red-divider {
background: var(--red);
padding: 60px 5%;
display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 2rem;
}
.red-divider h2 {
font-size: clamp(2rem, 4vw, 3.5rem);
letter-spacing: 3px;
color: white;
}
.red-divider .btn-white {
background: white;
color: var(--red);
padding: 16px 40px;
border-radius: 4px;
font-family: 'Bebas Neue', sans-serif;
font-size: 1.1rem;
letter-spacing: 2px;
text-decoration: none;
transition: all 0.3s;
white-space: nowrap;
}
.red-divider .btn-white:hover { transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0,0,0,0.3); }
/* ========== CONTACTO ========== */
#contacto { background: var(--black2); }
.contacto-grid {
display: grid;
grid-template-columns: 1fr 1.4fr;
gap: 4rem;
align-items: start;
}
.contact-info h3 {
font-size: 2rem; margin-bottom: 1.5rem; letter-spacing: 2px;
}
.contact-info p {
color: var(--text-muted); line-height: 1.7; margin-bottom: 2rem; font-size: 0.95rem;
}
.contact-detail {
display: flex; align-items: center; gap: 1rem;
margin-bottom: 1.2rem;
}
.contact-detail-icon {
width: 44px; height: 44px;
background: rgba(232,0,29,0.1);
border: 1px solid rgba(232,0,29,0.2);
border-radius: 8px;
display: flex; align-items: center; justify-content: center;
font-size: 1.1rem;
flex-shrink: 0;
}
.contact-detail span { color: var(--text-muted); font-size: 0.9rem; }
.form-group { margin-bottom: 1.2rem; }
.form-group label {
display: block;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 2px;
text-transform: uppercase;
color: var(--text-muted);
margin-bottom: 8px;
}
.form-group input,
.form-group textarea {
width: 100%;
background: var(--black3);
border: 1px solid rgba(255,255,255,0.08);
color: white;
padding: 14px 18px;
border-radius: 6px;
font-family: 'Open Sans', sans-serif;
font-size: 0.95rem;
transition: border-color 0.3s, box-shadow 0.3s;
outline: none;
}
.form-group input:focus,
.form-group textarea:focus {
border-color: var(--red);
box-shadow: 0 0 0 3px rgba(232,0,29,0.1);
}
.form-group textarea { resize: vertical; min-height: 120px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.btn-submit {
width: 100%;
background: var(--red);
color: white;
border: none;
padding: 16px;
border-radius: 6px;
font-family: 'Bebas Neue', sans-serif;
font-size: 1.1rem;
letter-spacing: 2px;
cursor: pointer;
transition: all 0.3s;
margin-top: 0.5rem;
}
.btn-submit:hover { background: var(--red-dark); transform: translateY(-2px); box-shadow: 0 8px 25px rgba(232,0,29,0.3); }
/* ========== FOOTER ========== */
footer {
background: #050505;
border-top: 1px solid rgba(255,255,255,0.04);
padding: 50px 5% 25px;
}
.footer-top {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 3rem;
padding-bottom: 3rem;
border-bottom: 1px solid rgba(255,255,255,0.05);
margin-bottom: 2rem;
}
.footer-brand p {
color: var(--text-muted); font-size: 0.9rem; line-height: 1.7;
margin: 1rem 0 1.5rem;
max-width: 280px;
}
.social-links { display: flex; gap: 10px; }
.social-link {
width: 38px; height: 38px;
background: rgba(255,255,255,0.05);
border: 1px solid rgba(255,255,255,0.08);
border-radius: 8px;
display: flex; align-items: center; justify-content: center;
color: white; text-decoration: none;
font-size: 1rem;
transition: all 0.3s;
}
.social-link:hover { background: var(--red); border-color: var(--red); transform: translateY(-3px); }
.footer-col h4 {
font-size: 0.8rem;
letter-spacing: 3px;
text-transform: uppercase;
color: var(--red);
margin-bottom: 1.2rem;
}
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 0.7rem; }
.footer-col ul li a {
color: var(--text-muted);
text-decoration: none;
font-size: 0.9rem;
transition: color 0.3s;
}
.footer-col ul li a:hover { color: white; }
.footer-bottom {
display: flex; justify-content: space-between; align-items: center;
flex-wrap: wrap; gap: 1rem;
}
.footer-bottom p { color: var(--text-muted); font-size: 0.82rem; }
.footer-links { display: flex; gap: 1.5rem; }
.footer-links a {
color: var(--text-muted);
text-decoration: none;
font-size: 0.82rem;
transition: color 0.3s;
}
.footer-links a:hover { color: var(--red); }
/* ========== MOBILE ========== */
@media (max-width: 900px) {
nav { display: none; position: fixed; top: 70px; left: 0; right: 0; background: var(--black); padding: 1.5rem 5%; flex-direction: column; gap: 1rem; border-bottom: 1px solid rgba(232,0,29,0.2); }
nav.open { display: flex; }
.hamburger { display: flex; }
.nutri-grid { grid-template-columns: 1fr; }
.contacto-grid { grid-template-columns: 1fr; }
.footer-top { grid-template-columns: 1fr 1fr; }
.hero-stats { gap: 2rem; }
.form-row { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
section { padding: 70px 5%; }
.footer-top { grid-template-columns: 1fr; }
.hero-stats { gap: 1.5rem; }
.red-divider { flex-direction: column; text-align: center; }
}
</style>
</head>
<body>
<!-- HEADER -->
<header id="header">
<a href="#inicio" class="logo">
<div class="logo-icon">
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<path d="M20.57 14.86L22 13.43 20.57 12 17 15.57 8.43 7 12 3.43 10.57 2 9.14 3.43 7.71 2 5.57 4.14 4.14 2.71 2.71 4.14l1.43 1.43L2 7.71l1.43 1.43L2 10.57 3.43 12 7 8.43 15.57 17 12 20.57 13.43 22l1.43-1.43L16.29 22l2.14-2.14 1.43 1.43 1.43-1.43-1.43-1.43L22 16.29l-1.43-1.43z"/>
<path d="M13 7l-2 4h3l-2 4" stroke="white" stroke-width="1.5" fill="none" stroke-linecap="round"/>
</svg>
</div>
<span class="logo-text">Fit<span>Define</span></span>
</a>
<nav id="nav">
<a href="#inicio">Inicio</a>
<a href="#rutinas">Rutinas</a>
<a href="#nutricion">Nutrición</a>
<a href="#recetas">Recetas</a>
<a href="#consejos">Consejos</a>
<a href="#contacto" class="nav-cta">Contacto</a>
</nav>
<div class="hamburger" onclick="toggleMenu()">
<span></span><span></span><span></span>
</div>
</header>
<!-- HERO -->
<section id="inicio">
<div class="hero-bg"></div>
<div class="hero-content">
<div class="hero-badge">🔥 Programa de definición muscular</div>
<h1 class="hero-title">Consigue tu<br><span>mejor físico</span></h1>
<p class="hero-sub">Aprende a definir de forma efectiva y saludable. Rutinas, nutrición y consejos diseñados para transformar tu cuerpo.</p>
<div class="hero-btns">
<a href="#rutinas" class="btn-primary">
<span>Ver Rutinas</span>
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 12h14M12 5l7 7-7 7"/></svg>
</a>
<a href="#nutricion" class="btn-outline">Nutrición</a>
</div>
</div>
<div class="hero-stats">
<div class="stat"><div class="stat-num">12K+</div><div class="stat-label">Usuarios</div></div>
<div class="stat"><div class="stat-num">50+</div><div class="stat-label">Rutinas</div></div>
<div class="stat"><div class="stat-num">200+</div><div class="stat-label">Recetas</div></div>
<div class="stat"><div class="stat-num">98%</div><div class="stat-label">Satisfacción</div></div>
</div>
</section>
<!-- RUTINAS -->
<section id="rutinas">
<div class="section-header fade-up">
<div>
<span class="section-label">Entrenamiento</span>
<h2 class="section-title">Rutinas Diseñadas<br>Para Definir</h2>
</div>
<p class="section-sub">Programas enfocados en pérdida de grasa y mantenimiento muscular para todos los niveles.</p>
</div>
<div class="rutinas-grid">
<div class="rutina-card fade-up">
<div class="rutina-img">
<img src="https://images.unsplash.com/photo-1571019613454-1cb2f99b2d8b?w=600&q=80" alt="HIIT">
<div class="rutina-img-overlay"></div>
<span class="rutina-badge">Popular</span>
</div>
<div class="rutina-body">
<div class="rutina-meta">
<span>⏱ 30 min</span>
<span>🔥 450 kcal</span>
<span>💪 Sin equipo</span>
</div>
<h3>HIIT Quema Grasa</h3>
<p>Intervalos de alta intensidad para maximizar la quema calórica y acelerar tu metabolismo.</p>
</div>
<div class="rutina-footer">
<div>
<div style="font-size:0.7rem;color:var(--text-muted);letter-spacing:1px;margin-bottom:5px;">DIFICULTAD</div>
<div class="difficulty">
<div class="dot active"></div><div class="dot active"></div><div class="dot active"></div><div class="dot"></div><div class="dot"></div>
</div>
</div>
<a href="#" class="btn-sm">Ver rutina</a>
</div>
</div>
<div class="rutina-card fade-up" style="transition-delay:0.15s">
<div class="rutina-img">
<img src="https://images.unsplash.com/photo-1583454110551-21f2fa2afe61?w=600&q=80" alt="Fuerza">
<div class="rutina-img-overlay"></div>
<span class="rutina-badge">Recomendado</span>
</div>
<div class="rutina-body">
<div class="rutina-meta">
<span>⏱ 60 min</span>
<span>🔥 380 kcal</span>
<span>🏋️ Gimnasio</span>
</div>
<h3>Fuerza & Definición</h3>
<p>Levantamiento de pesas con enfoque en hipertrofia y mantenimiento muscular en déficit calórico.</p>
</div>
<div class="rutina-footer">
<div>
<div style="font-size:0.7rem;color:var(--text-muted);letter-spacing:1px;margin-bottom:5px;">DIFICULTAD</div>
<div class="difficulty">
<div class="dot active"></div><div class="dot active"></div><div class="dot active"></div><div class="dot active"></div><div class="dot"></div>
</div>
</div>
<a href="#" class="btn-sm">Ver rutina</a>
</div>
</div>
<div class="rutina-card fade-up" style="transition-delay:0.3s">
<div class="rutina-img">
<img src="https://images.unsplash.com/photo-1518611012118-696072aa579a?w=600&q=80" alt="Full Body">
<div class="rutina-img-overlay"></div>
<span class="rutina-badge">Para principiantes</span>
</div>
<div class="rutina-body">
<div class="rutina-meta">
<span>⏱ 45 min</span>
<span>🔥 320 kcal</span>
<span>🏠 Casa</span>
</div>
<h3>Full Body Express</h3>
<p>Entrenamiento completo que trabaja todos los grupos musculares, ideal para empezar a definir.</p>
</div>
<div class="rutina-footer">
<div>
<div style="font-size:0.7rem;color:var(--text-muted);letter-spacing:1px;margin-bottom:5px;">DIFICULTAD</div>
<div class="difficulty">
<div class="dot active"></div><div class="dot active"></div><div class="dot"></div><div class="dot"></div><div class="dot"></div>
</div>
</div>
<a href="#" class="btn-sm">Ver rutina</a>
</div>
</div>
</div>
</section>
<!-- NUTRICION -->
<section id="nutricion">
<div class="section-header fade-up">
<div>
<span class="section-label">Alimentación</span>
<h2 class="section-title">Nutrición<br>Inteligente</h2>
</div>
<p class="section-sub">La dieta representa el 70% de tus resultados. Aprende a comer para definir sin perder músculo.</p>
</div>
<div class="nutri-grid fade-up">
<div class="nutri-cards">
<div class="nutri-card">
<div class="nutri-icon">🔥</div>
<div>
<h4>Déficit Calórico</h4>
<p>Consume entre 300–500 kcal menos de tu mantenimiento para perder grasa de forma sostenible sin sacrificar músculo.</p>
</div>
</div>
<div class="nutri-card">
<div class="nutri-icon">💪</div>
<div>
<h4>Alta Proteína</h4>
<p>Consume 1.8–2.2g de proteína por kg de peso corporal para preservar y construir masa muscular magra.</p>
</div>
</div>
<div class="nutri-card">
<div class="nutri-icon"></div>
<div>
<h4>Carbohidratos Estratégicos</h4>
<p>Prioriza los carbos complejos antes y después del entrenamiento para maximizar el rendimiento y la recuperación.</p>
</div>
</div>
<div class="nutri-card">
<div class="nutri-icon">🥑</div>
<div>
<h4>Grasas Saludables</h4>
<p>No elimines las grasas. Son esenciales para la producción hormonal y la absorción de vitaminas liposolubles.</p>
</div>
</div>
</div>
<div class="macro-chart fade-up" style="transition-delay:0.2s">
<h3 class="macro-title">Distribución de Macros<br>Para Definición</h3>
<div class="macro-bar-group">
<div class="macro-row">
<div class="macro-info"><span class="macro-name">Proteína</span><span class="macro-pct">40%</span></div>
<div class="macro-track"><div class="macro-fill" style="--w:40%"></div></div>
</div>
<div class="macro-row">
<div class="macro-info"><span class="macro-name">Carbohidratos</span><span class="macro-pct" style="color:#4a9eff">35%</span></div>
<div class="macro-track"><div class="macro-fill blue" style="--w:35%"></div></div>
</div>
<div class="macro-row">
<div class="macro-info"><span class="macro-name">Grasas</span><span class="macro-pct" style="color:#2ec96e">25%</span></div>
<div class="macro-track"><div class="macro-fill green" style="--w:25%"></div></div>
</div>
</div>
<div class="calorie-box">
<div class="big">–400</div>
<div class="label">Déficit calórico diario recomendado (kcal)</div>
</div>
<div style="margin-top:1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem;">
<div style="background:var(--black3);border-radius:8px;padding:1.2rem;border:1px solid rgba(255,255,255,0.05)">
<div style="font-size:0.7rem;color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px">Mejor dieta</div>
<div style="font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:1px">Flexible / IIFYM</div>
</div>
<div style="background:var(--black3);border-radius:8px;padding:1.2rem;border:1px solid rgba(255,255,255,0.05)">
<div style="font-size:0.7rem;color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px">Pérdida grasa</div>
<div style="font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:1px;color:var(--red)">0.5–1 kg/semana</div>
</div>
</div>
</div>
</div>
</section>
<!-- RECETAS -->
<section id="recetas">
<div class="section-header fade-up">
<div>
<span class="section-label">Recetas Fitness</span>
<h2 class="section-title">Come Rico,<br>Come Limpio</h2>
</div>
<p class="section-sub">Recetas altas en proteína, bajas en calorías y 100% deliciosas para alcanzar tus objetivos.</p>
</div>
<div class="recetas-grid">
<div class="receta-card fade-up">
<div class="receta-img">
<img src="https://images.unsplash.com/photo-1547592180-85f173990554?w=600&q=80" alt="Bowl proteico">
<div class="receta-tags"><span class="tag protein">Alta proteína</span></div>
</div>
<div class="receta-body">
<h3>Bowl de Pollo & Quinoa</h3>
<p>Pecho de pollo a la plancha con quinoa, aguacate, tomate cherry y aliño de limón.</p>
<div class="receta-stats">
<div class="rs"><div class="rs-num">420</div><div class="rs-label">kcal</div></div>
<div class="rs"><div class="rs-num">48g</div><div class="rs-label">proteína</div></div>
<div class="rs"><div class="rs-num">35g</div><div class="rs-label">carbs</div></div>
<div class="rs"><div class="rs-num">12g</div><div class="rs-label">grasa</div></div>
</div>
</div>
</div>
<div class="receta-card fade-up" style="transition-delay:0.15s">
<div class="receta-img">
<img src="https://images.unsplash.com/photo-1484723091739-30a097e8f929?w=600&q=80" alt="Tostadas">
<div class="receta-tags"><span class="tag">Low carb</span></div>
</div>
<div class="receta-body">
<h3>Tostadas de Huevo & Salmón</h3>
<p>Pan integral con huevo escalfado, salmón ahumado, aguacate y semillas de chía.</p>
<div class="receta-stats">
<div class="rs"><div class="rs-num">380</div><div class="rs-label">kcal</div></div>
<div class="rs"><div class="rs-num">32g</div><div class="rs-label">proteína</div></div>
<div class="rs"><div class="rs-num">28g</div><div class="rs-label">carbs</div></div>
<div class="rs"><div class="rs-num">14g</div><div class="rs-label">grasa</div></div>
</div>
</div>
</div>
<div class="receta-card fade-up" style="transition-delay:0.3s">
<div class="receta-img">
<img src="https://images.unsplash.com/photo-1563379926898-05f4575a45d8?w=600&q=80" alt="Batido">
<div class="receta-tags"><span class="tag protein">Post-workout</span></div>
</div>
<div class="receta-body">
<h3>Batido Proteico de Fresa</h3>
<p>Proteína de suero, fresas congeladas, leche de almendras, avena y plátano pequeño.</p>
<div class="receta-stats">
<div class="rs"><div class="rs-num">290</div><div class="rs-label">kcal</div></div>
<div class="rs"><div class="rs-num">35g</div><div class="rs-label">proteína</div></div>
<div class="rs"><div class="rs-num">30g</div><div class="rs-label">carbs</div></div>
<div class="rs"><div class="rs-num">5g</div><div class="rs-label">grasa</div></div>
</div>
</div>
</div>
</div>
</section>
<!-- DIVIDER CTA -->
<div class="red-divider fade-up">
<h2>¿Listo para transformar<br>tu cuerpo?</h2>
<a href="#contacto" class="btn-white">Asesoramiento Personalizado →</a>
</div>
<!-- CONSEJOS -->
<section id="consejos">
<div class="section-header fade-up">
<div>
<span class="section-label">Tips & Hábitos</span>
<h2 class="section-title">Los Secretos<br>Del Éxito</h2>
</div>
<p class="section-sub">La constancia bate al talento. Estos hábitos son los que separan a los que lo logran del resto.</p>
</div>
<div class="consejos-grid">
<div class="consejo-card fade-up">
<div class="consejo-num">01</div>
<div class="consejo-icon">😴</div>
<h3>Descanso de Calidad</h3>
<p>El músculo se construye fuera del gimnasio. Duerme entre 7 y 9 horas por noche para optimizar la recuperación y las hormonas anabólicas.</p>
</div>
<div class="consejo-card fade-up" style="transition-delay:0.1s">
<div class="consejo-num">02</div>
<div class="consejo-icon">📅</div>
<h3>Constancia sobre Intensidad</h3>
<p>Entrenar 4 días por semana durante 6 meses supera a cualquier programa "extremo" que abandones a las 3 semanas. La disciplina es el verdadero secreto.</p>
</div>
<div class="consejo-card fade-up" style="transition-delay:0.2s">
<div class="consejo-num">03</div>
<div class="consejo-icon">💧</div>
<h3>Hidratación Constante</h3>
<p>Bebe al menos 3 litros de agua al día. La deshidratación reduce el rendimiento hasta un 20% y dificulta la quema de grasa corporal.</p>
</div>
<div class="consejo-card fade-up" style="transition-delay:0.3s">
<div class="consejo-num">04</div>
<div class="consejo-icon">📊</div>
<h3>Mide tu Progreso</h3>
<p>Toma fotos, mide tu cintura y registra tus pesos. La báscula no lo cuenta todo. El progreso real se ve en el espejo y en tus marcas en el gym.</p>
</div>
<div class="consejo-card fade-up" style="transition-delay:0.4s">
<div class="consejo-num">05</div>
<div class="consejo-icon">🧠</div>
<h3>Mentalidad Ganadora</h3>
<p>La transformación física empieza en la mente. Establece metas claras, visualiza tu objetivo y celebra cada pequeño avance del proceso.</p>
</div>
<div class="consejo-card fade-up" style="transition-delay:0.5s">
<div class="consejo-num">06</div>
<div class="consejo-icon">🔄</div>
<h3>Progresión Continua</h3>
<p>Aumenta gradualmente el peso, las repeticiones o la intensidad cada semana. El cuerpo se adapta rápido; si no progresas, te estancas.</p>
</div>
</div>
</section>
<!-- CONTACTO -->
<section id="contacto">
<div class="section-header fade-up">
<div>
<span class="section-label">Contacto</span>
<h2 class="section-title">¿Tienes Dudas?<br>Escríbenos</h2>
</div>
<p class="section-sub">Escríbenos para dudas o asesoramiento personalizado. Nuestro equipo responde en menos de 24h.</p>
</div>
<div class="contacto-grid fade-up">
<div class="contact-info">
<h3>Estamos aquí<br>para ayudarte</h3>
<p>Ya sea que estés empezando o lleves tiempo entrenando, podemos orientarte para alcanzar tus objetivos más rápido y de forma más eficiente.</p>
<div class="contact-detail">
<div class="contact-detail-icon">📧</div>
<span>hola@fitdefine.es</span>
</div>
<div class="contact-detail">
<div class="contact-detail-icon">📱</div>
<span>+34 600 000 000</span>
</div>
<div class="contact-detail">
<div class="contact-detail-icon">🕐</div>
<span>Lun – Vie, 9:00 – 18:00</span>
</div>
</div>
<div>
<div class="form-row">
<div class="form-group">
<label>Nombre</label>
<input type="text" placeholder="Tu nombre">
</div>
<div class="form-group">
<label>Email</label>
<input type="email" placeholder="tu@email.com">
</div>
</div>
<div class="form-group">
<label>Asunto</label>
<input type="text" placeholder="¿En qué podemos ayudarte?">
</div>
<div class="form-group">
<label>Mensaje</label>
<textarea placeholder="Cuéntanos tu objetivo, nivel de experiencia y cualquier duda que tengas..."></textarea>
</div>
<button class="btn-submit" onclick="handleSubmit(this)">Enviar Mensaje →</button>
</div>
</div>
</section>
<!-- FOOTER -->
<footer>
<div class="footer-top">
<div class="footer-brand">
<a href="#inicio" class="logo">
<div class="logo-icon" style="width:34px;height:34px">
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" style="width:20px;height:20px">
<path d="M20.57 14.86L22 13.43 20.57 12 17 15.57 8.43 7 12 3.43 10.57 2 9.14 3.43 7.71 2 5.57 4.14 4.14 2.71 2.71 4.14l1.43 1.43L2 7.71l1.43 1.43L2 10.57 3.43 12 7 8.43 15.57 17 12 20.57 13.43 22l1.43-1.43L16.29 22l2.14-2.14 1.43 1.43 1.43-1.43-1.43-1.43L22 16.29l-1.43-1.43z"/>
</svg>
</div>
<span class="logo-text" style="font-size:1.5rem">Fit<span>Define</span></span>
</a>
<p>Tu plataforma de referencia para fitness, definición muscular y pérdida de grasa. Ciencia aplicada al entrenamiento real.</p>
<div class="social-links">
<a href="#" class="social-link" title="Instagram">📸</a>
<a href="#" class="social-link" title="YouTube"></a>
<a href="#" class="social-link" title="TikTok">🎵</a>
<a href="#" class="social-link" title="Twitter">🐦</a>
</div>
</div>
<div class="footer-col">
<h4>Secciones</h4>
<ul>
<li><a href="#inicio">Inicio</a></li>
<li><a href="#rutinas">Rutinas</a></li>
<li><a href="#nutricion">Nutrición</a></li>
<li><a href="#recetas">Recetas</a></li>
<li><a href="#consejos">Consejos</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Rutinas</h4>
<ul>
<li><a href="#">HIIT Quema Grasa</a></li>
<li><a href="#">Fuerza & Definición</a></li>
<li><a href="#">Full Body Express</a></li>
<li><a href="#">Cardio LISS</a></li>
<li><a href="#">Calistenia</a></li>
</ul>
</div>
<div class="footer-col">
<h4>Recursos</h4>
<ul>
<li><a href="#">Blog</a></li>
<li><a href="#">Calculadora TDEE</a></li>
<li><a href="#">Guía de suplementos</a></li>
<li><a href="#">Newsletter</a></li>
<li><a href="#contacto">Contacto</a></li>
</ul>
</div>
</div>
<div class="footer-bottom">
<p>© 2026 FitDefine — Todos los derechos reservados</p>
<div class="footer-links">
<a href="#">Aviso Legal</a>
<a href="#">Política de Privacidad</a>
<a href="#">Cookies</a>
</div>
</div>
</footer>
<script>
// Header scroll effect
window.addEventListener('scroll', () => {
const header = document.getElementById('header');
header.classList.toggle('scrolled', window.scrollY > 50);
});
// Mobile menu
function toggleMenu() {
document.getElementById('nav').classList.toggle('open');
}
// Close menu on link click
document.querySelectorAll('#nav a').forEach(a => {
a.addEventListener('click', () => document.getElementById('nav').classList.remove('open'));
});
// Scroll animations
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('visible');
// Animate macro bars
entry.target.querySelectorAll('.macro-fill').forEach(bar => {
bar.classList.add('animate');
});
}
});
}, { threshold: 0.1 });
document.querySelectorAll('.fade-up').forEach(el => observer.observe(el));
// Form submit
function handleSubmit(btn) {
btn.textContent = '✓ ¡Mensaje enviado!';
btn.style.background = '#2ec96e';
btn.disabled = true;
setTimeout(() => {
btn.textContent = 'Enviar Mensaje →';
btn.style.background = '';
btn.disabled = false;
}, 3000);
}
</script>
</body>
</html>