/* Year blocks — layout per year */

/* ── 1996 ── */
.year-1996 {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--space-xl);
    min-height: clamp(18rem, 41vw, 36.875rem);
    padding: var(--space-lg);
    border-radius: var(--radius-md);
    overflow: hidden;
    aspect-ratio: 16/9;
}

.year-1996__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: inherit;
    pointer-events: none;
}

.year-1996__photo {
    position: absolute;
    top: -8.51%;
    left: -1.08%;
    width: 102.86%;
    max-width: none;
    height: 117.11%;
    object-fit: cover;
    pointer-events: auto;
}

.year-1996__glow {
    position: absolute;
    bottom: -10.125rem;
    left: -11.0625rem;
    width: 44.125rem;
    height: 28.6875rem;
    max-width: none;
    opacity: 0.7;
    pointer-events: none;
}

.year-1996__logo,
.year-1996__text {
    position: relative;
    z-index: 1;
}

.year-1996__logo {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.year-1996__logo-img {
    width: 5.5rem;
    height: 4.125rem;
    object-fit: cover;
}

.year-1996__logo-caption {
    font-size: 0.875rem;
    line-height: 1.46;
    opacity: 0.8;
}

.year-1996__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    max-width: 25.9375rem;
}

.year-1996__title {
    font-size: var(--text-h);
    line-height: 1.2;
    font-weight: 400;
}

.year-1996__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    opacity: 0.8;
}

@media (max-width: 48rem) {
    .year-1996 {
        aspect-ratio: auto;
    }

    .year-1996__glow {
        bottom: -6rem;
        left: -8rem;
        width: min(44.125rem, 120vw);
        height: auto;
        aspect-ratio: 706 / 459;
    }
}

/* ── 1997 ── */
.year-1997 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
    align-items: stretch;
    min-height: 18rem;
}

.year-1997__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--space-lg);
    min-height: 18rem;
}

.year-1997__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    font-size: var(--text-body);
    line-height: 1.46;
}

.year-1997__note {
    opacity: 0.8;
}

.year-1997__photo-wrap {
    min-height: 18rem;
}

@media (max-width: 48rem) {
    .year-1997 {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .year-1997__content {
        min-height: 0;
    }

    .year-1997__photo-wrap {
        min-height: clamp(12rem, 50vw, 18rem);
    }
}

/* ── 1998 ── */
.year-1998 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.year-1998__hero {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: clamp(22rem, 43vw, 38.875rem);
    padding: var(--space-lg);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.year-1998__hero-media {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: inherit;
    pointer-events: none;
}

.year-1998__hero-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: auto;
}

.year-1998__hero-glow {
    position: absolute;
    top: -6.125rem;
    left: -21.5rem;
    width: 53.625rem;
    height: 12.5rem;
    max-width: none;
    pointer-events: none;
}

.year-1998__hero-text {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    max-width: 35rem;
    color: var(--color-text-dark);
}

.year-1998__row {
    display: flex;
    gap: var(--space-lg);
    align-items: center;
}

.year-1998__photo-wrap {
    flex: 1 1 0;
    min-width: 0;
    height: clamp(12rem, 28vw, 17.9375rem);
}

.year-1998__row-text {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    justify-content: flex-end;
    min-width: 0;
    min-height: clamp(12rem, 28vw, 17.9375rem);
    padding-block: var(--space-sm);
    font-size: var(--text-body);
    line-height: 1.46;
    color: var(--color-text-dark);
    opacity: 0.8;
}

@media (max-width: 48rem) {
    .year-1998__hero {
        min-height: 0;
        padding: 0;
        gap: var(--space-md);
        border: none;
        overflow: visible;
        aspect-ratio: auto;
    }

    .year-1998__hero-text {
        order: -1;
        max-width: none;
    }

    .year-1998__hero-media {
        position: relative;
        inset: auto;
        border: 1px solid var(--color-border);
        border-radius: var(--radius-md);
        aspect-ratio: 16 / 9;
    }

    .year-1998__row {
        flex-direction: column;
        align-items: stretch;
    }

    .year-1998__photo-wrap {
        min-height: clamp(12rem, 50vw, 17.9375rem);
    }

    .year-1998__row-text {
        flex: auto;
        min-height: 0;
        padding-block: 0;
        justify-content: flex-start;
    }

    .year-1998__hero-glow {
        top: -4rem;
        left: -12rem;
        width: min(53.625rem, 150vw);
        height: auto;
        aspect-ratio: 858 / 200;
    }
}

/* ── 1999 ── */
.year-1999 {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.year-1999__products {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-sm);
    width: 34.8125rem;
    max-width: 100%;
}

.year-1999__product {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 9.125rem;
    padding: 0.625rem;
    border-radius: var(--radius-sm);
    background: var(--color-surface);
    overflow: hidden;
}

.year-1999__product-img {
    width: 10.5625rem;
    height: 10.5625rem;
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    mix-blend-mode: multiply;
}

.year-1999__product-img--contain {
    width: 12.8125rem;
    height: 8.46625rem;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    mix-blend-mode: normal;
}

@media (max-width: 48rem) {
    .year-1999__products {
        width: 100%;
    }
}

/* ── 2000 ── */
.year-2000 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.year-2000__header {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
    align-items: start;
    color: var(--color-text-dark);
}

.year-2000__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    width: 100%;
    aspect-ratio: 1016 / 411;
}

