/* Wiseman Residential — content round 1: the Q&A section (home) and the Q&A page (faq.html).
   Visible <details> answers mirror the FAQPage JSON-LD in each page's <head>, so search and AI answer engines read
   exactly what a visitor reads. Same tokens as style.css: ink, ink-2/3, line, accent; Newsreader questions, Montserrat answers. */
.beat-faq{ border-top:1px solid var(--line); }
.faq-grid{ display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:28px clamp(32px,6vw,110px); align-items:start; }
.faq-head{ position:sticky; top:calc(var(--hd-h) + 28px); display:grid; gap:0; }
.faq-head .body{ margin-top:clamp(14px,2vh,22px); max-width:40ch; }
.faq-head .actions{ margin-top:clamp(18px,2.6vh,28px); }
.faq-list{ border-top:1px solid var(--ink); }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-item summary{ display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 0; cursor:pointer; list-style:none; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-q{ font-family:var(--serif); font-weight:400; font-size:clamp(1.2rem,1.55vw,1.5rem); line-height:1.25; letter-spacing:-.01em; color:var(--ink); text-wrap:balance; }
.faq-plus{ position:relative; flex:none; width:34px; height:34px; border:1px solid var(--line); transition:background-color .3s var(--ease),border-color .3s; }
.faq-plus::before,.faq-plus::after{ content:""; position:absolute; left:50%; top:50%; width:12px; height:1px; background:var(--ink); transform:translate(-50%,-50%); transition:transform .35s var(--ease); }
.faq-plus::after{ transform:translate(-50%,-50%) rotate(90deg); }
.faq-item[open] .faq-plus{ background:var(--ink); border-color:var(--ink); }
.faq-item[open] .faq-plus::before,.faq-item[open] .faq-plus::after{ background:#fff; }
.faq-item[open] .faq-plus::after{ transform:translate(-50%,-50%) rotate(0deg); }
.faq-item summary:hover .faq-q,.faq-item summary:focus-visible .faq-q{ color:var(--accent-ink); }
.faq-item summary:focus-visible{ outline:2px solid var(--focus); outline-offset:4px; }
.faq-a{ padding:0 64px 24px 0; }
.faq-a p{ margin:0; max-width:62ch; font-size:1.05rem; line-height:1.7; color:var(--ink-2); }
.faq-a a{ color:var(--ink); border-bottom:1px solid var(--line); transition:border-color .25s; }
.faq-a a:hover{ border-color:var(--ink); }
.faq-group + .faq-group{ border-top:1px solid var(--line); }
.faq-group .faq-head .eyebrow{ margin:0; }
@media (max-width:900px){
  .faq-grid{ grid-template-columns:1fr; }
  .faq-head{ position:static; }
  .faq-a{ padding-right:0; }
}

/* Work: the team copy takes the row until the recruitment video arrives */
.team-grid .team-copy:only-child{ grid-column:1/9; }
