/* ── Service page content layout ── */
.content-section { background: var(--white); }
.content-section:nth-child(even) { background: var(--paper-2); }

.content-cols {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 3.5rem;
  align-items: start;
}

.content-text h3 {
  font-family: var(--serif);
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--ink);
  margin: 1.6rem 0 .7rem;
}
.content-text p {
  font-size: .92rem;
  color: var(--ink-2);
  line-height: 1.8;
  margin-bottom: .9rem;
}

.feature-list {
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding-left: 0;
}
.feature-list li {
  display: flex;
  align-items: flex-start;
  gap: .65rem;
  font-size: .90rem;
  color: var(--ink-2);
  line-height: 1.6;
}
.feature-list li::before {
  content: '';
  display: block;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
  margin-top: .52em;
}

/* Aside card */
.content-aside { position: sticky; top: calc(var(--nav-h) + 1.5rem); }

.aside-card {
  background: var(--paper);
  border: 1px solid var(--paper-3);
  border-radius: var(--r-lg);
  padding: 1.6rem;
}
.aside-card-label {
  font-size: .70rem;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1rem;
}

.check-list {
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.check-list li {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-size: .86rem;
  color: var(--ink-2);
  line-height: 1.6;
}
.check-list li::before {
  content: '✓';
  color: var(--gold-dk);
  font-weight: 500;
  font-size: .80rem;
  flex-shrink: 0;
  margin-top: .12em;
}

/* FAQ on service pages */
.faq-section { background: var(--paper-2); }
.faq-list {
  max-width: 720px;
  margin-inline: auto;
  border: 1px solid var(--paper-3);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.faq-item { border-bottom: 1px solid var(--paper-3); }
.faq-item:last-child { border-bottom: none; }
.faq-q {
  width: 100%; text-align: left; background: none; border: none;
  padding: 1.3rem 1.4rem;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  cursor: pointer;
  font-family: var(--serif); font-size: 1.02rem; font-weight: 400; color: var(--ink);
  transition: background .15s;
}
.faq-q:hover { background: var(--paper); }
.faq-chevron {
  width: 18px; height: 18px; flex-shrink: 0;
  border: 1px solid var(--paper-3); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  transition: transform .25s, background .15s;
  font-size: .6rem; color: var(--gold-dk);
}
.faq-item.open .faq-chevron { transform: rotate(180deg); background: var(--gold); border-color: var(--gold); color: var(--white); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height .35s ease-out; }
.faq-item.open .faq-a { max-height: 300px; }
.faq-a-inner { padding: 0 1.4rem 1.3rem; font-size: .90rem; color: var(--ink-2); line-height: 1.75; }

@media (max-width: 900px) {
  .content-cols { grid-template-columns: 1fr; }
  .content-aside { position: static; }
}
