/* ===== HERO & SLIDESHOW (core) ===== */
.hero{
  position:relative; isolation:isolate;
  height:60vh; min-height:340px; max-height:800px;
  border:1px solid var(--border); border-radius:18px; overflow:hidden;
  background:#0c0e14; margin:12px 0 28px;
}
@media (max-width:900px){ .hero{ height:50vh; min-height:280px } }
.hero .video-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.22; filter:grayscale(.06) contrast(1.05); z-index:0; display:block }
.hero.no-video .video-bg{ display:none }
.slides{ position:absolute; inset:0; overflow:hidden; z-index:1; background:#0c0e14 }
.slide{ position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 600ms ease; will-change:opacity; z-index:1; pointer-events:none }
.slide.active{ opacity:1; z-index:2 }
.slide-title{ position:absolute; left:16px; bottom:16px; z-index:3; padding:6px 10px; border-radius:10px; background:rgba(0,0,0,.5); border:1px solid rgba(255,255,255,.16); color:#e7efff; font-weight:600; line-height:1.2; pointer-events:none; text-align: center; }

/* ===== BELOW-HERO CONTENT ===== */
.container--full{ max-width:1200px }
.hero-info{ margin-top:0 }
.hero-info p{ max-width:none; } /* full width intro paragraph */
.cta{ display:flex; gap:10px; flex-wrap:wrap; margin-top:14px }

/* ===== Modern Accordion ===== */
.accordion { margin-top: 12px }
.accordion details{
  border:1px solid var(--border); border-radius:12px;
  background:rgba(255,255,255,0.02);
  margin:10px 0; padding:10px 12px;
}
.accordion summary{
  cursor:pointer; list-style:none;
  display:flex; align-items:center; gap:10px;
  font-weight:700; color:var(--text);
}
.accordion summary::-webkit-details-marker{ display:none }
.accordion .chev{
  width:12px; height:12px; flex:0 0 12px;
  border-right:2px solid rgba(255,255,255,.7);
  border-bottom:2px solid rgba(255,255,255,.7);
  transform:rotate(45deg); transition:transform .2s ease, border-color .2s ease;
  margin-right:2px;
}
details[open] .chev{ transform:rotate(135deg); border-color: rgba(255,255,255,.95) }
.accordion .content{
  margin:10px 0 2px 0;   /* no left indent */
  color:var(--text);
  font-size:1.06rem; line-height:1.55;
}
.accordion .content ol,
.accordion .content ul{ margin-left:0; padding-left:18px } /* minimal bullet/number indentation */

/* ===== FOOTER ===== */
.site-footer{ margin-top:22px; padding:18px 10px; border-top:1px solid var(--border); color:var(--sub); display:flex; gap:16px; flex-wrap:wrap; align-items:center; justify-content:space-between }
.site-footer a{ color:var(--text); text-decoration:none; border-bottom:1px dotted var(--border) }
.site-footer a:hover{ border-bottom-color: var(--text) }
