/* Year-close components only; the original circus theme and animations stay intact. */
.year-close .close-hero { min-height: 850px; min-height: min(960px, 100svh); }
.close-hero .hero-background { position: absolute; inset: 0; display: block; }
.close-hero .hero-image { object-position: 50% 55%; transform: scale(-1.025, 1.025); animation-name: mirrored-hero-breathe; }
@keyframes mirrored-hero-breathe {
  from { transform: scale(-1.025, 1.025); }
  to { transform: scale(-1.08, 1.08); }
}
.close-hero .hero-content { padding-top: 150px; padding-bottom: 68px; }
.close-hero h1 { font-size: clamp(2.8rem, 5.7vw, 5.8rem); max-width: 1000px; }
.close-hero .hero-copy { max-width: 660px; }
.close-status { max-width: 690px; margin: 22px 0 0; padding-left: 16px; border-left: 2px solid var(--amber); color: #eee4dc; font-size: .9rem; }
.close-facts { background: var(--ink); color: white; border-top: 1px solid #ffffff24; }
.close-facts > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding-block: 26px; gap: 24px; }
.close-facts span { min-width: 0; }
.close-facts small, .close-facts strong { display: block; }
.close-facts small { color: #c4bac7; font-size: .78rem; }
.close-facts strong { font-size: 1.05rem; }
.thanks-section { background: var(--paper-deep); }
.thanks-layout { display: grid; grid-template-columns: 1fr 1.15fr; gap: 70px; align-items: center; }
.thanks-layout h2 { font-size: clamp(2.6rem, 5vw, 4.6rem); margin-bottom: 0; }
.thanks-layout p { font-size: 1.05rem; }
.results-section { background: linear-gradient(140deg, #1c1426, #0c0913 65%); color: white; }
.results-section .section-heading-row > p { color: #d3c9d7; }
.results-section h2 { font-size: clamp(2.6rem, 5.2vw, 4.6rem); }
/* One continuous dark area, with the same content edges as the winners above. */
.year-close .close-hero + .results-section { padding-bottom: 40px; }
.year-close .social-section {
  position: relative;
  overflow: hidden;
  padding: clamp(40px, 5vw, 72px) 0 clamp(48px, 6vw, 80px);
  background: radial-gradient(circle at 88% 12%, rgba(167,139,250,.14), transparent 35%),
    radial-gradient(circle at 8% 100%, rgba(255,107,44,.1), transparent 36%),
    linear-gradient(180deg, #0c0913, #120d1c), #0c0913;
  color: #fff;
}
.year-close .social-panel {
  overflow: visible;
  border-radius: 0;
  padding: 0;
  background: none;
  box-shadow: none;
}
.year-close .social-panel::after { content: none; }
.counting-resolution { display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; gap: 40px; margin: 35px 0; padding: 32px 40px; border: 1px solid #ffb34f66; border-radius: 22px; background: radial-gradient(ellipse at 10% 50%, #8c3c1c55, transparent 65%); }
.result-tag { display: inline-block; color: #ffd28d; font-size: .78rem; font-weight: 800; letter-spacing: .04em; }
.result-number { margin: 12px 0 0; color: var(--amber); font-size: clamp(6rem, 12vw, 10rem); font-weight: 950; line-height: .95; font-variant-numeric: tabular-nums; letter-spacing: -.06em; }
.result-number > span { display: block; margin-top: 14px; font-size: 1.1rem; letter-spacing: .12em; text-transform: uppercase; }
.counting-resolution h3 { font-size: clamp(1.6rem, 2.5vw, 2.4rem); line-height: 1.15; }
.counting-resolution p:not(.result-number) { color: #e2d9e5; margin-bottom: 20px; }
.winner-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; align-items: start; }
.winner-group { min-width: 0; }
.winner-group > h3 { font-size: 1.4rem; margin-bottom: 4px; }
.winner-group > p { color: #d3c9d7; font-size: .9rem; }
.counting-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.winner-photo { margin: 0; overflow: hidden; border: 1px solid #ffffff24; border-radius: 18px; background: #201925; }
.winner-photo picture { display: block; background: #30252c; }
.winner-photo img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: center 38%; }
.winner-photo figcaption { padding: 17px 18px; font-size: .85rem; }
.winner-photo figcaption strong, .winner-photo figcaption span { display: block; }
.winner-photo figcaption span { color: #d3c9d7; margin-top: 3px; }
.anonymous-note { margin: 18px 0 0; padding: 16px; border: 1px solid #ffffff24; border-radius: 14px; }
.winner-privacy { margin: 28px 0 0; max-width: 880px; color: #c4bac7; font-size: .8rem; }
.winner-privacy a { color: #ffd28d; text-decoration: underline; text-underline-offset: 3px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; color: #e2d9e5; font-size: .86rem; }
.breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; }
.archive-hero h1 { font-size: clamp(3rem, 8vw, 7rem); }
.archive-rules { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.archive-rules article, .archive-link-card { padding: 30px; border: 1px solid var(--line); border-radius: 22px; background: var(--cream); }
.archive-link-card h2 { margin-block: 22px; font-size: clamp(2.5rem, 6vw, 4.5rem); }
.archive-link-card .result-tag { color: #83401a; }
.archive-earlier { margin-top: 28px; }
.archive-past { background: var(--paper-deep); }
.archive-past h2 { font-size: clamp(2.4rem, 4vw, 4rem); }
.archive-past .contest-result-winner { padding: 22px; max-width: 440px; background: var(--ink); color: white; border-radius: 16px; }
.archive-past .contest-result-winner > * { display: block; }
.visit-inner > p:not(.eyebrow) { max-width: 670px; margin-inline: auto; }
.year-close .reveal { opacity: 1; transform: none; }
.year-close h2 { hyphens: auto; overflow-wrap: break-word; }
.year-close .trailer-layout .section-heading h2 { font-size: clamp(2.3rem, 4vw, 3.8rem); }
.year-close .visit-inner h2 { font-size: clamp(2.4rem, 6vw, 5.6rem); }
@media (max-width: 1180px) and (min-width: 1021px) {
  .site-header .site-navigation { gap: 13px; font-size: .76rem; }
  .site-header .brand small { letter-spacing: .025em; }
}
@media (max-width: 900px) {
  .close-facts > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .thanks-layout { gap: 30px; }
  .winner-grid { grid-template-columns: 1fr; gap: 32px; }
  .winner-grid > .winner-group:last-child { max-width: 450px; }
  .counting-resolution { padding: 28px; gap: 26px; }
}
@media (max-width: 760px) {
  .year-close .close-hero { min-height: auto; }
  .close-hero .hero-content { padding-top: 132px; padding-bottom: 46px; }
  .close-hero h1 { font-size: clamp(2.55rem, 8.8vw, 4rem); }
  .close-hero .hero-copy { font-size: 1rem; }
  .close-hero .hero-actions { align-items: stretch; }
  .close-status { font-size: .84rem; }
  .close-facts > div { gap: 20px 16px; }
  .close-facts strong { font-size: .92rem; }
  .thanks-layout, .counting-resolution, .archive-rules { grid-template-columns: 1fr; }
  .counting-resolution { gap: 28px; padding: 24px; }
  .result-number { font-size: 7rem; }
  .thanks-layout h2 { margin-bottom: 10px; }
}
@media (max-width: 480px) {
  .counting-photos { grid-template-columns: 1fr; }
  .winner-photo img { aspect-ratio: 3 / 4; }
  .archive-rules article { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .year-close *, .year-close *::before, .year-close *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
