/* FAQ page */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.faq-hero{padding-block:clamp(1.5rem,3vw,2.5rem) clamp(1.5rem,3vw,2rem);border-bottom:1px solid var(--line);background:var(--surface)}
.faq-hero h1{font-size:clamp(2.1rem,1.5rem + 2.4vw,3.2rem);color:var(--plum);margin-top:.6rem}
.faq-hero .lede{color:var(--muted);margin-top:.6rem;max-width:62ch}
.faq-hero .lede a{color:var(--plum);font-weight:700}
.faq-search{position:relative;max-width:720px;margin-top:1.25rem}
.faq-search svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--plum)}
.faq-search input{width:100%;font:inherit;font-size:var(--text-base);padding:.95rem 1rem .95rem 2.9rem;border:2px solid var(--plum);border-radius:999px;background:#fff;color:var(--ink)}
.faq-search input:focus{outline:none;box-shadow:0 0 0 4px rgba(0,193,169,.25)}
.faq-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border:1px solid var(--line);border-radius:999px;background:var(--bg);font-size:var(--text-sm);font-weight:500;color:var(--plum);text-decoration:none;white-space:nowrap}
.chip:hover{border-color:var(--plum);background:var(--plum-soft)}
.chip .n{font-size:var(--text-xs);color:var(--muted)}

.faq-body{padding-block:clamp(2rem,4vw,3.5rem) clamp(3rem,6vw,5rem)}
.faq-layout{display:grid;grid-template-columns:250px 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
.faq-side{position:sticky;top:96px;display:grid;gap:1.25rem}
.side-h{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.faq-side ul{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.faq-side li a{display:block;padding:.4rem 0 .4rem 1rem;margin-left:-2px;border-left:2px solid transparent;text-decoration:none;font-size:var(--text-sm);color:var(--muted)}
.faq-side li a:hover{color:var(--plum)}
.faq-side li a.active{color:var(--plum);font-weight:700;border-left-color:var(--teal)}
.side-card{background:var(--plum);color:#fff;border-radius:var(--radius);padding:1.25rem}
.side-card h3{color:#fff;font-size:var(--text-base)}
.side-card p{color:rgba(255,255,255,.8);font-size:var(--text-sm);margin-top:.3rem}
.side-card .btn{margin-top:.9rem;width:100%;justify-content:center}
.side-tel{display:block;text-align:center;color:#fff;font-size:var(--text-sm);margin-top:.6rem}

.faq-main{min-width:0}
.faq-status{font-size:var(--text-sm);color:var(--muted);min-height:1.2em;margin-bottom:.25rem}
.faq-group{scroll-margin-top:100px}
.faq-group + .faq-group{margin-top:2.25rem}
.faq-group h2{font-size:var(--text-lg);font-family:var(--font-display);color:var(--plum);margin-bottom:.4rem}
.faq-item summary{padding:1rem 0}
.ans{padding-bottom:1.2rem;color:var(--muted);max-width:68ch}
.ans p + p,.ans p + ul,.ans ul + p,.ans p + table,.ans table + p{margin-top:.65rem}
.ans ul{margin:.5rem 0 0;padding-left:1.15rem;display:grid;gap:.3rem}
.ans li::marker{color:var(--teal)}
.ans strong{color:var(--ink)}
.ans a{color:var(--plum);font-weight:700}
.ans .small{font-size:var(--text-xs)}
.price{width:100%;border-collapse:collapse;margin-top:.75rem;font-size:var(--text-sm);background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.price th,.price td{text-align:left;padding:.65rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}
.price tr:last-child th,.price tr:last-child td{border-bottom:0}
.price th{font-weight:700;color:var(--plum);width:48%}
mark{background:#c9f1ea;color:inherit;border-radius:3px;padding:0 .1em}
.faq-empty{text-align:center;padding:3rem 1rem;border:1px dashed var(--line);border-radius:var(--radius)}
.faq-empty h2{font-size:var(--text-lg);color:var(--plum)}
.faq-empty p{color:var(--muted);margin:.5rem 0 1.2rem}

.ask{background:var(--plum-soft)}
.ask-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.ask h2{font-size:var(--text-xl);color:var(--plum);margin-top:.6rem}
.ask p{color:var(--muted);margin-top:.8rem}
.ask-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.5rem}
.ask-form .full{grid-column:1/-1}
.ask-form label{display:block;font-size:var(--text-sm);font-weight:700;color:var(--plum);margin-bottom:.35rem}
.ask-form input,.ask-form textarea{width:100%;font:inherit;padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.ask-form input:focus,.ask-form textarea:focus{outline:2px solid var(--teal);border-color:transparent}
.ask-form .btn{justify-self:start}
.ask-done{grid-column:1/-1;color:var(--teal-ink);font-weight:700;margin:0}

@media (max-width:900px){
  .faq-layout{grid-template-columns:1fr}
  .faq-side{position:static;order:2}
  .faq-side nav{display:none}
  .ask-wrap{grid-template-columns:1fr}
}
@media (max-width:640px){
  .faq-chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--pad,1.25rem) * -1);padding-inline:var(--pad,1.25rem);scrollbar-width:none}
  .faq-chips::-webkit-scrollbar{display:none}
  .ask-form{grid-template-columns:1fr}
  .price th{width:auto}
}
.faq-item summary .sq{flex:1}
