/* Reset & base */
* { box-sizing: border-box; }
html, body { 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 { overflow-x: hidden; }
  .contact-list { gap: 12px; }
}

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