.timbilding-season {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 360rem) minmax(0, 520rem);
    justify-content: space-around;
    align-items: center;
    gap: 64rem;
    padding: 48rem;
    margin: 32rem 0;
    border-radius: 28rem;
    background: radial-gradient(ellipse at 100% 0%, #538d98 0, transparent 60%), #174c56;
    color: #fff;
    isolation: isolate;
}
.timbilding-season [hidden] { display: none !important; }
.teambild.teambild--season {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 5fr);
    gap: 30rem;
    padding: 0 30rem 30rem;
    border: 1px solid #bfd4d8;
    border-radius: 28rem;
    background: #f4f8f8;
}
.teambild--season .timbilding-season--home {
    grid-column: 1 / -1;
    margin: -1px calc(-30rem - 1px) 0;
    border-radius: 28rem 28rem 0 0;
    overflow: hidden;
}
.teambild--season .teambild-left { max-width: none; border: 0; padding: 16rem 0; }
.teambild--season .teambild-block { min-width: 0; }
.teambild--season .teambild-item { background: #fff; }
.timbilding-season--home .timbilding-snow { position: absolute; z-index: -1; }
.timbilding-season__copy { min-width: 0; text-align: left; }
.timbilding-season .timbilding-season__eyebrow {
    font-size: clamp(12px, 14rem, 16px);
    letter-spacing: .09em;
    text-transform: uppercase;
    color: #fbd694;
    margin: 0 0 18rem;
}
.timbilding-season .timbilding-season__title {
    font-size: clamp(26px, 44rem, 48px);
    font-weight: 700;
    line-height: 1.08;
    text-transform: none;
    color: #fff;
    margin: 0 0 18rem;
}
.timbilding-season .timbilding-season__description {
    font-size: clamp(14px, 18rem, 20px);
    line-height: 1.5;
    margin: 0;
    max-width: 400rem;
}
.timbilding-season__controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10rem;
    margin-top: 24rem;
}
.timbilding-season .timbilding-season__control {
    border: 1px solid #91b5bd;
    background: #ffffff0d;
    color: #fff;
    border-radius: 30rem;
    padding: 10rem 18rem;
    min-height: 44px;
    cursor: pointer;
    font: inherit;
    font-size: clamp(13px, 15rem, 17px);
    line-height: 1.3;
}
.timbilding-season__control:hover { background: #ffffff1c; }
.timbilding-season__control:disabled { cursor: default; opacity: .7; }
.timbilding-season .timbilding-season__track-switch { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; padding: 10rem; }
.timbilding-season .timbilding-season__track-title { width: 100%; color: #e0edef; font-size: clamp(12px, 14rem, 16px); line-height: 1.4; overflow-wrap: anywhere; }
.timbilding-season__control:focus-visible,
.timbilding-presentation:focus-visible { outline: 3px solid #ffb632; outline-offset: 4px; }
.timbilding-season .timbilding-season__status {
    width: 100%;
    font-size: clamp(12px, 14rem, 16px);
    line-height: 1.4;
}
.timbilding-season__status:empty { display: none; }
.timbilding-season__audio { max-width: 100%; }
.timbilding-season.is-enhanced .timbilding-season__audio { display: none; }
.timbilding-season__countdown { min-width: 0; text-align: center; }
.timbilding-season .timbilding-season__countdown-title {
    font-size: clamp(18px, 24rem, 28px);
    color: #fff;
    margin: 0 0 20rem;
}
.timbilding-season .timbilding-season__date,
.timbilding-season .timbilding-season__wish {
    font-size: clamp(13px, 15rem, 17px);
    line-height: 1.5;
    color: #e0edef;
    margin: 20rem 0 0;
}
.timbilding-season__digits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10rem; }
.timbilding-season__unit { padding: 24rem 6rem 18rem; border: 1px solid #ffffff30; border-radius: 16rem; background: #ffffff0d; }
.timbilding-season .timbilding-season__number {
    display: block;
    font-size: clamp(28px, 46rem, 50px);
    font-weight: 600;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    color: #fff;
}
.timbilding-season .timbilding-season__unit-label { display: block; font-size: clamp(11px, 13rem, 15px); margin-top: 10rem; color: #e0edef; }
.timbilding-season .timbilding-season__greeting { font-size: clamp(26px, 40rem, 46px); font-weight: 600; color: #fbd694; margin: 0; }
.timbilding-archive-actions { display: flex; justify-content: center; margin: 24rem 0 36rem; }
.timbilding-archive-actions .timbilding-presentation {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12rem;
    padding: 14rem 30rem;
    min-height: 44px;
    max-width: 100%;
    border-radius: 30rem;
    background: var(--accent, #548d98);
    color: #fff;
    text-align: center;
    text-decoration: none;
}
.timbilding-presentation span { font-size: clamp(14px, 17rem, 20px); line-height: 1.4; overflow-wrap: anywhere; min-width: 0; }
.timbilding-presentation svg { flex: 0 0 20px; }
.timbilding-presentation:hover { background: #326a76; }
.timbilding-snow { position: fixed; inset: 0; z-index: 80; pointer-events: none; overflow: hidden; }
.timbilding-snow span {
    position: absolute;
    top: -20px;
    width: var(--flake-size);
    height: var(--flake-size);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 3px #548d9870;
    opacity: .7;
    animation: timbilding-snow-fall var(--fall-duration) linear infinite;
    animation-delay: var(--fall-delay);
}
.timbilding-snow.is-paused span { animation-play-state: paused; }
@keyframes timbilding-snow-fall {
    from { transform: translate3d(0, -20px, 0); }
    to { transform: translate3d(var(--flake-drift), calc(100vh + 40px), 0); }
}
@media (max-width: 1024px) {
    .timbilding-season { gap: 24rem; padding: 30rem; }
    .timbilding-season .timbilding-season__title { font-size: 34rem; }
}
@media (max-width: 1150px) {
    .teambild.teambild--season { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
    .timbilding-season { grid-template-columns: minmax(0, 520px); padding: 26rem; gap: 32rem; border-radius: 22rem; }
    .timbilding-season__copy { text-align: center; }
    .timbilding-season .timbilding-season__title { font-size: clamp(28px, 40rem, 40px); }
    .timbilding-season .timbilding-season__description { max-width: 32ch; margin-inline: auto; text-wrap: balance; }
    .timbilding-season__controls { justify-content: center; }
    .timbilding-season__unit { padding: 20rem 4rem 16rem; }
    .teambild.teambild--season { padding: 0 20rem 20rem; gap: 24rem; border-radius: 22rem; }
    .teambild--season .timbilding-season--home { margin-inline: calc(-20rem - 1px); border-radius: 22rem 22rem 0 0; }
    .teambild--season .teambild-left { align-items: center; text-align: center; padding: 0; }
}
@media (max-width: 700px) {
    .timbilding-archive-actions .timbilding-presentation { width: 100%; }
}
@media (max-width: 380px) {
    .timbilding-season__control[data-music-toggle] { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .timbilding-snow { display: none !important; }
}