.year-2000__grid-item {
    min-height: 0;
}

.year-2000__grid-item--tall {
    grid-row: span 2;
}

.year-2000__grid-item--wide {
    grid-column: span 2;
}

@media (max-width: 48rem) {
    .year-2000__header {
        grid-template-columns: 1fr;
    }

    .year-2000__grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        aspect-ratio: auto;
    }

    .year-2000__grid-item {
        aspect-ratio: 328 / 197.5;
    }

    .year-2000__grid-item--tall,
    .year-2000__grid-item--wide {
        grid-column: auto;
        grid-row: auto;
    }

    .year-2000__grid-item--tall {
        aspect-ratio: 328 / 411;
    }

    .year-2000__grid-item--wide {
        aspect-ratio: 672 / 197.5;
    }
}

/* ── 2001 ── */
.year-2001 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
    align-items: start;
}

.year-2001__logo {
    width: auto;
    max-width: 15.9375rem;
    height: auto;
}

.year-2001__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    color: var(--color-text-dark);
}

@media (max-width: 48rem) {
    .year-2001 {
        grid-template-columns: 1fr;
    }
}

/* ── 2002 ── */
.year-2002 {
    display: flex;
    gap: clamp(2rem, 5vw, 4.9375rem);
    align-items: flex-start;
}

.year-2002__content {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    max-width: 49.1875rem;
    min-width: 0;
}

.year-2002__logo {
    flex-shrink: 0;
    width: 9.3125rem;
    height: auto;
}

@media (max-width: 48rem) {
    .year-2002 {
        flex-direction: column;
    }

    .year-2002__logo {
        order: -1;
    }
}

/* ── 2003 ── */
.year-2003 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    color: var(--color-text-dark);
}

.year-2003__intro {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 31rem;
}

.year-2003__title {
    font-size: var(--text-h);
    line-height: 1.2;
}

.year-2003__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
}

.year-2003__photo-wrap {
    min-height: clamp(12rem, 22vw, 20.1875rem);
}

.year-2003__strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
    align-items: start;
}

.year-2003__brand-logo {
    max-width: 17.0625rem;
    height: auto;
}

.year-2003__strip-title {
    font-size: var(--text-h);
    line-height: 1.2;
    margin-bottom: var(--space-md);
}

@media (max-width: 48rem) {
    .year-2003__grid,
    .year-2003__strip {
        grid-template-columns: 1fr;
    }
}

