/* ─────────────────────────────────────────────────────────────────────────────
   MOHR — FAQ section (index.html)
   Page-specific styles, loaded after assets/mohr.css. Tokens, type roles and
   buttons all come from the shared system; nothing is redefined here.

   Structure: four labelled clusters, each a sticky label beside a list of
   native <details> items. The aperture motif returns twice — as the ring that
   holds each item's open/close mark, and full size behind the closing CTA.
   ───────────────────────────────────────────────────────────────────────────── */

.faq{scroll-margin-top:4.5rem;}

/* ── head ─────────────────────────────────────────────── */
.faq__head{max-width:46rem;margin-bottom:clamp(2.4rem,5vw,3.6rem);}
.faq__head .lede{margin-top:1.3rem;}
/* authorship / oversight note — the E-E-A-T line, set as a brass-ruled aside */
.faq__by{
  margin:1.8rem 0 0;padding-left:1.35rem;border-left:2px solid var(--brass);
  font-size:.95rem;line-height:1.65;color:var(--slate);max-width:40rem;
}
.faq__by b{color:var(--ink);font-weight:600;}

/* ── clusters ─────────────────────────────────────────── */
.faq__cluster{
  display:grid;grid-template-columns:1fr;gap:1.1rem clamp(2rem,4vw,3.5rem);
  margin-top:clamp(2rem,3.6vw,2.8rem);padding-top:clamp(2rem,3.6vw,2.8rem);
  border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);
}
.faq__cluster:first-of-type{margin-top:0;padding-top:0;border-top:0;}
@media(min-width:900px){
  .faq__cluster{grid-template-columns:13rem minmax(0,1fr);}
}
.faq__group{
  font-family:var(--accent);font-size:.72rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--slate);margin:0;
  display:flex;align-items:center;gap:.7em;line-height:1.5;
}
.faq__group::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--brass);flex:0 0 auto;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--brass) 22%,transparent);
}
@media(min-width:900px){
  /* the label tracks its cluster while you read down the column */
  .faq__group{position:sticky;top:5.5rem;align-self:start;}
}
.faq__list{max-width:46rem;}

/* ── one question ─────────────────────────────────────── */
.faq__item{border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);}
.faq__item:first-child{border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent);}

.faq__q{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1.2rem;
  padding:1.15rem 0;cursor:pointer;list-style:none;
}
.faq__q::-webkit-details-marker{display:none;}   /* Safari's default triangle */
.faq__q::marker{content:"";}
.faq__q h3{
  font-size:clamp(1.06rem,1.4vw,1.2rem);line-height:1.4;letter-spacing:-.006em;
  color:var(--evergreen);margin:0;transition:color .3s var(--ease);
}
.faq__q:hover h3{color:var(--ink);}

/* open/close mark: the aperture ring, with a brass cross that closes to a dash */
.faq__mark{
  position:relative;flex:0 0 auto;width:26px;height:26px;border-radius:50%;margin-top:.2rem;
  border:1px solid color-mix(in srgb,var(--evergreen) 30%,transparent);
  transition:border-color .35s var(--ease),transform .45s var(--ease);
}
.faq__mark::before,.faq__mark::after{
  content:"";position:absolute;left:50%;top:50%;background:var(--brass);
  transition:transform .45s var(--ease),opacity .3s var(--ease);
}
.faq__mark::before{width:9px;height:1.5px;transform:translate(-50%,-50%);}
.faq__mark::after{width:1.5px;height:9px;transform:translate(-50%,-50%);}
.faq__q:hover .faq__mark{border-color:color-mix(in srgb,var(--evergreen) 62%,transparent);}
/* open: the vertical stroke retracts, the ring turns — leaving a brass dash */
.faq__item[open] .faq__mark{border-color:var(--brass);transform:rotate(180deg);}
.faq__item[open] .faq__mark::after{transform:translate(-50%,-50%) scaleY(0);opacity:0;}

/* ── the answer ───────────────────────────────────────── */
.faq__a{padding:0 0 1.55rem;max-width:42rem;}
.faq__a p{margin:0 0 .85rem;font-size:1rem;line-height:1.65;color:var(--slate);}
.faq__a p:last-child{margin:0;}
.faq__a b{color:var(--ink);font-weight:600;}
.faq__a a{
  color:var(--evergreen);font-weight:500;text-decoration:none;
  box-shadow:inset 0 -1px 0 var(--brass);transition:box-shadow .3s var(--ease);
}
.faq__a a:hover{box-shadow:inset 0 -2px 0 var(--brass);}
.faq__item[open] .faq__a{animation:faqIn .5s var(--ease) both;}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}

/* ── clinical care note (visible source for the entity markup) ── */
.faq__care{
  margin-top:clamp(2.2rem,4vw,3rem);border-radius:var(--radius);background:var(--sage);
  padding:clamp(1.3rem,2.6vw,1.8rem);display:grid;gap:.7rem;max-width:52rem;
}
.faq__careLabel{
  font-family:var(--accent);font-size:.7rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--slate);margin:0;
  display:flex;align-items:center;gap:.7em;
}
.faq__careLabel::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--brass);flex:0 0 auto;}
.faq__care p{margin:0;font-size:.93rem;line-height:1.65;color:var(--slate);}
.faq__care b{color:var(--ink);font-weight:600;}
.faq__addr{font-style:normal;display:block;font-size:.93rem;line-height:1.65;color:var(--slate);}
.faq__addr a{color:var(--evergreen);text-underline-offset:3px;}

/* ── closing CTA ──────────────────────────────────────── */
.faq__cta{
  position:relative;overflow:hidden;margin-top:clamp(1.6rem,3vw,2.2rem);
  background:var(--evergreen);color:var(--porcelain);border-radius:var(--radius);
  padding:clamp(1.9rem,4vw,3rem);display:grid;gap:clamp(1.5rem,3vw,2.5rem);align-items:center;
}
@media(min-width:820px){.faq__cta{grid-template-columns:1fr auto;}}
.faq__ctaLine{
  font-family:var(--display);font-weight:300;font-size:clamp(1.5rem,3vw,2.1rem);
  line-height:1.2;letter-spacing:-.02em;margin:0;color:var(--porcelain);max-width:20ch;position:relative;z-index:1;
}
.faq__ctaLine b{font-weight:500;color:var(--brass-light);}   /* brass-light = AA on evergreen */
.faq__ctaSide{display:flex;flex-direction:column;gap:.95rem;align-items:flex-start;position:relative;z-index:1;}
.faq__ctaNote{
  margin:0;font-size:.86rem;line-height:1.6;max-width:24rem;
  color:color-mix(in srgb,var(--porcelain) 78%,transparent);
}
/* the aperture, clipped at the edge — decoration only, hidden where it would crowd */
.faq__cta .aperture{
  position:absolute;right:-64px;top:50%;transform:translateY(-50%);
  width:250px;opacity:.16;z-index:0;pointer-events:none;display:none;
}
.faq__cta .aperture .ring{stroke:var(--porcelain);}
.faq__cta .aperture .ring--faint{stroke:color-mix(in srgb,var(--porcelain) 55%,transparent);}
@media(min-width:1080px){.faq__cta .aperture{display:block;}}

@media (prefers-reduced-motion:reduce){
  .faq__item[open] .faq__a{animation:none;}
  .faq__mark,.faq__mark::before,.faq__mark::after,.faq__q h3,.faq__a a{transition:none;}
}
