#introduccion{
    background:var(--color-background);
}

#introduccion h2{
    margin-top:1rem;
    margin-bottom:1.5rem;
    max-width:700px;
}

.intro__grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:2rem;
    margin-top:3rem;
}

.intro__card{
    background:var(--color-surface);
    padding:2rem;
    border-radius:var(--radius-lg);
    border:1px solid rgba(255,255,255,.08);
    box-shadow:var(--shadow-sm);
    transition:var(--transition-normal);
}

.intro__card:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow-md);
}

.intro__card h3{
    margin-bottom:1rem;
    color:var(--color-secondary);
}

#introduccion .chapter-label{
    display:inline-block;
    margin-bottom:1rem;
}

#introduccion h2{
    max-width:700px;
    margin:0 auto 1.5rem;
    text-align:center;
}

#introduccion .lead{
    max-width:850px;
    margin:0 auto;
    text-align:center;
}

#introduccion{
    padding-top:var(--space-4xl);
    padding-bottom:var(--space-4xl);
}

.section,
.chapter {
    padding: var(--section-padding) 0;
    scroll-margin-top: var(--scroll-offset);
}

.chapter {
    padding-top: calc(var(--section-padding)+2rem);
    padding-bottom: var(--section-padding);
    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(255,255,255,.01)
        );
}

.chapter__header{
    max-width: 950px;
    text-align:center;
    margin:0 auto var(--space-3xl);
    padding-inline: var(--space-md);
}

.chapter__header .chapter-label {
    margin-bottom: var(--space-md);
    font-size: clamp(.95rem, 1.2vw, 1.15rem);
    font-weight: 700;
    letter-spacing: .22em;
}

.chapter__header h2{
    margin: 0 0 var(--space-lg);
    font-size: clamp(3rem, 6vw, 5rem);
    line-height: 1.1;
    font-weight: 800;
}

.chapter__header .lead{
    max-width: 850px;
    margin-inline: auto;
    font-size: clamp(1.1rem, 1.7vw, 1.35rem);
    line-height: 1.8;
}

.chapter__video{
    margin:0 auto var(--space-3xl);
    width:min(100%, 1000px);
}

.chapter__video video{
    width:100%;
    display:block;
    aspect-ratio: 16/9;
    background: #000;
    border-radius:22px;
    box-shadow:var(--shadow-lg);
}

.chapter__content{
    max-width:900px;
    margin-inline:auto;
}

.chapter__content > p{
    margin-bottom: var(--space-lg);
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.9;
}

.chapter__image{
    margin:var(--space-2xl) auto;
    text-align:center;
}

.chapter__image img{
    width:100%;
    max-height: 520px;
    object-fit: cover;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-md);
}

.chapter__image figcaption{
    margin-top:var(--space-sm);
    font-size:var(--fs-sm);
    color:var(--color-text-muted);
    font-style:italic;
}

.project {
    background: var(--color-background);
}

.project .intro__card p + p {
    margin-top: var(--space-sm);
}

.repository__grid,
.toolbox__grid,
.infographics__grid,
.intro__grid,
.countdown {
    margin-top: var(--space-2xl);
}

#capitulo1,
#capitulo2 {
    padding-top: calc(var(--section-padding) + var(--space-lg));
}

.introduction {
    background:
        radial-gradient(
            circle at top right,
            rgba(47, 128, 237, .14),
            transparent 34%
        ),
        var(--color-surface);
}

.introduction__video {
    width: min(100%, 1050px);
    margin: 0 auto var(--space-3xl);
}

.introduction__video video {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    border-radius: var(--video-radius);
    box-shadow: var(--shadow-lg);
}

.introduction__content {
    max-width: 850px;
    margin-inline: auto;
}

.introduction__content p {
    margin-bottom: var(--space-lg);
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.9;
}

.introduction__next {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin: var(--space-2xl) auto 0;
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--color-secondary);
    transition: var(--transition-normal);
}

.introduction__next:hover {
    transform: translateY(5px);
}

.introduction__next i {
    font-size: 1.3rem;
}

.chapter-transition {
    max-width: 1000px;
    margin: var(--space-4xl) auto 0;
    padding-top: var(--space-3xl);
    border-top: 1px solid rgba(255,255,255,.1);
}

.chapter-transition__header {
    max-width: 850px;
    margin: 0 auto var(--space-2xl);
    text-align: center;
}

.chapter-transition__header .chapter-label {
    margin-bottom: var(--space-md);
}

.chapter-transition__header h3 {
    margin-bottom: var(--space-md);
    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: 800;
    line-height: 1.15;
}

.chapter-transition__header p,
.chapter-transition__closing {
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.9;
}

.chapter-transition__closing {
    max-width: 850px;
    margin: var(--space-xl) auto 0;
    text-align: center;
}

.chapter__subheader {
    max-width: 850px;
    margin: var(--space-4xl) auto var(--space-2xl);
    text-align: center;
}

.chapter__subheader .chapter-label {
    margin-bottom: var(--space-md);
}

.chapter__subheader h3 {
    margin-bottom: var(--space-md);

    font-size: clamp(2rem, 4vw, 3.4rem);
    font-weight: 800;
    line-height: 1.15;
}

.chapter__subheader p {
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.8;
}

.experience-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--card-gap);
}

.experience-card {
    padding: var(--space-lg);
    background: var(--color-surface);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    transition: var(--transition-normal);
}

.experience-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
}

.experience-card i {
    display: block;
    margin-bottom: var(--space-md);
    font-size: 2rem;
    color: var(--color-primary);
}

.experience-card h3 {
    margin-bottom: var(--space-sm);
}

.experience-card p {
    line-height: 1.7;
}

.methodology-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--card-gap);
}

.methodology-step {
    padding: var(--space-lg);
    text-align: center;
    background: var(--color-card);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: var(--radius-lg);
}

.methodology-step span {
    display: block;
    margin-bottom: var(--space-sm);
    font-family: var(--font-heading);
    font-size: var(--fs-2xl);
    font-weight: 800;
    color: var(--color-secondary);
}

.methodology-step p {
    color: var(--color-text);
}

.reference-block {
    max-width: 1050px;
    margin: var(--space-4xl) auto 0;
    padding-top: var(--space-3xl);
    border-top: 1px solid rgba(255,255,255,.1);
}

.reference-block__closing {
    max-width: 850px;
    margin: var(--space-xl) auto 0;
    text-align: center;
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.9;
}