.faq{background:var(--white);color:var(--navy);padding:clamp(2rem,5vw,4rem) var(--gut);scroll-margin-top:5rem}
.faq:not(.faq--compact){background:#F5F6F8}
.faq__inner{max-width:76rem;margin-inline:auto;display:grid;grid-template-columns:minmax(12rem,1fr) minmax(0,2fr);gap:1.5rem 3rem}
.faq h2{font:400 clamp(1.8rem,3vw,2.6rem)/1.15 var(--f-heading);margin:0}
.faq__item{border-bottom:1px solid var(--rule-dark)}
.faq__item:first-child{border-top:1px solid var(--rule-dark)}
.faq__item summary{list-style:none;display:flex;justify-content:space-between;gap:1rem;align-items:center;cursor:pointer;min-height:52px;padding:1rem 0;font:500 1rem/1.4 var(--f-text)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";flex:none;color:#96772F;font-size:1.4rem;line-height:1}
.faq__item[open] summary::after{content:"−"}
.faq__item summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.faq__item p{margin:0;padding:0 2rem 1.25rem 0;color:var(--grey-400);font-size:.95rem;line-height:1.65;max-width:76ch}
.faq__more{grid-column:2;color:var(--navy);font-size:.875rem;text-decoration:underline;text-underline-offset:.25em;justify-self:start}
.faq--compact{padding-top:0;padding-bottom:3rem}
.faq--compact .faq__inner{border-top:1px solid var(--rule-dark);padding-top:1.5rem}
.booking-page:has(.faq--compact) .booking{padding-bottom:2rem}
@media(max-width:800px){
  .faq__inner{grid-template-columns:minmax(0,1fr);gap:1rem}
  .faq__more{grid-column:1}
  .faq--compact{padding-inline:1rem}
  .faq__item summary{font-size:.9rem}
  .faq__item p{font-size:.875rem;padding-right:.5rem}
}
