body.homepage-content-restored #faq {
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
}

#faq .faq-project-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(22rem, .72fr);
  gap: clamp(2.5rem, 5vw, 6rem);
  align-items: start;
}

#faq .faq-project-questions .section-head {
  width: 100%;
  padding: 0 0 1.15rem;
}

#faq .faq-project-questions .section-head h2 {
  font-size: clamp(2.4rem, 4vw, 4.6rem);
  line-height: .94;
}

#faq .faq-project-questions .faq-grid {
  width: 100%;
}

body.homepage-content-restored #faq details summary {
  grid-template-columns: 2.2rem minmax(0, 1fr) 2.45rem;
  min-height: 4.15rem;
  padding-block: .45rem;
  gap: .65rem;
}

body.homepage-content-restored #faq .faq-card h3 {
  font-size: clamp(.9rem, 1vw, 1.05rem) !important;
  line-height: 1.22;
  letter-spacing: -.025em;
}

#faq .faq-grid details summary i {
  width: 2.25rem;
}

#faq .faq-answer > p {
  margin-left: 2.85rem;
  font-size: .875rem;
  line-height: 1.55;
}

body.homepage-content-restored #faq details[open] .faq-answer > p {
  margin-bottom: 1rem;
}

#faq .faq-project-card {
  position: sticky;
  top: 6.8rem;
  overflow: hidden;
  padding: clamp(1.4rem, 2.3vw, 2.25rem);
  border: 1px solid rgba(239, 201, 127, .68);
  border-radius: 1.6rem;
  color: #120e07;
  background:
    radial-gradient(circle at 88% 3%, rgba(244, 208, 133, .46), transparent 30%),
    linear-gradient(145deg, #c8923e 0%, #9a6429 52%, #5e3718 100%);
  box-shadow: 0 2rem 5rem rgba(62, 35, 13, .36), inset 0 1px rgba(255, 226, 164, .4);
}

#faq .faq-project-card__heading > p:first-child {
  margin: 0 0 .75rem;
  color: #33230e;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

#faq .faq-project-card__heading h2 {
  margin: 0;
  color: #100c06;
  font-size: clamp(1.75rem, 2.7vw, 2.8rem);
  line-height: .98;
  letter-spacing: -.055em;
}

#faq .faq-project-card__heading h2 span { color: #100c06; }

#faq .faq-project-card__heading > p:last-child {
  max-width: 34rem;
  margin: .85rem 0 1.35rem;
  color: rgba(24, 16, 6, .74);
  font-size: .83rem;
  line-height: 1.5;
}

#faq .faq-project-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .72rem;
}

#faq .faq-project-form label,
#faq .faq-project-form fieldset { min-width: 0; }
#faq .faq-project-form .full { grid-column: 1 / -1; }

#faq .faq-project-form label > span,
#faq .faq-project-form legend {
  display: block;
  margin-bottom: .32rem;
  color: rgba(20, 13, 5, .76);
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .035em;
}

#faq .faq-project-form input:not([type="radio"]):not([type="checkbox"]),
#faq .faq-project-form textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(35, 23, 8, .28);
  border-radius: .75rem;
  outline: 0;
  color: #100c06;
  background: rgba(255, 250, 232, .55);
  font: inherit;
  font-size: .82rem;
  transition: border-color .2s, background-color .2s, box-shadow .2s;
}

#faq .faq-project-form input:not([type="radio"]):not([type="checkbox"]) {
  height: 2.75rem;
  padding: 0 .85rem;
}

#faq .faq-project-form textarea {
  min-height: 4.6rem;
  padding: .72rem .85rem;
  resize: vertical;
}

#faq .faq-project-form input:focus,
#faq .faq-project-form textarea:focus {
  border-color: #171006;
  background: rgba(255, 252, 240, .78);
  box-shadow: 0 0 0 3px rgba(31, 20, 6, .12);
}

#faq .faq-project-form fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

#faq .faq-project-form fieldset > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .4rem;
}

#faq .faq-project-form fieldset label {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.75rem;
  border: 1px solid rgba(35, 23, 8, .28);
  border-radius: .75rem;
  background: rgba(255, 250, 232, .5);
  cursor: pointer;
}

#faq .faq-project-form fieldset label > span { margin: 0; color: #100c06; }
#faq .faq-project-form fieldset input { accent-color: #100c06; }

#faq .faq-project-consent {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .55rem;
  align-items: start;
  margin: .85rem 0;
}

#faq .faq-project-consent input { margin-top: .15rem; accent-color: #100c06; }
#faq .faq-project-consent > span { margin: 0; font-size: .67rem; line-height: 1.45; }
#faq .faq-project-consent a { color: #100c06; font-weight: 800; }
#faq .faq-project-form > .button {
  width: 100%;
  justify-content: center;
  border: 1px solid #100c06;
  color: #e8c978;
  background: #100c06;
  box-shadow: 0 1rem 2.2rem rgba(44, 28, 7, .24);
}

#faq .faq-project-form input::placeholder,
#faq .faq-project-form textarea::placeholder { color: rgba(25, 16, 6, .5); }

/* Einheitlich schwarze Typografie auf der goldbronzenen Projektanfrage. */
#faq .faq-project-card,
#faq .faq-project-card :is(h2, p, span, label, legend, a, small, strong),
#faq .faq-project-form input,
#faq .faq-project-form textarea,
#faq .faq-project-form button {
  color: #090806 !important;
  -webkit-text-fill-color: #090806 !important;
}

#faq .faq-project-form input::placeholder,
#faq .faq-project-form textarea::placeholder {
  color: rgba(9, 8, 6, .58) !important;
  -webkit-text-fill-color: rgba(9, 8, 6, .58) !important;
}

#faq .faq-project-form > .button {
  border-color: #090806;
  background: linear-gradient(135deg, #d4a34d, #a56c2d);
}

@media (max-width: 960px) {
  #faq .faq-project-layout { grid-template-columns: 1fr; }
  #faq .faq-project-card { position: relative; top: auto; }
}

@media (max-width: 560px) {
  #faq .faq-project-form__grid { grid-template-columns: 1fr; }
  #faq .faq-project-form .full { grid-column: auto; }
}
