/* Reset & base */
* { box-sizing: border-box; }
html, body { text-align: left; margin: 0; padding: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"; color: #1b1b1b; }
img { max-width: 100%; display: block; }
a { color: #6b0f13; text-decoration: none; }
a:hover { text-decoration: underline; }

/* Layout */
.container { width: min(1200px, 92vw); margin: 0 auto; }
.section { padding: 40px 0; } /* tighter spacing */

.section-title { font-size: clamp(1.25rem, 1.6vw + 1rem, 1.75rem); margin: 0 0 16px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.2; }

/* Keep 'Stay in Touch' from wrapping on desktop, allow on very small screens */
.stay-inline { white-space: nowrap; }
@media (max-width: 520px) { .stay-inline { white-space: normal; } }

/* Hero */
.hero { width: 100%; background: #3b0d0d; color: #fff; }
.hero__inner { width: min(1200px, 92vw); margin: 0 auto; padding: 48px 0 36px; display: grid; place-items: center; row-gap: 12px; text-align: center; }
.logo { width: clamp(120px, 9vw + 60px, 200px); height: auto; }
.tagline { margin: 0; font-weight: 600; line-height: 1.3; white-space: nowrap; }

/* Cards */
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; align-items: stretch; }
.card { background: #fff; border: 1px solid #eee; border-radius: 14px; padding: 20px; box-shadow: 0 1px 2px rgba(0,0,0,0.06); display: flex; flex-direction: column; }
.card h4 { margin: 0 0 8px; font-size: 1.1rem; }
.card p { margin: 0; }

/* Support band */
.support { background: #faf6f6; border-top: 1px solid #f0e8e8; border-bottom: 1px solid #f0e8e8; }

/* Contact list */
.contact-list { list-style: none; padding: 0; margin: 0; display: flex; gap: 24px; flex-wrap: wrap; }
.contact-list li { margin: 0; }

/* Footer */
.footer { background: #110606; color: #ddd; padding: 24px 0; font-size: 0.95rem; }
.footer p { margin: 0; }

/* Text: remove artificial wrap; keep readable leading */
.container p { max-width: none; line-height: 1.6; }


/* --- Mobile tuning --- */
@media (max-width: 480px) {
  .tagline { white-space: normal; font-size: 0.95rem; }
  .logo { width: clamp(88px, 26vw, 120px); }
  .section { padding: 28px 0; }
  .hero__inner { padding: 32px 0 24px; row-gap: 8px; }
  .container p { line-height: 1.55; }
  .feature-grid { grid-template-columns: 1fr; gap: 14px; }
  html, body { text-align: left; overflow-x: hidden; }
  .contact-list { gap: 12px; }
}

h1, h2, h3, .tagline { overflow-wrap: anywhere; word-break: normal; }


/* --- Injected styles for topnav, badges, and footer links --- */
.topnav { position: sticky; top: 0; z-index: 1000; background: #fff; border-bottom: 1px solid #eee; }
.topnav__inner { display: flex; align-items: center; justify-content: space-between; padding: 10px 0; }
.topnav .brand { font-weight: 700; letter-spacing: -0.01em; }
.topnav .btn { padding: 10px 14px; border-radius: 999px; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; }
.btn--primary { background: #6b0f13; color: #fff; }
.btn--primary:hover { filter: brightness(0.95); text-decoration: none; }
.topnav .social-link { margin-left: 14px; }

.store-badges { display:flex; gap:12px; justify-content:flex-start; align-items:center; flex-wrap:nowrap; margin-top:12px; }
.badge { display: inline-flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 10px; border: 1px solid #ddd; text-decoration: none; }
.badge.disabled { opacity: 0.65; cursor: not-allowed; pointer-events: none; }
.badge svg { display: block; }

.footer .footer-links { list-style: none; padding: 0; margin: 10px 0 0; display: flex; gap: 16px; flex-wrap: wrap; }
.footer .footer-links a { color: inherit; text-decoration: underline; }
@media (max-width: 640px) {
  .topnav__inner { padding: 8px 0; }
  .topnav .btn { padding: 8px 12px; }
}


/* Bottom "Coming Soon" alignment tweaks */
.coming-soon { padding-top: 16px; padding-bottom: 32px; border-top: 1px solid #eee; }
.coming-soon .coming-copy { margin: 6px 0 12px; color: #555; }
.store-badges { display:flex; gap:12px; justify-content:flex-start; align-items:center; flex-wrap:nowrap; margin-top:12px; }
.store-badges--bottom { margin-top: 10px; }
.topnav__actions { display: flex; align-items: center; gap: 10px; }
.topnav__actions .social-link { display: none; } /* ensure no stray gaps if any */


/* Updated alignment for Mobile App badges */
.store-badges { display:flex; gap:12px; justify-content:flex-start; align-items:center; flex-wrap:nowrap; margin-top:12px; }
.store-badges img { width:160px; height:auto; display:block; }
.coming-soon .coming-copy { text-align: center; max-width: 700px; margin: 0 auto 20px; }
.badge.disabled { pointer-events: none; opacity: 0.85; }

/* Reduced spacing before Key Features */
.compact-before { margin-top: 0.75rem !important; }


/* --- Mobile App Section Alignment --- */
.mobile-app { text-align: left; }
.mobile-app p { margin-left: 0; margin-right: 0; max-width: 48rem; }
/* --- Store badges side-by-side, equal width, responsive --- */
.store-badges { display:flex; gap:12px; justify-content:flex-start; align-items:center; flex-wrap:nowrap; margin-top:12px; }
.store-badges .store-link {
  flex: 0 0 auto;
}
/* Equal width images for consistency */
.store-badges img { width:160px; height:auto; display:block; }
/* If space ever gets tight, slightly reduce size but keep them side by side */
@media (max-width: 360px) {
  .store-badges img { width:160px; height:auto; display:block; }
}


/* Align Mobile App beta text with heading */
.coming-soon .coming-copy {
  text-align: left;
  margin-left: 0;
  padding-left: 0;
  max-width: none;
}


/* Decorative separator to cover stray markup before section headers */
.section-sep {
  width: 44px;
  height: 4px;
  background: #6b0f13;
  border-radius: 999px;
  margin: 8px 0 12px;
}
