/* Shared Q&A for Home and the product pages. */
.home-faq { padding-block:65px 100px; border-top:1px solid var(--line); }
.home-faq-heading { text-align:center; margin-bottom:48px; }
.home-faq-heading .eyebrow { justify-content:center; margin-bottom:15px; }
.home-faq-heading h2 { font-size:clamp(28px,3vw,42px); font-weight:600; letter-spacing:-1px; color:var(--deep); }
.home-faq-heading>p:last-child { color:var(--muted); margin-top:12px; font-size:14px; }
.home-faq-groups { display:grid; grid-template-columns:minmax(0,1fr); gap:32px; align-items:start; max-width:920px; margin-inline:auto; }
.home-faq-group { min-width:0; padding:28px; border:1px solid #DCEAE4; border-radius:22px; background:#fff; box-shadow:0 8px 30px #0B585F06; }
.home-faq-group:last-child { background:#F4FAF7; }
.home-faq-group>header { display:grid; grid-template-columns:auto 1fr; column-gap:12px; margin-bottom:22px; }
.home-faq-group>header>span { grid-row:1/3; width:36px; height:36px; display:grid; place-items:center; border-radius:11px; background:var(--deep); color:white; font-size:11px; align-self:center; }
.home-faq-group h3 { font-size:20px; font-weight:600; color:var(--deep); }
.home-faq-group>header p { color:var(--muted); font-size:12px; margin-top:2px; }
.home-faq-group details { border-top:1px solid #DCEAE4; }
.home-faq-group summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; font-size:14px; font-weight:500; line-height:1.8; transition:color .25s; }
.home-faq-group summary::-webkit-details-marker { display:none; }
.home-faq-group summary:hover,.home-faq-group details[open] summary { color:var(--teal-dark); }
.home-faq-group summary:focus-visible { outline-offset:2px; border-radius:6px; }
.home-faq-toggle { position:relative; flex:0 0 26px; height:26px; border:1px solid #CDE2D9; border-radius:50%; color:var(--deep); transition:background .25s,color .25s; }
.home-faq-toggle::before,.home-faq-toggle::after { content:""; position:absolute; width:10px; height:1.5px; background:currentColor; top:50%; left:50%; transform:translate(-50%,-50%); }
.home-faq-toggle::after { transform:translate(-50%,-50%) rotate(90deg); transition:transform .3s var(--motion-ease); }
.home-faq-group details[open] .home-faq-toggle { background:var(--deep); border-color:var(--deep); color:white; }
.home-faq-group details[open] .home-faq-toggle::after { transform:translate(-50%,-50%) rotate(0); }
.home-faq-answer { padding:0 35px 22px 0; color:var(--muted); font-size:13px; line-height:2; overflow-wrap:anywhere; }
.home-faq-answer a { display:inline-block; margin-top:13px; color:var(--deep); font-weight:500; text-decoration:underline; text-decoration-color:#B6D8CA; text-underline-offset:5px; }
@media (prefers-reduced-motion:no-preference) {
  .home-faq-group details[open] .home-faq-answer { animation:home-faq-answer-in .35s var(--motion-ease); }
  @keyframes home-faq-answer-in { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }
}
@media (prefers-reduced-motion:reduce) {
  .home-faq-group summary,.home-faq-toggle,.home-faq-toggle::after { transition:none; }
}
@media (max-width:760px) {
  .home-faq { padding-block:45px 60px; }
  .home-faq-heading { margin-bottom:28px; }
  .home-faq-heading>p:last-child { font-size:12px; }
  .home-faq-groups { grid-template-columns:1fr; gap:20px; }
  .home-faq-group { padding:20px; border-radius:17px; }
  .home-faq-group h3 { font-size:18px; }
  .home-faq-group summary { font-size:13px; padding:18px 0; gap:12px; }
  .home-faq-answer { font-size:12px; padding-right:0; }
}

@media (min-width:1001px) {
  .home-story-page .home-faq-groups { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:none; }
}
