/* ============================================================
   COASTAL BLOOM — FAQ section
   Reuses the paper/ink palette + serif/mono type system.
   ============================================================ */

.faq{
  max-width:1180px;
  margin:0 auto;
  padding:clamp(80px,11vh,130px) clamp(24px,5vw,64px) 0;
}

.faq-head{
  max-width:760px;
  margin:0 auto clamp(40px,6vh,66px);
  text-align:center;
}
.faq-head .eyebrow{
  font-family:var(--mono); font-size:12px; letter-spacing:.3em;
  text-transform:uppercase; color:var(--clay); margin:0;
}
.faq-head h2{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(38px,5.4vw,72px); line-height:1.06; letter-spacing:-.01em;
  margin:16px 0 0; text-wrap:balance;
}
.faq-head h2 em{ font-style:italic; color:var(--clay); }

.faq-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  column-gap:clamp(40px,6vw,84px);
}

.faq-item{
  border-top:1px solid var(--line);
}
.faq-grid > .faq-item:last-child{ border-bottom:1px solid var(--line); }
/* in a 2-col grid, the 5th item (bottom-left) also needs a bottom rule */
.faq-grid > .faq-item:nth-last-child(2){ border-bottom:1px solid var(--line); }

.faq-item summary{
  list-style:none; cursor:pointer; position:relative;
  padding:26px 44px 26px 0;
  font-family:var(--serif); font-weight:500;
  font-size:clamp(20px,2.1vw,27px); line-height:1.25; color:var(--ink);
  transition:color .3s var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:'+';
  position:absolute; right:6px; top:50%; transform:translateY(-50%);
  font-family:var(--mono); font-weight:300; font-size:26px; line-height:1;
  color:var(--clay);
  transition:transform .4s var(--ease);
}
.faq-item[open] summary::after{ transform:translateY(-50%) rotate(135deg); }
.faq-item summary:hover{ color:var(--clay); }

.faq-item p{
  font-weight:300; font-size:clamp(15px,1.5vw,17px); line-height:1.7;
  color:var(--ink-soft); margin:0 0 28px; max-width:52ch; text-wrap:pretty;
}
.faq-item p a{
  color:var(--clay); text-decoration:none;
  border-bottom:1px solid color-mix(in srgb, var(--clay) 40%, transparent);
  transition:border-color .25s var(--ease);
}
.faq-item p a:hover{ border-color:var(--clay); }
.faq-item[open] p{ animation:acReveal .45s var(--ease) both; }

@media (max-width:760px){
  .faq-grid{ grid-template-columns:1fr; }
  /* every item gets its own divider in single column */
  .faq-grid > .faq-item:nth-last-child(2){ border-bottom:none; }
  .faq-grid > .faq-item:last-child{ border-bottom:1px solid var(--line); }
}
