:root {
--vino: #70112c;
--vino-oscuro: #4a0a1d;
--carbon: #1b1417;
--crema: #faf5ec;
--papel: #f0e7d6;
--arena: #c9b392;
--linea: rgba(27, 20, 23, 0.16);
}

body {
font-family: 'Inter', sans-serif;
font-weight: 400;
background-color: var(--crema);
color: var(--carbon);
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
}

::selection {
background-color: var(--vino);
color: var(--crema);
}

h1, h2, h3, .titulo-hero, .titulo-seccion, .titulo-caja, .marca-texto, .marca-pie {
font-family: 'Fraunces', serif;
font-weight: 400;
}

.texto-vino {
color: var(--vino);
}

.texto-claro {
color: var(--arena);
}

.texto-tenue {
color: rgba(250, 245, 236, 0.65);
}

.barra-min {
background-color: rgba(250, 245, 236, 0.92);
backdrop-filter: blur(10px);
border-bottom: 1px solid var(--linea);
padding-top: 0.7rem;
padding-bottom: 0.7rem;
transition: background-color 0.25s ease;
}

.barra-min.barra-scroll {
background-color: var(--crema);
}

.logo-marca {
width: 40px;
height: 40px;
object-fit: contain;
}

.marca-texto {
font-size: 1.35rem;
color: var(--carbon);
}

.boton-hamburguesa {
border: none;
color: var(--carbon);
padding: 0.1rem 0.3rem;
}

.boton-hamburguesa:focus {
box-shadow: none;
}

.enlace-min {
font-weight: 500;
font-size: 0.85rem;
letter-spacing: 0.04em;
color: var(--carbon);
padding: 0.5rem 0.75rem;
border-bottom: 1px solid transparent;
transition: color 0.15s ease, border-color 0.15s ease;
}

.enlace-min:hover,
.enlace-min.enlace-activo {
color: var(--vino);
border-bottom: 1px solid var(--vino);
}

.boton-min {
border: 1px solid var(--carbon);
border-radius: 999px;
background-color: var(--carbon);
color: var(--crema);
font-weight: 500;
font-size: 0.85rem;
letter-spacing: 0.04em;
padding: 0.55rem 1.3rem;
transition: all 0.2s ease;
}

.boton-min:hover {
background-color: var(--vino);
border-color: var(--vino);
color: var(--crema);
}

.boton-min.btn-lg {
padding: 0.8rem 1.8rem;
font-size: 0.95rem;
}

.boton-tenue {
background-color: transparent;
color: var(--carbon);
}

.boton-tenue:hover {
background-color: var(--vino);
border-color: var(--vino);
color: var(--crema);
}

.boton-icono {
background-color: transparent;
color: var(--crema);
border-color: rgba(250, 245, 236, 0.4);
border-radius: 50%;
width: 44px;
height: 44px;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0;
}

.boton-icono:hover {
background-color: var(--vino);
border-color: var(--vino);
color: var(--crema);
}

.seccion-hero {
padding-top: 9rem;
padding-bottom: 5rem;
}

.kicker {
display: inline-flex;
align-items: center;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.22em;
text-transform: uppercase;
color: var(--vino);
margin-bottom: 1.25rem;
}

.kicker::before,
.kicker::after {
content: "";
width: 2.2rem;
height: 1px;
background-color: var(--vino);
opacity: 0.45;
}

.kicker::before {
margin-right: 0.9rem;
}

.kicker::after {
margin-left: 0.9rem;
}

.kicker-claro {
color: var(--arena);
}

.kicker-claro::before,
.kicker-claro::after {
background-color: var(--arena);
}

.titulo-hero {
font-size: clamp(3rem, 8vw, 6.2rem);
line-height: 1.02;
font-weight: 300;
letter-spacing: -0.01em;
}

.titulo-hero em,
.titulo-seccion em {
font-style: italic;
}

.bajada {
font-family: 'Fraunces', serif;
font-size: clamp(1.15rem, 2vw, 1.4rem);
font-weight: 300;
line-height: 1.6;
color: rgba(27, 20, 23, 0.78);
max-width: 44rem;
}

.marco-img {
border: 1px solid var(--linea);
padding: 0.75rem;
background-color: #fff;
}

.marco-img img {
display: block;
width: 100%;
object-fit: cover;
}

.img-hero {
aspect-ratio: 21 / 9;
}

.img-tarjeta {
aspect-ratio: 16 / 10;
}

.img-vertical {
aspect-ratio: 3 / 4;
}