/* ── 2004 ── */
.year-2004 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    color: var(--color-text-dark);
}

.year-2004__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    max-width: 31rem;
}

.year-2004__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    width: 100%;
    aspect-ratio: 1016 / 637;
}

.year-2004__card {
    min-height: 0;
}

.year-2004__photo-wrap {
    min-height: 0;
}

.year-2004__photo-wrap--wide {
    grid-column: span 2;
}

@media (max-width: 48rem) {
    .year-2004__grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        aspect-ratio: auto;
    }

    .year-2004__photo-wrap {
        aspect-ratio: 328 / 310.5;
    }

    .year-2004__photo-wrap--wide {
        grid-column: auto;
        aspect-ratio: 672 / 310.5;
    }
}

/* ── 2005 ── */
.year-2005 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.year-2005__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 31rem;
}

.year-2005__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    width: 100%;
    aspect-ratio: 1016 / 679;
}

.year-2005__photo-wrap {
    min-height: 0;
}

.year-2005__card {
    min-height: 0;
    padding: 2rem var(--space-lg);
}

.year-2005__card .accent-card__text {
    font-size: var(--text-h);
    line-height: 1.2;
}

@media (max-width: 48rem) {
    .year-2005__grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        aspect-ratio: auto;
    }

    .year-2005__photo-wrap {
        aspect-ratio: 500 / 331.5;
    }
}

/* ── 2006 ── */
.year-2006 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    color: var(--color-text-dark);
}

.year-2006__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    max-width: 31rem;
}

.year-2006__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    width: 100%;
}

.year-2006__hero {
    border-radius: var(--radius-md);
    padding: var(--space-lg);
    min-height: clamp(20rem, 52vw, 38.875rem);
}

.year-2006__hero .media-hero__bg {
    border-radius: inherit;
}

.year-2006__overlay {
    gap: 2rem;
    max-width: 25.375rem;
}

.year-2006__device {
    width: 11.4375rem;
    height: 8.75rem;
    border-radius: var(--radius-sm);
    background: var(--color-surface-alt);
    overflow: hidden;
}

.year-2006__device img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.year-2006__overlay-text {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.year-2006__rows {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.year-2006__row {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.year-2006__photos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
}

.year-2006__photos .photo-wrap {
    min-height: clamp(12rem, 28vw, 17.9375rem);
}

@media (max-width: 48rem) {
    .year-2006__photos {
        grid-template-columns: 1fr;
    }
}

/* ── 2007 ── */
.year-2007 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.year-2007__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    max-width: 31rem;
}

.year-2007__title {
    font-size: var(--text-h);
    line-height: 1.2;
    font-weight: 400;
}

.year-2007__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    width: 100%;
    aspect-ratio: 1016 / 658;
}

.year-2007__hero {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 0;
    padding: var(--space-lg);
}

.year-2007__card {
    width: min(13.75rem, 100%);
    min-height: 11.8125rem;
}

.year-2007__photo-wrap {
    min-height: 0;
}

@media (max-width: 48rem) {
    .year-2007__grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        aspect-ratio: auto;
    }

    .year-2007__hero {
        grid-column: auto;
        aspect-ratio: 1016 / 321;
    }

    .year-2007__photo-wrap {
        aspect-ratio: 328 / 321;
    }
}

/* ── 2008 ── */
.year-2008 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.year-2008__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 31rem;
}

.year-2008__text {
    font-size: var(--text-body);
    line-height: 1.46;
    opacity: 0.8;
}

.year-2008__photos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md) var(--space-md);
    min-height: clamp(12rem, 42vw, 20.8125rem);
}

.year-2008__photo {
    min-height: inherit;
    height: 100%;
}

.year-2008__docs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
    min-height: clamp(16rem, 58vw, 29.1875rem);
}

.year-2008__doc {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: inherit;
    padding: var(--space-sm);
    border-radius: var(--radius-sm);
    background: var(--color-surface-alt);
}

