/* BT V2.4 — Shared inner-page FAQ standard. Homepage remains unchanged. */
@media (min-width:821px){
  body:not(.home-page) .project-faq-layout,
  body:not(.home-page) .ac-faq-layout,
  body:not(.home-page) .faq-layout{
    display:grid;
    grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);
    gap:32px;
    height:440px;
    align-items:stretch;
  }

  body:not(.home-page) .project-faq-section .project-faq-intro,
  body:not(.home-page) .ac-faq-intro,
  body:not(.home-page) .faq-layout>aside{
    position:static;
    top:auto;
    display:flex;
    flex-direction:column;
    height:100%;
    min-height:0;
    overflow:hidden;
  }

  body:not(.home-page) .project-faq-heading,
  body:not(.home-page) .ac-faq-intro>h2,
  body:not(.home-page) .faq-layout>aside>h2{
    flex:0 0 auto;
  }

  body:not(.home-page) .project-faq-heading h2,
  body:not(.home-page) .ac-faq-intro>h2,
  body:not(.home-page) .faq-layout>aside>h2{
    display:-webkit-box;
    margin-top:0;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    font-size:clamp(1.55rem,2.15vw,2.08rem);
    line-height:1.1;
  }

  body:not(.home-page) .project-faq-section .bt-faq-lead,
  body:not(.home-page) .ac-faq-intro>p,
  body:not(.home-page) .faq-layout>aside>p{
    flex:0 0 auto;
    display:-webkit-box;
    margin:0 0 16px;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    font-size:.82rem;
    line-height:1.5;
  }

  body:not(.home-page) .project-faq-section .bt-faq-visual,
  body:not(.home-page) .ac-faq-image,
  body:not(.home-page) .faq-standard-visual{
    display:block;
    flex:1 1 auto;
    width:100%;
    height:auto;
    min-height:0;
    margin:0;
    overflow:hidden;
    border-radius:20px;
  }

  body:not(.home-page) .project-faq-section .bt-faq-visual img,
  body:not(.home-page) .ac-faq-image img,
  body:not(.home-page) .faq-standard-visual img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }

  body:not(.home-page) .project-faq-section .bt-faq-list,
  body:not(.home-page) .ac-faq-list,
  body:not(.home-page) .faq-layout>.faq-list{
    display:flex;
    flex-direction:column;
    gap:10px;
    height:100%;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    overscroll-behavior:contain;
    align-content:start;
    padding-right:9px;
    scrollbar-width:thin;
    scrollbar-color:var(--bt-primary) transparent;
  }

  body:not(.home-page) .project-faq-section .bt-faq-list::-webkit-scrollbar,
  body:not(.home-page) .ac-faq-list::-webkit-scrollbar,
  body:not(.home-page) .faq-layout>.faq-list::-webkit-scrollbar{width:7px}

  body:not(.home-page) .project-faq-section .bt-faq-list::-webkit-scrollbar-track,
  body:not(.home-page) .ac-faq-list::-webkit-scrollbar-track,
  body:not(.home-page) .faq-layout>.faq-list::-webkit-scrollbar-track{background:transparent}

  body:not(.home-page) .project-faq-section .bt-faq-list::-webkit-scrollbar-thumb,
  body:not(.home-page) .ac-faq-list::-webkit-scrollbar-thumb,
  body:not(.home-page) .faq-layout>.faq-list::-webkit-scrollbar-thumb{
    border-radius:99px;
    background:var(--bt-primary);
  }
}

body:not(.home-page) .project-faq-section .bt-faq,
body:not(.home-page) .ac-faq-list .faq-item,
body:not(.home-page) .faq-layout>.faq-list .faq-item{
  flex:0 0 auto;
}

/* Closed inner-page answers must never remain visible because of grid display rules. */
body:not(.home-page) .bt-faq-list .bt-faq-answer[hidden],
body:not(.home-page) .faq-list .faq-item>div[hidden]{
  display:none!important;
}

body:not(.home-page) .project-faq-section .bt-faq button,
body:not(.home-page) .ac-faq-list .faq-item button,
body:not(.home-page) .faq-layout>.faq-list .faq-item button{
  min-height:56px;
  padding:15px 17px;
  font-size:.82rem;
  line-height:1.4;
}

body:not(.home-page) .project-faq-section .bt-faq-answer p,
body:not(.home-page) .ac-faq-list .faq-item>div p,
body:not(.home-page) .faq-layout>.faq-list .faq-item>div p{
  padding:0 17px 15px;
  font-size:.78rem;
  line-height:1.55;
}

body:not(.home-page) .faq-item.open>div:not([hidden]){
  display:grid;
  grid-template-rows:1fr;
}

@media (max-width:820px){
  body:not(.home-page) .project-faq-layout,
  body:not(.home-page) .ac-faq-layout,
  body:not(.home-page) .faq-layout{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    height:auto;
    align-items:start;
  }

  body:not(.home-page) .project-faq-section .project-faq-intro,
  body:not(.home-page) .ac-faq-intro,
  body:not(.home-page) .faq-layout>aside{
    display:flex;
    flex-direction:column;
    height:auto;
    min-height:0;
    overflow:visible;
  }

  body:not(.home-page) .project-faq-section .bt-faq-visual,
  body:not(.home-page) .ac-faq-image,
  body:not(.home-page) .faq-standard-visual{
    display:block;
    flex:none;
    width:100%;
    height:245px;
    min-height:245px;
    margin:0;
    overflow:hidden;
    border-radius:20px;
  }

  body:not(.home-page) .project-faq-section .bt-faq-visual img,
  body:not(.home-page) .ac-faq-image img,
  body:not(.home-page) .faq-standard-visual img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
  }

  body:not(.home-page) .project-faq-section .bt-faq-list,
  body:not(.home-page) .ac-faq-list,
  body:not(.home-page) .faq-layout>.faq-list{
    display:flex;
    flex-direction:column;
    gap:10px;
    height:390px;
    min-height:0;
    max-height:none;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-right:7px;
    scrollbar-width:thin;
    scrollbar-color:var(--bt-primary) transparent;
  }

  body:not(.home-page) .project-faq-heading h2,
  body:not(.home-page) .ac-faq-intro>h2,
  body:not(.home-page) .faq-layout>aside>h2{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    line-clamp:2;
    font-size:clamp(1.5rem,7vw,1.95rem);
    line-height:1.12;
  }
}

@media (max-width:560px){
  body:not(.home-page) .project-faq-section .bt-faq-visual,
  body:not(.home-page) .ac-faq-image,
  body:not(.home-page) .faq-standard-visual{
    height:220px;
    min-height:220px;
  }

  body:not(.home-page) .project-faq-section .bt-faq-list,
  body:not(.home-page) .ac-faq-list,
  body:not(.home-page) .faq-layout>.faq-list{height:370px}
}
