.cf-award-page { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.cf-award-page h1 { font-size: clamp(2rem, 3.4vw, 3rem); font-weight: 650; line-height: 1.16; letter-spacing: -.025em; max-width: 920px; }
.cf-award-page article > p:first-of-type { font-size: .9rem; color: #526364; margin-top: .8rem; }
.cf-award-page .btn { font-family: inherit; }
.cf-award-story { --cf-ink: #173e3f; --cf-accent: #f1e528; --cf-muted: #526364; margin-top: 1.75rem; color: #273738; }
.cf-award-story p { line-height: 1.75; }
.cf-award-story h2 { color: var(--cf-ink); font-size: clamp(1.55rem, 2.5vw, 2rem); font-weight: 650; line-height: 1.25; margin-bottom: 1.15rem; }
.cf-award-story h3 { color: var(--cf-ink); font-size: 1.15rem; margin-bottom: .65rem; }
.cf-award-kicker { font-size: .82rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cf-ink); border-left: 4px solid var(--cf-accent); padding-left: .8rem; margin-bottom: 1.5rem; }
.cf-award-hero { display: grid; grid-template-columns: 1fr 1.15fr; gap: 2.5rem; align-items: center; }
.cf-award-intro .lead { font-size: 1.2rem; line-height: 1.65; font-weight: 500; }
.cf-award-story figure { margin: 0; min-width: 0; }
.cf-award-visual { overflow: hidden; border-radius: 8px; border: 1px solid #e0e6e2; background: white; }
.cf-award-photo { display: block; width: 100%; height: auto; }
.cf-award-brands { border-top: 3px solid var(--cf-accent); padding: .9rem 1.2rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.cf-award-brands img { width: auto; height: 38px; max-width: 44%; object-fit: contain; }
.cf-award-story figcaption { color: var(--cf-muted); font-size: .84rem; line-height: 1.6; margin-top: .7rem; }
.cf-award-story .cf-award-vote { display: inline-flex; align-items: center; justify-content: center; gap: 1.2rem; padding: .85rem 1.25rem; font-weight: 700; color: #173e3f; background: var(--cf-accent); border: 2px solid var(--cf-accent); white-space: normal; min-height: 48px; text-decoration: none; }
.cf-award-story .cf-award-vote:hover { color: #173e3f; background: #fff36b; border-color: #fff36b; }
.cf-award-story a:focus-visible { outline: 3px solid #086e99; outline-offset: 4px; }
.cf-award-small { font-size: .85rem; color: var(--cf-muted); }
.cf-award-section { margin-top: 3.5rem; }
.cf-award-reading { max-width: 760px; margin-left: auto; margin-right: auto; }
.cf-award-gallery { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem; margin: 1.8rem 0 1.4rem; }
.cf-award-gallery img { display: block; width: 100%; height: auto; border-radius: 6px; border: 1px solid #e0e6e2; }
.cf-award-benefits { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.8rem; margin: 2rem 0; padding: 1.7rem 0; border-top: 1px solid #d9e2dc; border-bottom: 1px solid #d9e2dc; }
.cf-award-benefits p { font-size: .95rem; margin-bottom: 0; }
.cf-award-number { display: block; color: #667c71; font-size: .8rem; font-weight: 700; letter-spacing: .08em; margin-bottom: .65rem; }
.cf-award-product-links { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; }
.cf-award-ballot { margin-top: 3.5rem; padding: clamp(1.3rem,4vw,2.6rem); background: var(--cf-ink); color: white; border-radius: 8px; }
.cf-award-story .cf-award-ballot h2 { color: white; }
.cf-award-ballot p, .cf-award-ballot ol { max-width: 760px; }
.cf-award-ballot ol { padding-left: 1.4rem; margin: 1.4rem 0 1.6rem; }
.cf-award-ballot li { padding-left: .35rem; margin-bottom: .65rem; line-height: 1.65; }
.cf-award-ballot-note { font-size: .85rem; margin-top: 1.15rem; margin-bottom: 0; color: #e0ece6; }
.cf-award-credits { margin: 2.3rem auto 1rem; max-width: 760px; }
@media (max-width: 767px) {
  .cf-award-hero { grid-template-columns: 1fr; gap: 1.8rem; }
  .cf-award-section, .cf-award-ballot { margin-top: 2.5rem; }
  .cf-award-benefits { grid-template-columns: 1fr; gap: 1.5rem; }
  .cf-award-gallery { gap: 1rem; }
  .cf-award-brands img { height: 32px; }
}
@media (max-width: 479px) {
  .cf-award-gallery { grid-template-columns: 1fr; gap: 1.6rem; }
  .cf-award-kicker { font-size: .74rem; letter-spacing: .035em; }
  .cf-award-product-links { align-items: flex-start; flex-direction: column; }
}
@media print {
  .cf-award-story .cf-award-ballot { color: black; border: 1px solid #555; background: white; }
  .cf-award-story .cf-award-ballot h2, .cf-award-ballot-note { color: black; }
}
