/* Home page styles - focused, minimal, extending base.css without duplication */

/* Accessibility: skip link */
.skip-link { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus { left:16px; top:16px; width:auto; height:auto; padding:8px 12px; background:#111; color:#fff; border-radius:6px; z-index:1000; }

/* Hero */
#hero {
  position: relative;
  min-height: 72vh;
  display: grid;
  place-items: center;
  text-align: center;
  color: #eaeaea;
  background: linear-gradient(180deg, rgba(8,8,10,.7), rgba(8,8,10,.85)), url('/assets/images/hero-unbroken-soul.webp') center/cover no-repeat fixed;
}
#hero .hero-inner { max-width: 1100px; padding: 7rem 1.25rem 4rem; }
#hero .subtitle { margin: 0.75rem auto 1.5rem; max-width: 70ch; color: #cfcfd6; }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.85rem 1.1rem; border-radius:10px; text-decoration:none; font-weight:600; transition:transform .15s ease, background .2s ease, color .2s ease; }
.btn:focus { outline:2px solid #7aa2ff; outline-offset:2px; }
.btn.primary { background:#6b7bff; color:#0b0b10; }
.btn.primary:hover { transform: translateY(-1px); background:#8d98ff; }
.btn.secondary { background:transparent; color:#eaeaea; border:1px solid #3a3a46; }
.btn.secondary:hover { transform: translateY(-1px); background:#1a1a22; }
.btn.tertiary { background:#15161c; color:#eaeaea; border:1px solid #2a2b35; }
.btn.tertiary:hover { background:#1b1c24; }
.btn.ghost { background:transparent; color:#eaeaea; border:1px dashed #3b3c47; }
.btn.ghost:hover { background:#15151c; }
.btn.store { background:#0f1118; color:#eaeaea; border:1px solid #2a2b37; }
.btn.store:hover { background:#181A22; }

/* CTA group */
.cta-group { display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; justify-content:center; margin: 1rem 0 1.25rem; }

/* Search */
#site-search { margin: 1rem auto 0; max-width: 680px; text-align: left; }
#site-search label { display:block; font-size:.9rem; color:#c7c7d0; margin-bottom:.4rem; }
#site-search .search-row { display:flex; gap:.5rem; }
#site-search input[type="search"] { flex:1; background:#0d0e14; color:#eaeaea; border:1px solid #2c2d37; border-radius:10px; padding:.85rem 1rem; }
#site-search .search-btn { background:#242633; color:#eaeaea; border:1px solid #333548; }
#site-search .search-btn:hover { background:#2b2e3e; }

/* Shared section layout */
.content-section { padding: 3.5rem 1.25rem; }
.content-section .section-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr 1fr; gap: 2rem; align-items: center; }
.content-section.alt .section-inner { grid-template-columns: 1fr 1.1fr; }
.content-section .section-text p { color:#cfd0d9; }
.section-media img { width:100%; height:auto; border-radius:14px; border:1px solid #2a2b36; box-shadow: 0 20px 40px rgba(0,0,0,.35); }
.section-media figcaption { color:#9ea2b3; font-size:.9rem; margin-top:.6rem; }
.feature-list { margin:.75rem 0 1rem; color:#d4d6e3; }
.feature-list li { margin:.25rem 0; }
.link-arrow { display:inline-flex; gap:.4rem; align-items:center; color:#98a5ff; text-decoration:none; border-bottom:1px solid transparent; }
.link-arrow:hover { border-bottom-color:#98a5ff; }

/* Split CTA */
.split-cta { padding: 2.75rem 1.25rem; background: linear-gradient(180deg, #0b0c12, #0d0e15); border-top:1px solid #1e1f2a; border-bottom:1px solid #1e1f2a; }
.split-cta-inner { max-width: 1100px; margin: 0 auto; display:grid; grid-template-columns: 1fr auto; align-items:center; gap:1rem; }

/* Highlights */
.highlights { padding: 3rem 1.25rem; }
.highlights-inner { max-width: 1100px; margin: 0 auto; text-align:center; }
.card-grid { margin-top:1.25rem; display:grid; grid-template-columns: repeat(3, 1fr); gap:1rem; }
.card { background:#10121a; border:1px solid #232537; border-radius:14px; padding:1.25rem; text-align:left; color:#d5d7e5; }
.card h3 { margin-top:0; }

/* Quick links */
.quick-links { padding: 3rem 1.25rem; border-top:1px solid #1f2030; }
.quick-links-inner { max-width: 1200px; margin: 0 auto; }
.link-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:1rem; }
.link-card { background:#0f1118; border:1px solid #23263a; border-radius:14px; padding:1.25rem; color:#d6d8e6; display:flex; flex-direction:column; justify-content:space-between; }
.store-row { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.5rem; }

/* Responsive */
@media (max-width: 1024px) {
  .content-section .section-inner, .content-section.alt .section-inner { grid-template-columns: 1fr; }
  .card-grid { grid-template-columns: 1fr 1fr; }
  .link-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  #hero { min-height: 64vh; background-attachment: scroll; }
  .cta-group { flex-direction: column; }
  .card-grid, .link-grid { grid-template-columns: 1fr; }
  .split-cta-inner { grid-template-columns: 1fr; text-align: left; }
}