.year-2008__doc-img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: clamp(14rem, 52vw, 26.8125rem);
    height: auto;
    object-fit: contain;
}

@media (max-width: 64rem) {
    .year-2008__docs {
        grid-template-columns: 1fr;
    }

    .year-2008__photos {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .year-2008__photo {
        min-height: clamp(12rem, 50vw, 20rem);
    }
}

/* ── 2009 ── */
.year-2009 {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    color: var(--color-text-dark);
}

.year-2009__top {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
    align-items: stretch;
    min-height: clamp(14rem, 40vw, 19.625rem);
}

.year-2009__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--space-lg);
    min-height: 100%;
}

.year-2009__text {
    font-size: var(--text-h);
    line-height: 1.2;
}

.year-2009__photo {
    min-height: inherit;
    height: 100%;
}

.year-2009__card {
    min-height: 100%;
    padding: var(--space-md) var(--space-md) var(--space-lg);
}

.year-2009__photos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md) var(--space-md);
    min-height: clamp(12rem, 42vw, 20.8125rem);
}

@media (max-width: 64rem) {
    .year-2009__top {
        grid-template-columns: 1fr;
    }

    .year-2009__photos {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .year-2009__photo {
        min-height: clamp(12rem, 50vw, 20rem);
    }

    .year-2009__card {
        min-height: clamp(14rem, 55vw, 19.625rem);
    }
}

/* ── 2010 ── */
.year-2010 {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    width: 100%;
}

.year-2010__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 49.1875rem;
}

.year-2010__photos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-sm);
    max-width: 34.8125rem;
    min-height: 9.125rem;
}

.year-2010__photo {
    min-height: inherit;
    height: 100%;
}

@media (max-width: 48rem) {
    .year-2010__photos {
        max-width: none;
        min-height: clamp(8rem, 40vw, 9.125rem);
    }
}

/* ── 2011 ── */
.year-2011 {
    width: 100%;
}

.year-2011__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    align-items: stretch;
    width: 100%;
    aspect-ratio: 1016 / 333;
}

.year-2011__card {
    min-height: 0;
    padding: 2rem var(--space-lg);
}

.year-2011__photo {
    min-height: 0;
}

@media (max-width: 48rem) {
    .year-2011__grid {
        grid-template-columns: 1fr;
        aspect-ratio: auto;
    }

    .year-2011__card {
        min-height: clamp(10rem, 40vw, 14rem);
    }

    .year-2011__photo {
        aspect-ratio: 500 / 333;
    }
}

/* ── 2012 ── */
.year-2012 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    color: var(--color-text-dark);
}

.year-2012__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    max-width: 31rem;
}

.year-2012__title {
    font-size: var(--text-h);
    line-height: 1.2;
    font-weight: 400;
}

.year-2012__header .text-body ul {
    padding-left: 1.6875rem;
    list-style: disc;
}

.year-2012__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    width: 100%;
    aspect-ratio: 1016 / 666;
}

.year-2012__photo {
    min-height: 0;
}

.year-2012__hero {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 0;
    padding: var(--space-lg);
}

.year-2012__card {
    width: min(13.75rem, 100%);
    min-height: 11.8125rem;
}

@media (max-width: 48rem) {
    .year-2012__grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        aspect-ratio: auto;
    }

    .year-2012__photo {
        aspect-ratio: 328 / 325;
    }

    .year-2012__hero {
        grid-column: auto;
        aspect-ratio: 1016 / 325;
    }
}

/* ── 2013 ── */
.year-2013 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.year-2013__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 31rem;
}

.year-2013__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    width: 100%;
}

.year-2013__hero {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: clamp(20rem, 61vw, 38.875rem);
    padding: var(--space-lg);
    border-radius: var(--radius-md);
}

.year-2013__card {
    gap: var(--space-sm);
    max-width: 33.5rem;
    padding: var(--space-lg);
}

.year-2013__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
}

