/* Reset & Base Styles */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: "Google Sans", sans-serif;
  line-height: 1.6;
  color: #2d3748;
  background-color: #f7f6f3;
}

/* 3-Column Grid Layout */
.layout-container {
  display: grid;
  /* 
    Left/Right columns grow dynamically (1fr), 
    Middle column expands up to 768px maximum width 
  */
  grid-template-columns: 1fr minmax(auto, 768px) 1fr;
  min-height: 100vh;
  padding: 2rem 1rem;
}

/* Middle Column Styling */
.col-center {
  background-color: #ffffff;
  padding: 2.5rem;
  border-radius: 8px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Content Typography */
h1 {
  font-size: 2.25rem;
  color: #1a202c;
  margin-bottom: 0.5rem;
}

.subtitle {
  font-size: 1.125rem;
  color: #718096;
  margin-bottom: 2rem;
}

h2 {
  font-size: 1.5rem;
  color: #2d3748;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

p {
  margin-bottom: 1.25rem;
}

ul {
  margin-left: 1.5rem;
  margin-bottom: 1.25rem;
}

li {
  margin-bottom: 0.5rem;
}

/* Responsive Tweak for Mobile Screens */
@media (max-width: 600px) {
  .layout-container {
    /* Collapse side columns on mobile to give text max space */
    grid-template-columns: 1fr;
    padding: 1rem 0.5rem;
  }

  .col-center {
    padding: 1.5rem;
  }
}