/* ============ Home page styles ============ */

/* Hero */
.hero{ padding-top:clamp(40px,7vw,84px); padding-bottom:clamp(40px,6vw,72px); }
.hero-grid{
  display:grid; grid-template-columns:1.5fr .9fr; gap:clamp(32px,6vw,80px);
  align-items:center;
}
.hero-role{
  font-size:12.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted);
  margin-top:1.6rem;
}
.hero .lead{ margin-top:1.8rem; }
.hero-actions{ margin-top:2.4rem; }

.hero-side{ display:grid; gap:1.5rem; }
.hero-portrait{ aspect-ratio:4/5; width:100%; box-shadow:16px 16px 0 0 var(--accent-tint); }
.hero-facts{ list-style:none; display:grid; gap:.7rem; font-size:12px; }
.hero-facts li{ display:flex; justify-content:space-between; gap:1rem; padding-bottom:.7rem; border-bottom:1px solid var(--line); }
.hero-facts li:last-child{ border-bottom:0; }
.hero-facts .k{ color:var(--muted); letter-spacing:.12em; text-transform:uppercase; }
.hero-facts .v{ color:var(--ink-soft); }

@media (max-width:860px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-side{ order:-1; max-width:300px; }
}

/* Venues marquee */
.venues{ border-block:1px solid var(--line); overflow:hidden; padding:18px 0; background:var(--paper); }
.venues-track{ display:flex; width:max-content; animation:marquee 46s linear infinite; }
.venues-set{ display:flex; align-items:center; gap:0; font-family:var(--mono); font-size:13px; letter-spacing:.04em; color:var(--ink-soft); white-space:nowrap; }
.venues-set span{ padding:0 1.1rem; }
.venues-set .d{ color:var(--accent); padding:0 .2rem; }
@keyframes marquee{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .venues-track{ animation:none; } }
.venues:hover .venues-track{ animation-play-state:paused; }

/* Statement */
.statement{
  font-size:clamp(1.4rem,3vw,2.15rem); line-height:1.42; font-weight:300; letter-spacing:-.015em;
  color:var(--ink); margin-top:1.4rem; text-wrap:pretty;
}
.statement em{ font-style:italic; }

/* Section heads */
.section-head{ margin-bottom:clamp(36px,5vw,60px); }
.section-head .section-title{ margin-top:1rem; }

/* Themes */
.theme-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media (max-width:680px){ .theme-grid{ grid-template-columns:1fr; } }
.theme{ background:var(--paper-2); padding:clamp(28px,3.5vw,46px); display:grid; gap:.8rem; align-content:start; transition:background .35s var(--ease); }
.theme:hover{ background:var(--paper); }
.theme-no{ font-size:12px; letter-spacing:.2em; color:var(--accent); }
.theme h3{ font-size:clamp(1.3rem,2.4vw,1.7rem); font-weight:400; letter-spacing:-.01em; }
.theme p{ color:var(--ink-soft); font-size:1.02rem; max-width:46ch; }

/* Featured publications */
.featured-list{ list-style:none; display:grid; gap:0; border-top:1px solid var(--line); }
.featured{
  display:grid; grid-template-columns:200px 1fr; gap:clamp(16px,4vw,48px);
  padding:clamp(26px,3.5vw,40px) 0; border-bottom:1px solid var(--line);
  align-items:start;
}
@media (max-width:680px){ .featured{ grid-template-columns:1fr; gap:14px; } }
.featured-meta{ display:flex; flex-direction:column; gap:.9rem; align-items:flex-start; }
.featured-meta .yr{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.featured-body h3{ font-size:clamp(1.35rem,2.6vw,2rem); font-weight:400; line-height:1.16; letter-spacing:-.015em; max-width:24ch; }
.featured-body .byline{ font-size:12.5px; letter-spacing:.04em; color:var(--ink-soft); margin-top:.9rem; }
.featured-body .doi{ font-size:11.5px; letter-spacing:.05em; color:var(--muted-2); margin-top:.3rem; }

/* Community teaser */
.community-teaser .light,
.section-title.light{ color:var(--paper); }
.community-teaser .lead.light{ color:#cfc8ba; }
.community-teaser strong{ color:#fff; font-weight:500; }
.community-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(40px,6vw,80px); align-items:center; }
@media (max-width:820px){ .community-grid{ grid-template-columns:1fr; } }
.link-arrow.light{ color:var(--paper); border-color:rgba(255,255,255,.25); }
.link-arrow.light .arrow{ color:var(--accent-soft); }
.link-arrow.light:hover{ color:#fff; border-color:#fff; }
.community-facts{ list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); }
.community-facts li{ background:var(--ink); padding:clamp(22px,3vw,36px); display:grid; gap:.6rem; }
.cf-num{ font-size:clamp(2rem,4vw,3rem); font-weight:300; line-height:1; color:#fff; }
.cf-num span{ color:var(--accent-soft); }
.cf-l{ font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:#9a9385; }

/* ============ Motion refinements ============ */
.hero-portrait{ transition:box-shadow .6s var(--ease); will-change:transform; }
.hero-portrait:hover{ box-shadow:22px 22px 0 0 var(--accent-tint); }
.theme .theme-no{ display:inline-block; transition:transform .4s var(--ease); }
.theme:hover .theme-no{ transform:translateX(8px); }
.featured{ transition:background .35s var(--ease); }
.featured:hover{ background:color-mix(in srgb, var(--paper-2) 55%, transparent); }
@media (prefers-reduced-motion: reduce){
  .hero-portrait{ will-change:auto; }
  .theme .theme-no{ transition:none; }
}

/* ============ Item hover dynamics ============ */
@media (hover:hover) and (prefers-reduced-motion: no-preference){
  .featured{ position:relative; }
  .featured::after{
    content:""; position:absolute; left:0; bottom:-1px; height:1px; width:100%;
    background:var(--accent); transform:scaleX(0); transform-origin:left;
    transition:transform .55s var(--ease); pointer-events:none;
  }
  .featured:hover::after{ transform:scaleX(1); }
  .featured-body h3{ transition:color .3s var(--ease); }
  .featured:hover .featured-body h3{ color:var(--accent); }
  .theme h3{ transition:color .3s var(--ease); }
  .theme:hover h3{ color:var(--accent); }
  .hero-facts li{ transition:border-color .35s var(--ease); }
  .hero-facts li:hover{ border-color:var(--accent-soft); }
}
