/* ============================================================================
   BREAZY - CONTACT PAGE + FAQ ACCORDION
   Loaded after the rich-text sheet: the FAQ answer and link rules share
   specificity with `.bz-rich p` / `.bz-rich a` and win by source order.
   ========================================================================== */

.bz-contact__head{max-width:640px;margin:0 0 var(--s7)}
.bz-contact__lede{font-size:var(--fs-3);color:var(--muted);margin:var(--s2) 0 0;line-height:1.6}
.bz-contact__layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--s7);align-items:start}
.bz-contact__main{min-width:0}

/* ---- form ---- */
.bz-contact__form{margin:0}
.bz-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4) var(--s4)}
.bz-contact__field{margin:0;display:flex;flex-direction:column;gap:6px}
.bz-contact__field--wide{grid-column:1 / -1}
.bz-contact__field label{font-size:var(--fs-2);font-weight:600;color:var(--ink)}
.bz-contact__req{color:var(--deal);margin-left:2px}
.bz-contact__field input,
.bz-contact__field textarea{
  width:100%;padding:12px 14px;
  border:1px solid var(--line);border-radius:var(--r-1);
  background:var(--paper);color:var(--ink);
  font:inherit;font-size:var(--fs-2);
}
.bz-contact__field textarea{resize:vertical;min-height:150px;line-height:1.6}
.bz-contact__field input:focus,
.bz-contact__field textarea:focus{
  outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand-fill);
}
.bz-contact__submit{
  margin-top:var(--s5);padding:14px var(--s6);
  border:0;border-radius:var(--r-1);
  background:var(--brand-fill);color:#fff;
  font:inherit;font-size:var(--fs-3);font-weight:700;cursor:pointer;
}
.bz-contact__submit:hover{background:var(--brand-deep)}
/* Honeypot: present for bots, never shown to people or screen readers. */
.bz-contact__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bz-contact__ok,.bz-contact__err{
  margin:0 0 var(--s5);padding:14px 18px;border-radius:var(--r-1);
  font-size:var(--fs-2);font-weight:600;
}
.bz-contact__ok{background:#e8f5ec;border-left:4px solid #0f7a37;color:#0f5f2c}
.bz-contact__err{background:#fdecea;border-left:4px solid var(--deal);color:#8f2d0b}

/* ---- aside cards ---- */
.bz-contact__aside{display:flex;flex-direction:column;gap:var(--s4);min-width:0}
.bz-contact__card{
  padding:var(--s5);background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r-panel,14px);
}
.bz-contact__card--quiet{background:var(--haze);border-color:var(--line-2)}
.bz-contact__card-title{
  margin:0 0 var(--s4);font-family:var(--display);
  font-size:var(--fs-4);font-weight:700;color:var(--ink);
}
.bz-contact__method{margin:0 0 var(--s4);font-size:var(--fs-2);line-height:1.6;color:var(--body)}
.bz-contact__method:last-of-type{margin-bottom:0}
.bz-contact__label{
  display:block;font-size:var(--fs-1);font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:2px;
}
.bz-contact__method a{color:var(--brand-ink);font-weight:700}
.bz-contact__note{
  margin:var(--s4) 0 0;padding-top:var(--s4);border-top:1px solid var(--line-2);
  font-size:var(--fs-1);color:var(--muted);line-height:1.6;
}
.bz-contact__links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--s2)}
.bz-contact__links a{color:var(--brand-ink);font-weight:600;font-size:var(--fs-2)}

/* ---- FAQ accordion (native <details>, no JavaScript) ---- */
.bz-faq{margin-top:var(--s8);padding-top:var(--s7);border-top:1px solid var(--line)}
.bz-faq__title{font-family:var(--display);font-size:var(--fs-5);font-weight:700;color:var(--ink);margin:0}
.bz-faq__sub{color:var(--muted);margin:var(--s2) 0 var(--s5);font-size:var(--fs-2)}
.bz-faq__list{
  max-width:820px;border:1px solid var(--line);
  border-radius:var(--r-panel,14px);overflow:hidden;background:var(--paper);
}
.bz-faq__item + .bz-faq__item{border-top:1px solid var(--line-2)}
.bz-faq__q{
  display:flex;align-items:center;justify-content:space-between;gap:var(--s4);
  padding:var(--s4) var(--s5);cursor:pointer;list-style:none;
  font-family:var(--display);font-size:var(--fs-3);font-weight:700;color:var(--ink);
  line-height:var(--lh-snug);
}
.bz-faq__q::-webkit-details-marker{display:none}
.bz-faq__q:hover{background:var(--haze);color:var(--brand-ink)}
.bz-faq__q:focus-visible{outline:3px solid var(--brand);outline-offset:-3px}
/* Chevron drawn from a border so it needs no asset and follows currentColor. */
.bz-faq__q::after{
  content:"";flex:none;width:9px;height:9px;margin-right:2px;
  border-right:2px solid var(--brand-fill);border-bottom:2px solid var(--brand-fill);
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
}
.bz-faq__item[open] > .bz-faq__q{color:var(--brand-ink);background:var(--brand-wash,#f2f9fe)}
.bz-faq__item[open] > .bz-faq__q::after{transform:rotate(225deg) translateY(-2px)}
.bz-faq__a{padding:0 var(--s5) var(--s5)}
.bz-faq__a p{margin:0;font-size:var(--fs-2);line-height:1.75;color:var(--body)}
.bz-faq__more{margin:var(--s5) 0 0}
.bz-faq__more a{color:var(--brand-ink);font-weight:700;text-decoration:underline}

@media (max-width:900px){
  .bz-contact__layout{grid-template-columns:1fr;gap:var(--s6)}
}
@media (max-width:600px){
  .bz-contact__grid{grid-template-columns:1fr}
  .bz-faq__q{padding:var(--s4);font-size:var(--fs-2)}
  .bz-faq__a{padding:0 var(--s4) var(--s4)}
}
