/* Stream RV — faq page, ported verbatim from the signed-off design
   (FAQ.html). Scoped to the wrapper; review chrome not shipped. */

/* ============================================================================
   STREAM RV — FAQ  ·  wrapper: .srv-faq
   Self-contained Elementor "HTML" block. All styles scoped under .srv-faq,
   tokens on the wrapper (NOT :root), no global resets. No header/footer.
   Accordion: button-based, aria-expanded, keyboard-operable; expansion uses
   grid-template-rows 0fr→1fr (NOT max-height — see consignment handoff note),
   animated only under prefers-reduced-motion: no-preference.
   DEV: Q&A copy is representative placeholder in the brand voice — owner to
   review/approve each answer before launch.
   ============================================================================ */

.srv-faq{
  --primary:#0d1919; --primary-container:#222e2e; --on-primary:#ffffff;
  --secondary:#81550c; --brass-mid:#96682a; --secondary-container:#fdc171;
  --secondary-fixed:#ffddb5;
  --background:#fbf9f8; --surface:#f5f3f3; --on-surface-variant:#424848;
  --body-text:#1b1c1c; --outline:#c2c7c7;
  --line:rgba(34,46,46,.13); --line-2:rgba(34,46,46,.08);
  --maxw:1220px; --pad:26px;

  font-family:'Libre Franklin',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;
  color:var(--body-text);background:var(--background);line-height:1.62;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.srv-faq *{box-sizing:border-box;}
.srv-faq [hidden]{display:none!important;}
.srv-faq h1,.srv-faq h2,.srv-faq h3{font-family:'Vollkorn','Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;font-weight:600;margin:0;
  color:var(--primary-container);letter-spacing:-.02em;line-height:1.08;text-wrap:balance;}
.srv-faq p{margin:0;}
.srv-faq a{color:inherit;}
.srv-faq button{font:inherit;}
.srv-faq a[href^="tel:"]{white-space:nowrap;}
.srv-faq :focus-visible{outline:2px solid var(--brass-mid);outline-offset:2px;border-radius:2px;}

.srv-faq .cw{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.srv-faq .eyebrow{font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--secondary);margin:0 0 16px;display:flex;align-items:center;gap:11px;}
.srv-faq .eyebrow::before{content:"";width:24px;height:1.5px;background:var(--brass-mid);flex:none;}

.srv-faq .btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font-weight:600;
  font-size:15.5px;font-family:'Libre Franklin',system-ui,-apple-system,'Helvetica Neue',Arial,sans-serif;padding:14px 24px;min-height:52px;border-radius:4px;
  text-decoration:none;cursor:pointer;border:1.5px solid transparent;white-space:nowrap;}
.srv-faq .btn:active{transform:translateY(1px);}
.srv-faq .btn--primary{background:var(--primary-container);color:#fff;}
.srv-faq .btn--primary:hover{background:var(--primary);}
@media (prefers-reduced-motion: no-preference){
  .srv-faq .btn{transition:background .18s,color .18s,border-color .18s;}
}

/* ===== HERO ===== */
.srv-faq .hero{padding:clamp(52px,6vw,88px) 0 clamp(36px,4vw,56px);border-bottom:1px solid var(--line-2);}
.srv-faq .hero h1{font-size:clamp(36px,4.8vw,60px);letter-spacing:-.025em;max-width:16ch;}
.srv-faq .hero h1 em{font-style:italic;color:var(--secondary);font-weight:500;}
.srv-faq .hero__sub{font-size:clamp(16.5px,1.45vw,19px);color:var(--on-surface-variant);max-width:52ch;margin:22px 0 30px;}
.srv-faq .hero__sub a{color:var(--secondary);font-weight:600;text-decoration:none;}
.srv-faq .hero__sub a:hover{color:var(--brass-mid);}
.srv-faq .hero__nav{display:flex;flex-wrap:wrap;gap:10px;}
.srv-faq .chip{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:600;
  color:var(--body-text);background:var(--surface);border:1px solid var(--line);border-radius:999px;
  padding:11px 20px;min-height:44px;text-decoration:none;}
.srv-faq .chip:hover{border-color:var(--brass-mid);color:var(--secondary);}
.srv-faq .chip span{color:var(--secondary);font-family:'Vollkorn','Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;font-weight:600;}

/* ===== CATEGORY SECTIONS ===== */
.srv-faq .cat{padding:clamp(44px,5vw,72px) 0;border-bottom:1px solid var(--line-2);scroll-margin-top:110px;}
.srv-faq .cat:last-of-type{border-bottom:none;}
.srv-faq .cat__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(28px,4.5vw,68px);align-items:start;}
.srv-faq .cat__head{position:sticky;top:110px;}
.srv-faq .cat__k{font-family:'Vollkorn','Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;font-weight:600;font-size:15px;color:var(--brass-mid);
  letter-spacing:.04em;display:block;margin-bottom:12px;}
.srv-faq .cat h2{font-size:clamp(27px,3.2vw,40px);}
.srv-faq .cat__sub{font-size:15px;color:var(--on-surface-variant);margin-top:12px;max-width:34ch;}

/* accordion */
.srv-faq .qa{border-bottom:1px solid var(--line);}
.srv-faq .qa:first-child{border-top:1px solid var(--line);}
.srv-faq .qa__btn{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;
  background:none;border:none;text-align:left;cursor:pointer;padding:20px 2px;min-height:44px;}
.srv-faq .qa__btn h3{font-size:18.5px;font-weight:600;letter-spacing:-.012em;line-height:1.3;}
.srv-faq .qa__btn:hover h3{color:var(--secondary);}
.srv-faq .qa__icon{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--outline);
  position:relative;}
