main{background:var(--color-surface)}.home-search{margin-top:var(--space-7);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-background);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-5)}.home-search-main{display:flex;flex-direction:column;gap:var(--space-3)}.home-search-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4);align-items:flex-end}@media (max-width:1023px){.home-search-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:599px){.home-search-filters{grid-template-columns:minmax(0,1fr)}}.home-search-filter label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.14em;color:var(--color-muted);margin-bottom:var(--space-2);display:block}.home-search-submit{width:100%}.home-search-hint{font-size:var(--font-size-xs);color:var(--color-muted);margin-bottom:0}.hero-photo{position:relative;overflow:hidden}.hero-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}.hero-photo-img-main{opacity:0.55;mix-blend-mode:normal}.hero-photo-img-secondary{opacity:0.2;mix-blend-mode:soft-light}.hero-photo-inner{position:relative;z-index:1}.highlight-article{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.highlight-article:last-of-type{border-bottom:none}.highlight-media{border-radius:var(--radius-md);overflow:hidden}.highlight-title{font-size:var(--font-size-lg);margin-bottom:var(--space-3)}.highlight-title a{color:var(--color-neutral-900)}.highlight-title a:hover{color:var(--color-primary)}.highlight-meta{font-size:var(--font-size-xs);color:var(--color-muted)}.highlight-cta{margin-top:var(--space-4)}@media (min-width:768px){.highlight-article{flex-direction:row}.highlight-media{flex:1}.highlight-content{flex:1;padding-left:var(--space-6)}}.venue-list,.download-list,.experts-list,.news-list,.help-list,.policy-list{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-3)}.venue-item,.download-item,.experts-item,.news-item,.policy-item{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-background);padding:var(--space-4)}.venue-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.venue-name{font-size:var(--font-size-md);margin-bottom:0}.venue-meta{font-size:var(--font-size-sm);color:var(--color-muted);margin-bottom:0}.download-item{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.download-main{flex:1}.download-title{font-size:var(--font-size-md);margin-bottom:var(--space-2)}.download-meta{font-size:var(--font-size-xs);color:var(--color-muted);margin-bottom:0}@media (max-width:599px){.download-item{flex-direction:column;align-items:stretch}.download-item .btn{width:100%}}.experts-block{display:flex;flex-direction:column;gap:var(--space-5)}.experts-media img{border-radius:var(--radius-md)}.experts-name{font-size:var(--font-size-md);margin-bottom:var(--space-2)}.experts-meta{font-size:var(--font-size-sm);color:var(--color-muted);margin-bottom:0}.experts-cta{align-self:flex-start}.news-title{font-size:var(--font-size-md);margin-bottom:var(--space-2)}.news-title a{color:var(--color-neutral-900)}.news-title a:hover{color:var(--color-primary)}.news-meta{font-size:var(--font-size-xs);color:var(--color-muted);margin-bottom:0}.help-block{display:flex;flex-direction:column;gap:var(--space-4)}.help-list li{font-size:var(--font-size-sm);color:var(--color-muted)}.policy-list .policy-item a{color:var(--color-neutral-900)}.policy-list .policy-item a:hover{color:var(--color-primary)}
.hero-photo{min-height:280px}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(15,23,42,0.88) 0%,rgba(15,23,42,0.35) 45%,rgba(15,23,42,0.2) 100%);pointer-events:none;z-index:0}
.hero-photo-inner{position:relative;z-index:1;max-width:100%}
.hero-photo-meta{gap:var(--space-3)}
@media (max-width:959px){.hero-photo{min-height:240px}.hero-main-score-foot{flex-direction:column;align-items:flex-start}}


/* Vue d\'ensemble: stack calendar + leaderboard, highlights beside */
.layout-grid--overview{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  grid-template-areas:
    "calendar highlights"
    "leaderboard highlights";
  gap:var(--space-6);
  align-items:start;
}
.overview-card--calendar{grid-area:calendar}
.overview-card--leaderboard{grid-area:leaderboard}
.overview-card--highlights{grid-area:highlights;align-self:stretch}
.overview-card{
  height:auto;
  display:flex;
  flex-direction:column;
  gap:var(--space-4);
  padding:var(--space-6);
}
.overview-card .card-header{
  margin-bottom:0;
  gap:var(--space-3);
  align-items:flex-start;
}
.overview-card .card-meta{margin-top:0;margin-bottom:0}
.overview-card--highlights .highlight-article{
  display:grid;
  grid-template-columns:minmax(88px,120px) minmax(0,1fr);
  gap:var(--space-4);
  align-items:start;
  padding-bottom:var(--space-4);
  margin-bottom:var(--space-4);
  border-bottom:1px solid var(--color-border);
}
.overview-card--highlights .highlight-article:last-of-type{
  border-bottom:none;
  margin-bottom:var(--space-2);
  padding-bottom:0;
}
.overview-card--highlights .highlight-article:not(:has(.highlight-media)){
  grid-template-columns:minmax(0,1fr);
}
.overview-card--highlights .highlight-media{
  border-radius:var(--radius-md);
  overflow:hidden;
  aspect-ratio:1;
  background:var(--color-surface-alt);
}
.overview-card--highlights .highlight-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.overview-card--highlights .highlight-content p:not(.highlight-meta){
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-bottom:0;
  font-size:var(--font-size-sm);
  color:var(--color-text);
}
.overview-card--highlights .highlight-meta{
  font-size:var(--font-size-xs);
  color:var(--color-muted);
  margin-bottom:var(--space-2);
}
.overview-card--highlights .highlight-title{
  font-size:var(--font-size-md);
  margin-bottom:var(--space-2);
  line-height:1.35;
}
.overview-card--highlights .highlight-cta{
  margin-top:auto;
  align-self:flex-start;
}
.overview-card .schedule-grid,
.overview-card .card-table{
  margin:0;
}
.overview-card .card-table{
  width:100%;
  font-size:var(--font-size-sm);
}
@media (max-width:1199px){
  .layout-grid--overview{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
}
@media (max-width:959px){
  .layout-grid--overview{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      "calendar"
      "leaderboard"
      "highlights";
  }
  .overview-card--highlights .highlight-article{
    grid-template-columns:minmax(0,1fr);
  }
  .overview-card--highlights .highlight-media{
    max-width:220px;
    aspect-ratio:16/10;
  }
}



/* Crop / overflow fixes */
.card-table-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  max-width:100%;
}
.card-table-scroll .card-table{
  min-width:480px;
}
.hero-panel-main,
.hero-media-stack,
.hero-lead,
.home-search{
  min-width:0;
  max-width:100%;
}
.hero-photo-inner,
.hero-photo-title,
.hero-title{
  max-width:100%;
  overflow-wrap:anywhere;
}
.hero-score-strip,
.hero-score-strip-table{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
@media (max-width:767px){
  .home-search{padding:var(--space-4)}
  .hero-photo{padding:var(--space-5)!important}
  .hero-main-score{padding:var(--space-5)}
  .hero-main-score-body{grid-template-columns:1fr}
  .hero-main-score-header{flex-direction:column;align-items:flex-start}
}