.year-2013__item {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.year-2013__photo {
    height: clamp(12rem, 28vw, 17.9375rem);
}

.year-2013__caption {
    padding-inline: var(--space-xs);
    opacity: 0.8;
    line-height: 1.46;
}

@media (max-width: 48rem) {
    .year-2013__row {
        grid-template-columns: 1fr;
    }
}

/* ── 2014 ── */
.year-2014 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    width: 100%;
}

/* ── 2015 ── */
.year-2015 {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--space-xl);
    color: var(--color-text-dark);
}

.year-2015__header {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
    align-items: start;
    width: 100%;
}

.year-2015__intro {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.year-2015__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    width: 100%;
    aspect-ratio: 1016 / 411;
}

.year-2015__grid-item {
    min-height: 0;
}

.year-2015__grid-item--wide {
    grid-column: span 2;
}

.year-2015__grid-item--tall {
    grid-column: 3;
    grid-row: span 2;
}

.year-2015__exhibition {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    width: 100%;
    max-width: 31rem;
}

@media (max-width: 48rem) {
    .year-2015__header {
        grid-template-columns: 1fr;
    }

    .year-2015__grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        aspect-ratio: auto;
    }

    .year-2015__grid-item {
        aspect-ratio: 4 / 3;
    }

    .year-2015__grid-item--wide,
    .year-2015__grid-item--tall {
        grid-column: auto;
        grid-row: auto;
    }

    .year-2015__grid-item--wide {
        aspect-ratio: 1016 / 321;
    }

    .year-2015__grid-item--tall {
        aspect-ratio: 328 / 411;
    }

    .year-2015__exhibition {
        max-width: none;
    }
}

/* ── 2016 ── */
.year-2016 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    color: var(--color-text-dark);
}

.year-2016__top {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.year-2016__intro {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 31rem;
}

.year-2016__events {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    width: 100%;
}

.year-2016__event {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    width: 100%;
}

.year-2016__photos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    align-items: stretch;
}

@media (max-width: 48rem) {
    .year-2016__photos {
        grid-template-columns: 1fr;
    }
}

/* ── 2017 ── */
.year-2017 {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    color: var(--color-text-dark);
}

.year-2017__top {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.year-2017__headline,
.year-2017__body {
    max-width: 49.1875rem;
}

.year-2017__headline {
    color: var(--color-text-dark);
}

.year-2017__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
    align-items: stretch;
    width: 100%;
    min-height: clamp(12rem, 28vw, 18.3125rem);
}

.year-2017__panel {
    justify-content: space-between;
    min-height: 100%;
}

.year-2017__grid .accent-card {
    min-height: 100%;
}

@media (max-width: 64rem) {
    .year-2017__grid {
        grid-template-columns: 1fr;
        min-height: 0;
    }
}

/* ── 2018 ── */
.year-2018 {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    width: 100%;
}

.year-2018__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 31rem;
}

.year-2018__header .text-body ul {
    padding-left: 1.6875rem;
    list-style: disc;
}

/* ── 2019 ── */
.year-2019 {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    width: 100%;
}

.year-2019__header {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
    align-items: start;
}

.year-2019__title {
    display: flex;
    gap: var(--space-sm);
    align-items: baseline;
    color: var(--color-text-light);
}

.year-2019__year {
    font-size: clamp(1.5rem, 1.25rem + 0.75vw, 2rem);
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
}

.year-2019__subtitle {
    font-size: var(--text-h);
    line-height: 1.2;
    font-weight: 400;
}

.year-2019__list {
    padding-left: 1.6875rem;
    list-style: disc;
    font-size: var(--text-body);
    line-height: 1.46;
    opacity: 0.8;
    color: var(--color-text-light);
}

.year-2019__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    height: clamp(12rem, 41vw, 20.1875rem);
}

.year-2019__grid-item {
    border-radius: var(--radius-sm);
    overflow: hidden;
    min-height: 0;
}

