    :root {
      --bg: #f3efe9;
      --text: #6f6258;
      --title: #4a2717;
      --container: 920px;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    body {
      font-family: 'Inter', sans-serif;
      background: var(--bg);
      color: var(--text);
      line-height: 1.55;
      min-height: 100vh;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    .page {
      width: min(calc(100% - 48px), var(--container));
      margin: 0 auto;
      padding: 72px 0 110px;
    }

    .back-link {
      display: inline-block;
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.1rem;
      color: var(--title);
      margin-bottom: 36px;
      transition: opacity 0.2s ease;
    }

    .back-link:hover {
      opacity: 0.75;
    }

    h1 {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(2.8rem, 5vw, 4rem);
      font-weight: 500;
      line-height: 0.95;
      color: var(--title);
      margin-bottom: 42px;
    }

    section + section {
      margin-top: 34px;
    }

    h2 {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.55rem;
      font-weight: 500;
      line-height: 1.05;
      color: var(--title);
      margin-bottom: 6px;
    }

    p {
      max-width: 760px;
      font-size: 1rem;
    }

    @media (max-width: 640px) {
      .page {
        width: min(calc(100% - 28px), var(--container));
        padding: 42px 0 70px;
      }

      .back-link {
        margin-bottom: 28px;
      }

      h1 {
        margin-bottom: 30px;
      }

      h2 {
        font-size: 1.35rem;
      }
    }


/* FAQ */
.page-intro {
  margin: -0.25rem 0 2rem;
  color: #5d554e;
  line-height: 1.7;
}
.faq-list {
  display: grid;
  gap: 0.85rem;
  margin: 1.5rem 0 2rem;
}
.faq-item {
  border: 1px solid rgba(75, 58, 45, 0.16);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.7);
  overflow: hidden;
}
.faq-item summary {
  cursor: pointer;
  list-style: none;
  position: relative;
  padding: 1.1rem 3.25rem 1.1rem 1.2rem;
  font-weight: 700;
  color: #302822;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+";
  position: absolute;
  right: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.35rem;
  line-height: 1;
}
.faq-item[open] summary::after { content: "−"; }
.faq-item summary:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: -4px;
}
.faq-answer {
  padding: 0 1.2rem 1.15rem;
  line-height: 1.7;
}
.faq-answer p { margin: 0; }
.faq-answer p + p { margin-top: 0.8rem; }
.faq-contact {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(75, 58, 45, 0.16);
}
.faq-contact a { font-weight: 700; }
