/* Haven View Optics — faq.css (generated from the authored stylesheet) */
.acc{border-top:1px solid var(--primary)}
.acc-item{border-bottom:1px solid var(--border)}
.acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;background:none;border:0;cursor:pointer;text-align:left;font:400 clamp(19px,1.7vw,24px)/1.35 var(--font-serif);color:var(--primary)}
.acc-q:hover{color:var(--secondary)}
.acc-icon{flex:none;width:34px;height:34px;border:1px solid currentColor;border-radius:50%;position:relative;transition:transform .5s var(--ease),background .3s}
.acc-icon::before,.acc-icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1px;background:currentColor;transform:translate(-50%,-50%)}
.acc-icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.acc-q[aria-expanded="true"] .acc-icon{transform:rotate(135deg)}
.acc-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.acc-a>div{overflow:hidden}
.acc-a .acc-inner{padding:0 60px 28px 0;max-width:72ch}
.acc-a .acc-inner p:last-child{margin-bottom:0}
.acc-item.is-open .acc-a{grid-template-rows:1fr}
.faq-cats{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;margin-bottom:48px}
.faq-cats a{font:700 12px/1 var(--font-sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--primary);padding:12px 0;display:inline-block;background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;transition:background-size .45s var(--ease)}
.faq-cats a:hover{background-size:100% 1px}
.faq-group+.faq-group{margin-top:clamp(56px,7vw,96px)}
.faq-group h2{font-size:var(--fs-lg);margin-bottom:28px}
@media (max-width:640px){
  .acc-a .acc-inner{padding-right:0}
}
.faq-cats--v{flex-direction:column;gap:0;margin:0 0 32px;border-top:1px solid var(--primary)}
.faq-cats--v li{border-bottom:1px solid var(--border)}
.faq-cats--v a{display:block;padding:14px 0;background:none;transition:padding .35s var(--ease),color .3s}
.faq-cats--v a:hover{padding-left:8px;color:var(--secondary)}
.faq-help{border:1px solid var(--border);padding:22px;font-size:15px}
.faq-help p{margin:0 0 6px;color:var(--muted)}
.faq-group .num{margin-bottom:10px}
.faq-group+.faq-group{margin-top:clamp(48px,6vw,80px)}
@media (max-width:900px){
  .faq-side .faq-cats--v{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px 22px;border:0}
  .faq-side .faq-cats--v li{border:0}
  .faq-side .faq-cats--v a{padding:10px 0}
  .faq-help{display:none}
}