.srv-faq .qa__icon::before,.srv-faq .qa__icon::after{content:"";position:absolute;background:var(--secondary);
  top:50%;left:50%;}
.srv-faq .qa__icon::before{width:12px;height:1.5px;transform:translate(-50%,-50%);}
.srv-faq .qa__icon::after{width:1.5px;height:12px;transform:translate(-50%,-50%);}
.srv-faq .qa__btn[aria-expanded="true"] .qa__icon{border-color:var(--brass-mid);background:var(--secondary-container);}
.srv-faq .qa__btn[aria-expanded="true"] .qa__icon::after{transform:translate(-50%,-50%) scaleY(0);}
/* panel — grid-rows technique, INSTANT toggle (no transition: a grid-template-rows
   transition gets stuck at 0px in some embedded render contexts — same failure class
   as the max-height note in handoff/consignment/README.md). If a smooth slide is
   wanted in production, animate JS-measured pixel heights and test it actually opens. */
.srv-faq .qa__panel{display:grid;grid-template-rows:0fr;}
.srv-faq .qa__inner{overflow:hidden;visibility:hidden;}
.srv-faq .qa.is-open .qa__panel{grid-template-rows:1fr;}
.srv-faq .qa.is-open .qa__inner{visibility:visible;}
.srv-faq .qa__body{padding:2px 44px 24px 2px;}
.srv-faq .qa__body p{font-size:15.5px;color:var(--on-surface-variant);max-width:58ch;margin-bottom:12px;}
.srv-faq .qa__body p:last-child{margin-bottom:0;}
.srv-faq .qa__body a{color:var(--secondary);font-weight:600;text-decoration:none;}
.srv-faq .qa__body a:hover{color:var(--brass-mid);}
@media (prefers-reduced-motion: no-preference){
  .srv-faq .qa__icon::after{transition:transform .2s ease;}
}

/* ===== CLOSING CTA ===== */
.srv-faq .cta{background:var(--primary-container);color:var(--background);text-align:center;
  padding:clamp(50px,6vw,84px) 0;}
.srv-faq .cta h2{color:var(--background);font-size:clamp(28px,3.6vw,44px);max-width:20ch;margin:0 auto 14px;}
.srv-faq .cta p{color:#CFC6B8;font-size:16.5px;max-width:46ch;margin:0 auto 30px;}
.srv-faq .cta__row{display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:center;align-items:center;}
.srv-faq .btn--brass{background:var(--secondary-container);color:var(--body-text);}
.srv-faq .btn--brass:hover{background:var(--secondary-fixed);}
.srv-faq .cta__phone{font-family:'Vollkorn','Iowan Old Style','Palatino Linotype',Palatino,Georgia,serif;font-weight:600;font-size:clamp(22px,2.4vw,28px);
  color:var(--background);text-decoration:none;}
.srv-faq .cta__phone:hover{color:var(--secondary-fixed);}
.srv-faq .cta__note{font-size:13px;color:#CFC6B8;margin-top:14px;}

/* ===== RESPONSIVE ===== */
@media (max-width:860px){
  .srv-faq .cat__grid{grid-template-columns:1fr;gap:22px;}
  .srv-faq .cat__head{position:static;}
  .srv-faq .cat__sub{max-width:56ch;}
}
@media (max-width:560px){
  .srv-faq{--pad:20px;}
  .srv-faq .hero__nav .chip{flex:1 1 auto;justify-content:center;}
  .srv-faq .qa__btn h3{font-size:16.5px;}
}