.faq-hero { display:grid; grid-template-columns:1.07fr .93fr; min-height:610px; background:var(--shell); }
.faq-hero__copy { display:flex; align-items:center; padding:85px clamp(34px,7vw,112px); }
.faq-hero__inner { max-width:650px; }
.faq-hero h1 { margin:0 0 27px; font:400 clamp(65px,7vw,104px)/.91 "Italiana",Georgia,serif; letter-spacing:-.048em; }
.faq-hero h1 em { display:block; color:#a67f79; font:italic 400 .78em/1 Georgia,serif; }
.faq-hero__inner > p:not(.eyebrow) { max-width:510px; margin:0 0 33px; color:#5e675d; font-size:15px; line-height:1.85; }
.faq-hero__image { min-height:610px; overflow:hidden; background:#d8dfd5; }
.faq-hero__image img { height:100%; object-fit:cover; object-position:center 56%; }

.faq-layout { display:grid; grid-template-columns:250px minmax(0,1fr); align-items:start; gap:clamp(55px,9vw,145px); padding-top:112px; padding-bottom:120px; }
.faq-index { position:sticky; top:35px; padding-top:8px; }
.faq-index .eyebrow { margin-bottom:22px; }
.faq-index a { display:flex; justify-content:space-between; gap:15px; padding:16px 0; border-top:1px solid var(--line); color:#596558; font:600 11px/1.5 "DM Sans",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.faq-index a:last-child { border-bottom:1px solid var(--line); }
.faq-index a:hover { color:var(--forest); }
.faq-group { scroll-margin-top:28px; }
.faq-group + .faq-group { margin-top:93px; }
.faq-group h2 { margin:0 0 35px; font:400 clamp(52px,5vw,75px)/.98 "Italiana",Georgia,serif; letter-spacing:-.04em; }
.faq-group h2 em { color:#869580; font:italic 400 .82em Georgia,serif; }
.faq-item { padding:28px 0 30px; border-top:1px solid var(--line); }
.faq-item:last-child { border-bottom:1px solid var(--line); }
.faq-item h3 { margin:0 0 13px; font:400 clamp(26px,2.6vw,34px)/1.12 "Italiana",Georgia,serif; }
.faq-item p { max-width:720px; margin:0; color:#5c675b; font-size:14px; line-height:1.9; }
.faq-item p a { border-bottom:1px solid #9cae99; color:#405940; }
.faq-item p a:hover { color:#789075; }
.faq-policy-note { max-width:720px; margin:32px 0 0; color:#687365; font-size:12px; line-height:1.75; }

.faq-next { padding:82px 0; background:#eef0eb; }
.faq-next__inner { display:flex; align-items:end; justify-content:space-between; gap:45px; }
.faq-next h2 { margin:0 0 15px; font:400 clamp(49px,5vw,72px)/.97 "Italiana",Georgia,serif; letter-spacing:-.04em; }
.faq-next h2 em { color:#a57f79; font:italic 400 .82em Georgia,serif; }
.faq-next p:last-child { max-width:560px; margin:0; color:#5c675b; font-size:14px; line-height:1.8; }
.faq-next .button { flex:none; }

@media(max-width:900px) {
  .faq-hero { grid-template-columns:1fr 1fr; }
  .faq-hero__copy { padding:65px 35px; }
  .faq-layout { grid-template-columns:195px minmax(0,1fr); gap:45px; }
}
@media(max-width:700px) {
  .faq-hero { grid-template-columns:1fr; }
  .faq-hero__copy { padding:76px 25px 70px; }
  .faq-hero__image { min-height:360px; height:48vh; }
  .faq-layout { display:block; padding-top:76px; padding-bottom:90px; }
  .faq-index { position:static; margin-bottom:75px; }
  .faq-group + .faq-group { margin-top:75px; }
  .faq-next__inner { align-items:start; flex-direction:column; gap:25px; }
}
@media(max-width:500px) {
  .faq-hero h1 { font-size:64px; }
  .faq-next .button { width:100%; }
}