.pie-foto {
font-size: 0.78rem;
letter-spacing: 0.05em;
color: rgba(27, 20, 23, 0.55);
padding-top: 0.7rem;
}

.seccion-pagina {
padding: 6.5rem 0;
scroll-margin-top: 5rem;
}

.seccion-dividida {
border-top: 1px solid var(--linea);
}

.seccion-vino {
background-color: var(--vino);
}

.seccion-vino .marco-img {
border-color: rgba(250, 245, 236, 0.25);
background-color: rgba(250, 245, 236, 0.06);
}

.seccion-vino .pie-foto {
color: rgba(250, 245, 236, 0.6);
}

.titulo-seccion {
font-size: clamp(2.2rem, 4.5vw, 3.4rem);
line-height: 1.08;
font-weight: 300;
letter-spacing: -0.01em;
}

.texto-cuerpo {
font-size: 1rem;
line-height: 1.85;
color: rgba(27, 20, 23, 0.82);
}

.seccion-vino .texto-cuerpo {
color: rgba(250, 245, 236, 0.88);
}

.primer-parrafo {
font-family: 'Fraunces', serif;
font-size: 1.3rem;
font-weight: 300;
line-height: 1.7;
color: var(--carbon);
margin-bottom: 1.5rem;
}

.primer-parrafo::first-letter {
font-size: 3.4em;
float: left;
line-height: 0.85;
padding-right: 0.12em;
padding-top: 0.05em;
color: var(--vino);
font-weight: 400;
}

.borde-entrada {
border-left: 2px solid var(--vino);
padding-left: 1.25rem;
}

.borde-claro {
border-left-color: var(--arena);
}

.pegajoso {
position: sticky;
top: 7rem;
}

.insignia-min {
display: inline-block;
border: 1px solid var(--linea);
border-radius: 999px;
padding: 0.35rem 0.95rem;
font-size: 0.78rem;
font-weight: 500;
letter-spacing: 0.04em;
color: var(--carbon);
transition: all 0.15s ease;
}

.insignia-min:hover {
border-color: var(--vino);
color: var(--vino);
}

.caja-contenido {
border: 1px solid var(--linea);
background-color: #fff;
padding: 1.75rem 2rem;
}

.caja-clara {
background-color: var(--crema);
color: var(--carbon);
border-color: rgba(250, 245, 236, 0.3);
}

.titulo-caja {
font-size: 1.25rem;
margin-bottom: 1rem;
}

.lista-min {
list-style: none;
padding-left: 0;
margin-bottom: 0;
}

.lista-min li {
padding: 0.55rem 0 0.55rem 1.6rem;
position: relative;
border-bottom: 1px solid var(--linea);
font-size: 0.93rem;
line-height: 1.6;
}

.lista-min li:last-child {
border-bottom: none;
}

.lista-min li::before {
content: "\F633";
font-family: "bootstrap-icons";
position: absolute;
left: 0;
top: 0.6rem;
font-size: 0.7rem;
color: var(--vino);
}

.seccion-cta {
padding: 6.5rem 0;
border-top: 1px solid var(--linea);
}

.pie-min {
background-color: var(--carbon);
color: var(--crema);
padding: 4rem 0 2rem;
}

.logo-pie {
width: 68px;
height: 68px;
object-fit: contain;
background-color: var(--crema);
border-radius: 50%;
padding: 4px;
}

.marca-pie {
font-size: 1.35rem;
color: var(--crema);
}

.marca-pie em {
color: var(--arena);
}

.enlace-pie {
color: rgba(250, 245, 236, 0.75);
font-weight: 400;
font-size: 0.85rem;
letter-spacing: 0.04em;
text-decoration: none;
border-bottom: 1px solid transparent;
transition: all 0.15s ease;
}

.enlace-pie:hover {
color: var(--arena);
border-bottom: 1px solid var(--arena);
}

.linea-pie {
border-top: 1px solid rgba(250, 245, 236, 0.18);
opacity: 1;
margin: 2.5rem 0 1.5rem;
}

@media (max-width: 991.98px) {
.seccion-hero {
padding-top: 7rem;
}
.barra-min .navbar-collapse {
border-top: 1px solid var(--linea);
margin-top: 0.7rem;
padding-top: 0.9rem;
}
.enlace-min {
padding: 0.55rem 0;
}
.pegajoso {
position: static;
}
}

@media (max-width: 767.98px) {
.seccion-pagina,
.seccion-cta {
padding: 4rem 0;
}
.img-hero {
aspect-ratio: 16 / 10;
}
}
