  /* ================= FAQ ================= */

  .faq-intro { padding:96px 0 56px; }
  .faq-intro .head { max-width:640px; margin:0 auto; text-align:center; }
  .faq-intro .eyebrow { display:flex; justify-content:center; }
  .faq-intro h2 { margin-bottom:0; }

  /* controls: quiet underline tabs + a plain-line search, no card/shadow chrome */
  .faq-controls { padding:64px 0 0; }
  .faq-controls .bar { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; flex-wrap:wrap; border-bottom:1px solid #E0D3AE; padding-bottom:0; }

  .faq-tabs { display:flex; gap:clamp(18px,3vw,34px); flex-wrap:wrap; position:relative; }
  .faq-tab {
    background:none; border:none; cursor:pointer; padding:0 0 16px; position:relative;
    font-size:13px; letter-spacing:.03em; text-transform:uppercase; color:#7A6B52;
    transition:color .3s ease;
  }
  .faq-tab::after { content:''; position:absolute; left:0; right:100%; bottom:-1px; height:2px; background:#A6821D; transition:right .3s cubic-bezier(.4,0,.2,1); }
  .faq-tab:hover { color:#3E342A; }
  .faq-tab.active { color:#1C130C; font-weight:600; }
  .faq-tab.active::after { right:0; }
  .faq-tab .count { color:#B8A87E; margin-left:5px; font-weight:400; }
  .faq-tab.active .count { color:#A6821D; }

  .faq-search { position:relative; margin-bottom:14px; flex-shrink:0; width:260px; max-width:100%; }
  .faq-search svg { position:absolute; left:0; top:50%; transform:translateY(-50%); color:#9A8B6C; pointer-events:none; }
  .faq-search input {
    width:100%; border:none; border-bottom:1px solid transparent; background:transparent; padding:0 28px 10px 26px;
    font-family:'Cormorant Garamond',serif; font-style:italic; font-size:17px; color:#211B15; outline:none;
    transition:border-color .3s ease;
  }
  .faq-search input::placeholder { color:#9A8B6C; opacity:1; }
  .faq-search input:focus { border-bottom-color:#A6821D; }
  .faq-search .clear {
    position:absolute; right:0; bottom:6px; width:20px; height:20px;
    border:none; background:none; color:#9A8B6C; cursor:pointer; display:none;
    align-items:center; justify-content:center; font-size:16px; line-height:1; transition:color .25s ease;
  }
  .faq-search .clear:hover { color:#1C130C; }
  .faq-search.has-value .clear { display:flex; }

  .faq-meta { max-width:1140px; margin:0 auto; padding:16px clamp(20px,4vw,44px) 0; font-size:12.5px; letter-spacing:.02em; color:#9A8B6C; min-height:18px; }

  .faq-empty { display:none; text-align:center; padding:80px 0 60px; }
  .faq-empty.show { display:block; }
  .faq-empty svg { color:#D8CBA0; margin-bottom:18px; }
  .faq-empty h3 { font-family:'Fraunces',serif; font-weight:500; font-size:20px; margin-bottom:10px; color:#3E342A; }
  .faq-empty p { font-size:14.5px; color:#7A6B52; margin-bottom:24px; }

  /* groups + list */
  .faq-body { padding:20px 0 110px; }
  .faq-body .wrap { max-width:840px; }
  .faq-group { padding-top:64px; }
  .faq-group:first-child { padding-top:44px; }
  .faq-group.hidden { display:none; }
  .faq-group-head { margin-bottom:4px; }
  .faq-group-head .eyebrow { margin-bottom:6px; }
  .faq-group-head h3 { font-family:'Fraunces',serif; font-weight:400; font-size:24px; color:#1C130C; }

  .faq-list { margin-top:18px; }
  .faq-item { border-top:1px solid #E4D8BF; }
  .faq-item:last-child { border-bottom:1px solid #E4D8BF; }
  .faq-item.hidden { display:none; }

  .faq-q {
    width:100%; display:flex; align-items:flex-start; justify-content:space-between; gap:28px;
    background:none; border:none; text-align:left; cursor:pointer; padding:25px 2px;
  }
  .faq-q .txt { font-family:'Fraunces',serif; font-weight:400; font-size:18px; line-height:1.45; color:#211B15; transition:color .25s ease; }
  .faq-item.open .faq-q .txt { color:#A6821D; }
  .faq-q:hover .txt { color:#A6821D; }
  .faq-q .plus {
    flex-shrink:0; width:15px; height:15px; position:relative; margin-top:6px;
  }
  .faq-q .plus::before, .faq-q .plus::after {
    content:''; position:absolute; background:#1C130C; top:50%; left:50%; transition:background .3s ease, transform .35s cubic-bezier(.4,0,.2,1);
  }
  .faq-q .plus::before { width:15px; height:1px; transform:translate(-50%,-50%); }
  .faq-q .plus::after { width:1px; height:15px; transform:translate(-50%,-50%); }
  .faq-item.open .faq-q .plus::before { background:#A6821D; }
  .faq-item.open .faq-q .plus::after { background:#A6821D; transform:translate(-50%,-50%) rotate(90deg) scaleY(0); }

  .faq-a { max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.4,0,.2,1); }
  .faq-a .inner { padding:0 44px 28px 2px; }
  .faq-a p { font-family:'Cormorant Garamond',serif; font-size:17.5px; line-height:1.75; color:#4A3B2C; max-width:660px; }
  .faq-a p + p { margin-top:12px; }
  .faq-a ul { margin:12px 0 0; padding-left:20px; }
  .faq-a li { font-family:'Cormorant Garamond',serif; font-size:17.5px; line-height:1.7; color:#4A3B2C; margin-bottom:4px; }
  .faq-a .link { margin-top:2px; }

  mark.hl { background:#F0DFA0; color:inherit; padding:0 1px; }

  /* still have questions — same quiet light band used site-wide */
  .faq-cta.cta-band .row { justify-content:center; text-align:center; flex-direction:column; gap:18px; }
  .faq-cta.cta-band p { font-family:'Cormorant Garamond',serif; font-size:18px; color:#5A4E3C; max-width:480px; margin:0 auto 6px; line-height:1.7; }
  .faq-cta.cta-band .btns { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }

  @media (max-width: 900px) {
    .faq-intro { padding:70px 0 40px; }
    .faq-controls { padding:0 0 0; }
    .faq-controls .bar { flex-direction:column; align-items:stretch; gap:18px; min-width:0; }
    .faq-search { width:100%; }
    .faq-tabs {
      flex-wrap:nowrap; overflow-x:auto; gap:22px; padding-bottom:2px;
      -webkit-overflow-scrolling:touch; scrollbar-width:none;
      min-width:0; width:100%;
    }
    .faq-tabs::-webkit-scrollbar { display:none; }
    .faq-tab { white-space:nowrap; flex-shrink:0; }
    .faq-controls .bar { position:relative; }
    .faq-controls .bar::after {
      content:''; position:absolute; right:0; top:0; bottom:16px; width:28px; pointer-events:none;
      background:linear-gradient(90deg, transparent, #F9F7F1);
    }
    .faq-group { padding-top:52px; }
    .faq-group-head h3 { font-size:21px; }
    .faq-q { padding:22px 2px; }
    .faq-q .txt { font-size:16.5px; }
    .faq-a .inner { padding:0 26px 24px 2px; }
  }

  @media (max-width: 600px) {
    .faq-cta.cta-band .btns { flex-direction:column; align-items:stretch; width:100%; }
    .faq-cta.cta-band .btns .btn { text-align:center; }
  }
