.deem-services-faq {
  position: relative;
  overflow: hidden;
  width: 100vw;
  max-width: none;
  margin-inline: calc(50% - 50vw);
  padding: clamp(29px, 3.5vw, 46px) 0 clamp(40px, 5vw, 60px);
  background: radial-gradient(circle at 8% 14%, rgba(193,148,94,.1), transparent 31%), var(--deem-ivory);
  color: var(--deem-ink);
}
.deem-services-faq__heading {
  max-width: 850px;
  margin: 0 auto clamp(27px, 3.6vw, 45px);
  text-align: center;
}
.deem-services-faq__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #946b46;
  font: 700 14px/1.5 var(--deem-font-body);
}
.deem-services-faq__eyebrow span { width: 28px; height: 1px; background: var(--deem-gold); }
#content .entry-content .deem-services-faq h2,
.deem-services-faq h2 {
  margin: 10px 0 3px;
  color: var(--deem-plum);
  font: 400 clamp(2.8rem, 4.3vw, 4.4rem)/1.35 var(--deem-font-display);
}
.deem-services-faq__heading > p {
  margin: 0;
  color: var(--deem-muted);
  font: 500 clamp(16px, 1.2vw, 18px)/1.75 var(--deem-font-body);
}
.deem-services-faq__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: clamp(20px, 3.5vw, 45px);
  align-items: stretch;
}
.deem-services-faq__questions { min-width: 0; border-top: 1px solid rgba(193,148,94,.52); }
.deem-services-faq__item {
  border-bottom: 1px solid rgba(101,71,73,.22);
  background: transparent;
  transition: background-color .2s ease;
}
.deem-services-faq__item[open] { background: rgba(255,253,249,.67); }
.deem-services-faq__item summary {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.6vw, 22px);
  min-height: 84px;
  padding: 17px clamp(10px, 1.9vw, 25px);
  cursor: pointer;
  list-style: none;
}
.deem-services-faq__item summary::-webkit-details-marker { display: none; }
.deem-services-faq__item summary::marker { content: ''; }
.deem-services-faq__item summary:focus-visible { outline: 2px solid var(--deem-gold); outline-offset: -3px; }
.deem-services-faq__number { flex: 0 0 30px; color: #a67a4c; font: 400 22px/1 var(--deem-font-display); }
.deem-services-faq__question { flex: 1; color: var(--deem-plum); font: 600 clamp(17px, 1.42vw, 20px)/1.55 var(--deem-font-body); }
.deem-services-faq__plus {
  position: relative;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(193,148,94,.58);
  border-radius: 50%;
  color: #9a714b;
}
.deem-services-faq__plus::before,
.deem-services-faq__plus::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1px;
  background: currentColor;
  content: '';
  transform: translate(-50%, -50%);
}
.deem-services-faq__plus::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .2s ease; }
.deem-services-faq__item[open] .deem-services-faq__plus { background: var(--deem-plum); border-color: var(--deem-plum); color: var(--deem-gold-light); }
.deem-services-faq__item[open] .deem-services-faq__plus::after { transform: translate(-50%, -50%) rotate(0); }
.deem-services-faq__answer { padding: 0 clamp(54px, 5.5vw, 79px) 22px clamp(25px, 3vw, 42px); }
.deem-services-faq__answer p { max-width: 640px; margin: 0; color: var(--deem-muted); font: 500 16px/1.83 var(--deem-font-body); }
.deem-services-faq__aside {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  min-height: 420px;
  padding: clamp(28px, 3vw, 42px);
  border: 1px solid rgba(225,189,137,.5);
  background: radial-gradient(circle at 50% 25%, rgba(225,189,137,.15), transparent 43%), linear-gradient(145deg, var(--deem-plum), var(--deem-plum-deep));
  color: var(--deem-ivory);
}
.deem-services-faq__aside::before { position: absolute; z-index: -1; inset: 11px; border: 1px solid rgba(225,189,137,.18); content: ''; pointer-events: none; }
.deem-services-faq__aside-kicker { color: var(--deem-gold-light); font: 700 10px/1.5 var(--deem-font-body); letter-spacing: .13em; }
.deem-services-faq__aside-kicker span { margin-inline: 6px; }
.deem-services-faq__aside-ornament { margin-top: 45px; color: var(--deem-gold-light); font-size: 28px; line-height: 1; }
#content .entry-content .deem-services-faq__aside h3,
.deem-services-faq__aside h3 { margin: 16px 0 8px; color: var(--deem-gold-light); font: 400 clamp(2.15rem, 2.9vw, 3.2rem)/1.3 var(--deem-font-display); }
.deem-services-faq__aside p { max-width: 320px; margin: 0; color: #e6d7d0; font: 500 16px/1.8 var(--deem-font-body); }
.deem-services-faq__aside a {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  margin-top: 26px;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--deem-gold-light);
  color: var(--deem-gold-light) !important;
  font: 700 15px/1.4 var(--deem-font-body);
  text-decoration: none !important;
  transition: gap .2s ease, color .2s ease;
}
.deem-services-faq__aside a:hover,
.deem-services-faq__aside a:focus-visible { gap: 23px; color: #fff5dc !important; }
.deem-services-faq__aside a span { font-size: 21px; line-height: .8; }
@media (max-width: 920px) {
  .deem-services-faq__layout { grid-template-columns: 1fr; }
  .deem-services-faq__aside { min-height: 300px; }
  .deem-services-faq__aside-ornament { margin-top: 25px; }
}
@media (max-width: 600px) {
  .deem-services-faq { padding-block: 28px 46px; }
  .deem-services-faq__heading { margin-bottom: 25px; }
  .deem-services-faq__item summary { min-height: 74px; padding: 14px 8px; }
  .deem-services-faq__answer { padding: 0 45px 20px 8px; }
  .deem-services-faq__aside { min-height: 295px; padding: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .deem-services-faq__item,
  .deem-services-faq__plus::after,
  .deem-services-faq__aside a { transition: none; }
}
