.faq-opening { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:86px; align-items:end; padding-block:70px 92px; }
.faq-opening h1 { margin-top:27px; }
.faq-opening h1 em { color:var(--sage); }
.faq-opening-copy { padding-bottom:5px; }
.faq-opening-copy .copy { max-width:none; margin-top:22px; }
.faq-opening-copy .text-link { margin-top:24px; }

.faq-library { display:grid; grid-template-columns:minmax(250px,.42fr) minmax(0,1fr); gap:90px; align-items:start; padding-block:74px 112px; border-top:1px solid var(--line); }
.faq-index { position:sticky; top:calc(var(--live-header-height, 104px) + 28px); }
.faq-index-card { padding:33px 31px 15px; background:#e5e9d9; border-top:2px solid var(--sage); }
.faq-index-card nav { margin-top:22px; border-top:1px solid #7b83644d; }
.faq-index-card a { display:grid; grid-template-columns:28px 1fr 20px; align-items:center; gap:11px; min-height:67px; border-bottom:1px solid #7b83644d; }
.faq-index-card a span { font-size:10px; color:var(--sage); }
.faq-index-card a strong { font-size:13px; font-weight:500; }
.faq-index-card .arrow { width:17px; transition:transform .25s; }
.faq-index-card a:hover .arrow { transform:translate(4px,-3px); }
.faq-garden-photo { width:84%; margin:46px auto 0; position:relative; transform:translateX(-6px); }
.faq-garden-photo:before { content:""; position:absolute; inset:12px -12px -12px 12px; z-index:2; border:1px solid var(--coral,#eaaa8c); pointer-events:none; }
.faq-garden-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:50% 55%; }
.faq-garden-photo figcaption { padding:13px 8px 0 26px; color:var(--muted); }

.faq-groups { min-width:0; }
.faq-group { scroll-margin-top:130px; padding-top:72px; }
.faq-group:first-child { padding-top:0; }
.faq-group + .faq-group { margin-top:76px; }
.faq-group-heading { display:grid; grid-template-columns:minmax(210px,.58fr) 1fr; gap:42px; align-items:end; margin-bottom:32px; }
.faq-group-heading h2 { max-width:560px; }
.faq-group .details-list details[data-animating] { overflow:hidden; }
.faq-group .details-list summary { padding-block:25px; }
.faq-group .details-list details > div { max-width:760px; padding:0 44px 28px 0; }

.faq-next { background:var(--coral,#eaaa8c); padding-block:72px; }
.faq-next > .wrap { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:86px; align-items:center; }
.faq-next h2 { margin-top:20px; }
.faq-next h2 em { color:var(--ink); }
.faq-next .copy { color:#263b35c7; max-width:none; }
.faq-next-links { display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:24px; }

@media (max-width:1100px) {
  .faq-opening,.faq-next > .wrap { gap:52px; }
  .faq-library { gap:52px; grid-template-columns:minmax(230px,.4fr) minmax(0,1fr); }
  .faq-group-heading { grid-template-columns:1fr; gap:18px; }
}

@media (max-width:800px) {
  .faq-opening { grid-template-columns:1fr; gap:32px; padding-block:45px 62px; }
  .faq-opening-copy { padding-bottom:0; }
  .faq-library { grid-template-columns:1fr; gap:58px; padding-block:55px 72px; }
  .faq-index { position:static; }
  .faq-index-card { padding:28px 25px 12px; }
  .faq-garden-photo { width:calc(100% - 24px); max-width:460px; margin:42px auto 0; }
  .faq-garden-photo img { aspect-ratio:16/9; }
  .faq-group { padding-top:55px; }
  .faq-group + .faq-group { margin-top:55px; }
  .faq-next > .wrap { grid-template-columns:1fr; gap:28px; }
}

@media (max-width:450px) {
  .faq-opening h1 br { display:none; }
  .faq-index-card a { grid-template-columns:24px 1fr 18px; }
  .faq-group .details-list details > div { padding-right:14px; }
  .faq-next { padding-block:58px; }
}
