/*
  Swiftshore House Manual - Starter Stylesheet

  CSS controls the way the website looks:
  colors, spacing, fonts, card layout, shadows, and responsiveness.
*/

/*
  CSS custom properties, also called variables.
  These let us define colors once and reuse them throughout the site.
*/
:root {
  --green-dark: #243b2f;
  --green-medium: #3f604e;
  --cream: #f4f1ea;
  --paper: #ffffff;
  --text: #222222;
  --muted: #666666;
  --border: #ddd6c8;
}

/*
  border-box makes sizing easier to understand.
  It tells the browser to include padding and borders inside an element's width.
*/
* {
  box-sizing: border-box;
}

/*
  Basic page-wide styling.
*/
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  background: var(--cream);
  color: var(--text);
  line-height: 1.5;
}

/*
  Header area at the top of the homepage.
*/
.site-header {
  background: var(--green-dark);
  color: white;
  padding: 48px 24px;
}

/*
  Small label above the main heading.
*/
.eyebrow {
  margin: 0 0 8px;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.85;
}

.site-header h1 {
  margin: 0;
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1.05;
}

.intro {
  max-width: 760px;
  margin: 18px 0 0;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.9);
}

/*
  Main content wrapper.
*/
.page-content {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  padding: 32px 0 48px;
}

.section-intro {
  margin-bottom: 24px;
}

.section-intro h2 {
  margin: 0 0 8px;
  font-size: 1.75rem;
}

.section-intro p {
  margin: 0;
  max-width: 760px;
  color: var(--muted);
}

/*
  This creates the responsive card layout.
  auto-fit allows the cards to wrap naturally on smaller screens.
*/
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
}

/*
  Each card is currently a link.
*/
.card {
  display: block;
  min-height: 180px;
  padding: 22px;
  background: var(--paper);
  border: 1px solid var(--border);
  border-radius: 16px;
  color: var(--text);
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

/*
  Adds a subtle interaction when hovering with a mouse.
*/
.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.1);
}

.card h3 {
  margin: 0 0 10px;
  color: var(--green-dark);
  font-size: 1.2rem;
}

.card p {
  margin: 0;
  color: var(--muted);
}

.site-footer {
  padding: 24px;
  color: var(--muted);
  text-align: center;
  border-top: 1px solid var(--border);
}
