:root {
  --White: hsl(0, 0%, 100%);

  --Stone-100: hsl(30, 54%, 90%);
  --Stone-150: hsl(30, 18%, 87%);
  --Stone-600: hsl(30, 10%, 34%);
  --Stone-900: hsl(24, 5%, 18%);

  --Brown-800: hsl(14, 45%, 36%);

  --Rose-800: hsl(332, 51%, 32%);
  --Rose-50: hsl(330, 100%, 98%);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  min-height: 100vh;
  background: var(--Stone-100);
  display: flex;
  justify-content: center;
  padding: 40px 20px;
  font-family: 'Outfit', sans-serif;
}
.box-wrapper {
  background: var(--White);
  max-width: 736px;
  padding: 40px;
  border-radius: 24px;
}
.banner img {
  width: 100%;
  border-radius: 12px;
  margin-bottom: 32px;
  display: block;
}
h1 {
  font-family: 'Young Serif', serif;
  font-weight: 400;
  margin-bottom: 24px;
  color: var(--Stone-900);
  font-size: 36px;
}
p {
  color: var(--Stone-600);
  line-height: 1.6;
  margin-bottom: 24px;
}
.time-section {
  background: var(--Rose-50);
  padding: 24px;
  border-radius: 12px;
  margin-bottom: 32px;
}
.time-section h2 {
  font-size: 20px;
  color: var(--Rose-800);
  margin-bottom: 16px;
}
.time-section ul {
  padding-left: 20px;
}
.time-section li {
  margin-bottom: 8px;
  color: var(--Stone-600);
  padding-left: 12px;
}
.time-section strong {
  color: var(--Stone-900);
  font-weight: 600;
}
.ingredients-section {
  margin-bottom: 32px;
}
h2 {
  font-family: 'Young Serif', serif;
  font-weight: 400;
  color: var(--Brown-800);
  margin-bottom: 24px;
}
.ingredients-section ul li {
  padding-left: 12px;
  margin-bottom: 8px;
  color: var(--Stone-600);
}
.ingredients-section ul {
  padding-left: 20px;
}
hr {
  border: none;
  border-top: 1px solid var(--Stone-150);
  margin: 32px 0;
}
.instructions-section {
  margin-bottom: 32px;
}
.instructions-section h2 {
  color: var(--Brown-800);
  font-family: 'Young Serif', serif;
  font-weight: 400;
  margin-bottom: 16px;
}
.instructions-section ol {
  padding-left: 20px;
}
.instructions-section ol li {
  padding-left: 16px;
  color: var(--Stone-600);
  line-height: 1.6;
  margin-bottom: 12px;
  margin-left: 0;
}
.instructions-section li::marker {
  font-weight: 700;
  color: var(--Brown-800);
}
.nutrition-section p {
  margin-bottom: 20px;
}
.nutrition-section table {
  width: 100%;
  border-collapse: collapse;
}
.nutrition-section tr {
  border-bottom: 1px solid var(--Stone-150);
}
.nutrition-section tr:last-child {
  border-bottom: none;
}
.nutrition-section th,
.nutrition-section td {
  padding: 12px 24px;
  text-align: left;
  color: var(--Stone-600);
}
.nutrition-section td {
  font-weight: 600;
  color: var(--Brown-800);
}
.nutrition-section th {
  font-weight: 400;
}


.attribution { font-size: 11px; text-align: center; margin-top: 24px; }
.attribution a { color: hsl(227, 4%, 56%); }

@media (max-width: 650px) {
  body {
    padding: 0; 
    background: var(--White);
  }

  .box-wrapper {
    max-width: 100%;
    padding: 24px; 
    border-radius: 0;
  }

  .banner img {
    margin: -24px -24px 32px -24px; 
    width: calc(100% + 48px); 
    max-width: none;
    border-radius: 0; 
  }

  h1 {
    font-size: 32px; 
  }

  .nutrition-section th,
  .nutrition-section td {
    padding: 12px 16px;
  }
}