.year-2019__grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.year-2019__hero {
    border-radius: var(--radius-sm);
    overflow: hidden;
    height: clamp(20rem, 76vw, 38.3125rem);
}

.year-2019__hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.year-2019__footer {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: var(--space-xs);
    width: 100%;
}

.year-2019__footer-title {
    width: 100%;
    max-width: 31rem;
    font-size: var(--text-h);
    line-height: 1.2;
    color: var(--color-text-light);
}

.year-2019__footer-text {
    width: 100%;
    max-width: 31rem;
    font-size: var(--text-body);
    line-height: 1.46;
    opacity: 0.8;
    color: var(--color-text-light);
}

@media (max-width: 48rem) {
    .year-2019__header {
        grid-template-columns: 1fr;
    }

    .year-2019__grid {
        grid-template-columns: 1fr;
        height: auto;
    }

    .year-2019__grid-item {
        aspect-ratio: 500 / 323;
    }

    .year-2019__footer {
        align-items: stretch;
    }
}

/* ── 2020 ── */
.year-2020 {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    width: 100%;
}

.year-2020 .chip {
    opacity: 1;
    color: rgba(255, 255, 255, 0.8);
}

.year-2020 .headline {
    max-width: 49.1875rem;
    color: var(--color-text-dark);
}

.year-2020__media {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.year-2020__row--hero {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-md);
    height: clamp(20rem, 36.1875rem, 38rem);
}

.year-2020__hero {
    grid-column: span 2;
    min-height: 0;
    height: 100%;
    aspect-ratio: auto;
    border-radius: var(--radius-sm);
}

.year-2020__diploma {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0.625rem;
    border-radius: var(--radius-sm);
    background: var(--color-surface-alt);
    overflow: hidden;
}

.year-2020__diploma-img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: clamp(18rem, 27vw, 27rem);
    height: auto;
    object-fit: contain;
}

.year-2020__row--cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    height: clamp(12rem, 19vw, 19.0625rem);
}

.year-2020__office {
    display: flex;
    flex-direction: column;
    min-height: 0;
    border-radius: var(--radius-sm);
    background: var(--color-surface-alt);
    overflow: hidden;
}

.year-2020__office-media {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

.year-2020__office-photo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 38%;
}

.year-2020__office-caption {
    flex-shrink: 0;
    margin: 0;
    padding: var(--space-sm) var(--space-md) var(--space-md);
    opacity: 0.8;
    background: var(--color-surface-alt);
}

.year-2020__marketplace {
    min-height: 0;
    padding: var(--space-md);
    gap: 0;
}

@media (max-width: 48rem) {
    .year-2020__row--hero,
    .year-2020__row--cards {
        grid-template-columns: 1fr;
        height: auto;
    }

    .year-2020__hero {
        grid-column: auto;
        height: auto;
        aspect-ratio: 672 / 579;
    }

    .year-2020__office-media {
        min-height: clamp(12rem, 50vw, 18rem);
    }
}

/* ── 2021 ── */
.year-2021 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    width: 100%;
    color: var(--color-text-dark);
}

.year-2021__header {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
    align-items: start;
}

.year-2021__list ul {
    padding-left: 1.6875rem;
    list-style: disc;
}

.year-2021__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    width: 100%;
    aspect-ratio: 1016 / 451;
}

.year-2021__grid-item {
    min-height: 0;
}

.year-2021__grid-item--tall {
    grid-column: 2;
    grid-row: span 2;
}

.year-2021__footer {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    align-items: stretch;
}

.year-2021__card {
    height: 100%;
    padding: var(--space-md);
    gap: 0;
}

.year-2021__product {
    aspect-ratio: 500 / 287;
}

@media (max-width: 48rem) {
    .year-2021__header,
    .year-2021__footer {
        grid-template-columns: 1fr;
    }

    .year-2021__grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        aspect-ratio: auto;
    }

    .year-2021__grid-item {
        aspect-ratio: 500 / 217.5;
    }

    .year-2021__grid-item--tall {
        grid-column: auto;
        grid-row: auto;
        aspect-ratio: 500 / 451;
    }
}

