* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  display: flex;
  min-height: 100vh;
  font-family: 'Lato', sans-serif;
  background: #f3ebe4;
  color: #3d2c29;
}
.ornament {
  width: 28%;
  min-width: 120px;
  background: #5c1a1b url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0L60 30L30 60L0 30Z' fill='none' stroke='%238b3a3b' stroke-width='0.5'/%3E%3C/svg%3E");
}
.content {
  flex: 1;
  padding: 4rem 3rem;
  max-width: 640px;
}
.est {
  font-size: 0.75rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #8b6914;
}
h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 3rem;
  font-weight: 600;
  margin: 0.5rem 0 1.5rem;
  color: #5c1a1b;
}
.intro { font-weight: 300; font-size: 1.1rem; line-height: 1.8; }
hr { border: none; border-top: 1px solid #c4a77d; margin: 2.5rem 0; }
.catalogue .item { margin-bottom: 2.5rem; }
.catalogue h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}
.desc { font-weight: 300; line-height: 1.7; margin-bottom: 1rem; }
.amount { font-family: 'Cormorant Garamond', serif; font-size: 1.75rem; color: #8b6914; }
.enrol {
  display: inline-block;
  margin-top: 0.75rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid #5c1a1b;
  color: #5c1a1b;
  text-decoration: none;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.enrol.btn-disabled { opacity: 0.45; border-style: dashed; }
.side-nav { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-bottom: 1.5rem; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; }
.side-nav a { color: #8b6914; text-decoration: none; }
.section-title { font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; color: #5c1a1b; margin-bottom: 0.75rem; }
.body-text { font-weight: 300; line-height: 1.8; margin-bottom: 1rem; }
blockquote { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 1.2rem; color: #5c1a1b; border-left: 2px solid #c4a77d; padding-left: 1rem; margin: 1rem 0; }
.details-list { font-size: 0.85rem; color: #6b5344; padding-left: 1.2rem; margin: 0.5rem 0 1rem; }
.closing { margin-top: 2rem; font-weight: 300; font-size: 0.95rem; line-height: 1.7; }
.closing a { color: #5c1a1b; }
footer { margin-top: 3rem; font-size: 0.85rem; }
footer a { color: #5c1a1b; }
@media (max-width: 600px) {
  body { flex-direction: column; }
  .ornament { width: 100%; height: 80px; }
  .content { padding: 2rem 1.5rem; }
}
