/* === Reset === */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #D3C2AA;
  color: #453420;
  font-family: sans-serif;
  font-size: 16px;
  line-height: normal;
}

/* === Skip Link (a11y) === */
.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  color: #FFF;
  text-decoration: underline;
  font-family: 'Bitter', serif;
  font-size: 16px;
  transition: opacity 0.1s linear;
}
.skip-link:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
}

/* === Header — SS uses display:block with 0 padding === */
header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  padding: 0;
  display: block;
}
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 4vw;
}
.site-title {
  font-family: 'Averia Serif Libre', serif;
  font-style: italic;
  font-size: clamp(21.064px, 1.8vw, 24.64px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: #171615;
  text-decoration: none;
}
.cta {
  font-family: 'Averia Serif Libre', serif;
  font-weight: 700;
  font-style: italic;
  font-size: clamp(16px, 1.4vw, 19.456px);
  color: #FFFFFF;
  background: #140E09;
  text-decoration: none;
  padding: 8px 20px;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: opacity 0.1s linear;
}
.cta:hover { opacity: 0.8; }
.cta[data-state="hidden"] { display: none; }

/* === Hero — SS uses display:flex, overflow:visible === */
.hero {
  height: 100vh;
  position: relative;
  display: flex;
  overflow: visible;
}
.hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48.664% 65.6082%;
  display: block;
}
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(211, 194, 170, 0.1);
  pointer-events: none;
}

/* === Footer === */
footer {
  padding: 0;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.0436fr repeat(24, 1fr) 1.0436fr;
  grid-template-rows: repeat(4, 1fr);
  gap: 0;
  padding: 0;
  min-height: 114px;
  align-items: center;
}
.footer-email { grid-column: 2 / 5; grid-row: 1 / 2; }
.footer-instagram { grid-column: 2 / 4; grid-row: 2 / 3; }
.footer-company { grid-column: 2 / 7; grid-row: 3 / 5; }
.footer-form { grid-column: 20 / 26; grid-row: 1 / 5; display: flex; flex-direction: column; justify-content: flex-start; }
footer code {
  font-family: 'Bitter', serif;
  font-size: 16px;
  color: #171615;
  line-height: 24px;
}
footer a {
  font-family: 'Bitter', serif;
  color: #140E09;
  text-decoration: underline;
  font-size: 16px;
  line-height: 24px;
}
.newsletter-form { display: flex; flex-direction: column; gap: 8px; }
.newsletter-input {
  width: 100%;
  height: 36px;
  padding: 5px 10px;
  border: none;
  border-bottom: 1px solid #171615;
  border-radius: 0;
  background: transparent;
  font-family: 'Bitter', serif;
  font-size: 16px;
  color: #171615;
  outline: none;
}
.newsletter-input::placeholder { color: #453420; opacity: 0.6; }
.newsletter-submit {
  font-family: 'Averia Serif Libre', serif;
  font-weight: 700;
  font-style: italic;
  font-size: clamp(18.0256px, 1.4vw, 19.456px);
  color: #FFFFFF;
  background: #140E09;
  border: none;
  border-radius: 0;
  padding: 0;
  cursor: pointer;
  align-self: flex-start;
  transition: opacity 0.1s linear;
}
.newsletter-submit:hover { opacity: 0.8; }

/* === Info Page === */
.page-content {
  max-width: 660px;
  padding: 38px 4vw 40px;
}
.page-content h2 {
  font-family: 'Averia Serif Libre', serif;
  font-weight: 400;
  font-style: italic;
  font-size: clamp(34.2304px, 4vw, 47.104px);
  line-height: 1.1135;
  letter-spacing: -0.02em;
  color: #453420;
  margin: 0;
  max-width: 714px;
}
.page-content p {
  font-family: 'Bitter', serif;
  color: #171615;
  line-height: 24px;
  margin: 0 0 16px;
}
.page-content strong { font-weight: 700; }

/* === Accordions === */
.accordion-item { border-bottom: 1px solid rgba(23, 22, 21, 0.15); }
.accordion-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 15px 0;
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Averia Serif Libre', serif;
  font-weight: 400;
  font-style: italic;
  font-size: clamp(22.0768px, 2.2vw, 26.368px);
  letter-spacing: -0.02em;
  color: #171615;
  text-align: left;
}
.accordion-icon {
  width: 14px;
  height: 14px;
  transition: transform 300ms ease-in-out;
  flex-shrink: 0;
  margin-left: 16px;
}
.accordion-trigger[aria-expanded="true"] .accordion-icon {
  transform: rotate(45deg);
}
.accordion-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 300ms ease-in-out, opacity 300ms ease-in-out;
}
.accordion-content[data-open="true"] {
  max-height: 2000px;
  opacity: 1;
}
.accordion-body {
  padding: 0 0 20px;
}
.accordion-body p { line-height: 24px; margin: 0 0 16px; }
.accordion-body ul {
  margin: 0 0 16px;
  padding-left: 20px;
}
.accordion-body li { margin-bottom: 4px; line-height: 24px; }

/* === Back Button === */
.back-button {
  display: inline-block;
  font-family: 'Averia Serif Libre', serif;
  font-size: 16px;
  font-weight: 400;
  color: #FFFFFF;
  background: #140E09;
  text-decoration: none;
  padding: 8px 20px;
  margin-top: 24px;
  transition: opacity 0.1s linear;
}
.back-button:hover { opacity: 0.8; }

/* === Mobile === */
@media (max-width: 767px) {
  .header-inner { padding: 4px 4vw; }
  .page-content {
    padding: 29px 30px 40px;
    max-width: 100%;
  }
  footer { padding: 0; }
  .footer-grid {
    grid-template-columns: 0.5453fr repeat(8, 1fr) 0.5453fr;
    grid-template-rows: repeat(9, 24px);
    gap: 0;
  }
  .footer-instagram { grid-column: 2 / 10; grid-row: 2 / 4; }
  .footer-company { grid-column: 2 / 10; grid-row: 3 / 5; }
  .footer-email { grid-column: 2 / 10; grid-row: 4 / 6; }
  .footer-form { grid-column: 2 / 10; grid-row: 5 / 10; margin-top: 0; }
}