/* ── 2022 ── */
.year-2022 {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    width: 100%;
}

.year-2022__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 49.1875rem;
}

.year-2022__media.media-grid--mosaic-alt {
    grid-template-columns: 2fr 1fr;
    grid-template-rows: minmax(0, 1fr);
    height: clamp(16rem, 42vw, 25rem);
}

.year-2022__media .media-grid__item {
    min-height: 0;
    height: 100%;
}

.year-2022__media .media-grid__item--hero {
    grid-row: auto;
}

.year-2022__media .media-grid__item--news {
    border-radius: 0;
    background: #fff;
}

.year-2022__media .media-grid__item--news > img {
    object-fit: cover;
    object-position: top center;
}

@media (max-width: 48rem) {
    .year-2022__media.media-grid--mosaic-alt {
        height: auto;
    }

    .year-2022__media .media-grid__item {
        min-height: clamp(12rem, 50vw, 20rem);
        height: auto;
    }
}

/* ── 2023 ── */
.year-2023 {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    width: 100%;
}

.year-2023__comics {
    padding: var(--space-md);
    border-radius: var(--radius-md);
    background: var(--color-surface-alt);
    overflow: hidden;
}

.year-2023__comics img {
    display: block;
    width: 100%;
    height: auto;
}

/* ── 2024 ── */
.year-2024 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    width: 100%;
    color: var(--color-text-dark);
}

.year-2024__event {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    max-width: 49.1875rem;
}

.year-2024__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    max-width: 49.1875rem;
}

.year-2024__photos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: minmax(0, 1fr);
    gap: var(--space-sm) var(--space-md);
    height: 20.8125rem;
}

.year-2024__photo {
    min-height: 0;
    height: 100%;
}

.year-2024__photo--bordered {
    border: 1px solid var(--color-border);
}

@media (max-width: 64rem) {
    .year-2024__photos {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        height: auto;
    }

    .year-2024__photo {
        aspect-ratio: 3 / 2;
        height: auto;
    }
}

/* ── 2025 ── */
.year-2025 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    width: 100%;
}

.year-2025__block {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    max-width: 49.1875rem;
}

/* ── 2026 ── */
.year-2026 {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    width: 100%;
}

/* ── outro ── */
#outro .year-block__inner {
    z-index: 0;
}

.finale {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    width: 100%;
}

.finale__title {
    font-size: var(--text-headline);
    line-height: 1.2;
    font-weight: 400;
    color: var(--color-text-muted);
}

.finale__accent {
    color: var(--color-accent-light);
}

.finale__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
}

.finale__card {
    display: flex;
    flex-direction: column;
    min-height: clamp(16rem, 28vw, 22.5625rem);
    padding: 2rem var(--space-lg);
    border-radius: var(--radius-sm);
}

.finale__card--brand {
    justify-content: space-between;
    background: var(--color-accent);
    color: var(--color-text-light);
}

.finale__card--thanks {
    justify-content: flex-end;
    gap: var(--space-lg);
    background: var(--color-surface);
    color: var(--color-text-dark);
}

.finale__logo {
    width: 5.375rem;
    height: 1.875rem;
}

.finale__icon {
    width: 5rem;
    height: 5rem;
    position: relative;
}

.finale__dot {
    position: absolute;
    border-radius: 3px;
    width: 6px;
    height: 6px;
    background: var(--color-accent-light);
    top: 50%;
    left: 50%;
    margin-top: -5px;
    margin-left: -3px;
}

.finale__text {
    font-size: var(--text-h);
    line-height: 1.2;
    opacity: 0.8;
}

@media (max-width: 48rem) {
    .finale__cards {
        grid-template-columns: 1fr;
    }

    .finale__dot {
        display: none;
    }
}
