
  .sdc-faq {
    --sdc-gold: #d4a930;
    --sdc-gold-soft: #fbf6e8;
    --sdc-ink: #222222;
    --sdc-text: #5c5c5c;
    --sdc-line: #ece6d6;
    padding: 50px 15px;
  }
  .sdc-faq * { box-sizing: border-box; }
  .sdc-faq__wrap {
    max-width: 900px;
    margin: 0 auto;
    border-top: 1px solid var(--sdc-line);
  }
  .sdc-faq__item {
    position: relative;
    border-bottom: 1px solid var(--sdc-line);
    transition: background-color .3s ease;
  }
  .sdc-faq__item::before {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 3px;
    background: var(--sdc-gold);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .35s ease;
  }
  .sdc-faq__item.is-open { background: var(--sdc-gold-soft); }
  .sdc-faq__item.is-open::before { transform: scaleY(1); }
 
  .sdc-faq__h {
    margin: 0;
    padding: 0;
    font-size: 19px;
    line-height: 1.45;
    font-weight: 500;
  }
  .sdc-faq__q {
    all: unset;
    box-sizing: border-box;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px;
    cursor: pointer;
    color: var(--sdc-ink);
  }
  .sdc-faq__q:focus-visible {
    outline: 2px solid var(--sdc-gold);
    outline-offset: -2px;
  }
  .sdc-faq__text {
    transition: color .3s ease;
  }
  .sdc-faq__q:hover .sdc-faq__text,
  .sdc-faq__item.is-open .sdc-faq__text { color: #a8821c; }
 
  /* plus / minus icon */
  .sdc-faq__icon {
    position: relative;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border: 1px solid var(--sdc-gold);
    border-radius: 50%;
    transition: background-color .3s ease, transform .35s ease;
  }
  .sdc-faq__icon::before,
  .sdc-faq__icon::after {
    content: "";
    position: absolute;
    top: 50%; left: 50%;
    width: 12px; height: 1.5px;
    background: var(--sdc-gold);
    transform: translate(-50%, -50%);
    transition: transform .35s ease, background-color .3s ease;
  }
  .sdc-faq__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
  .sdc-faq__item.is-open .sdc-faq__icon { background: var(--sdc-gold); transform: rotate(180deg); }
  .sdc-faq__item.is-open .sdc-faq__icon::before,
  .sdc-faq__item.is-open .sdc-faq__icon::after { background: #fff; }
  .sdc-faq__item.is-open .sdc-faq__icon::after { transform: translate(-50%, -50%) rotate(0deg); }
 
  /* answer */
  .sdc-faq__a {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .4s ease;
  }
  .sdc-faq__item.is-open .sdc-faq__a { grid-template-rows: 1fr; }
  .sdc-faq__a-inner { overflow: hidden; }
  .sdc-faq__a p {
    margin: 0;
    padding: 0 78px 24px 24px;
    font-size: 16px;
    line-height: 1.8;
    color: var(--sdc-text);
  }
 
  @media (max-width: 767px) {
    .sdc-faq { padding: 35px 12px; }
    .sdc-faq__q { padding: 18px 16px; gap: 14px; }
    .sdc-faq__h { font-size: 16.5px; }
    .sdc-faq__icon { flex-basis: 30px; width: 30px; height: 30px; }
    .sdc-faq__a p { padding: 0 16px 20px; font-size: 15px; }
  }
  @media (prefers-reduced-motion: reduce) {
    .sdc-faq *, .sdc-faq *::before, .sdc-faq *::after { transition: none !important; }
  }