/*
 * HVP-R7A-20260901-05A2
 * FAQ design-system reconciliation corrective · staging.
 * Existing FAQ data, schema, wording and links are untouched.
 */

.faq-shell{
  background:#f4f1ec;
  color:var(--ink);
}

/* Editorial opening — same visual family as Resources */
.faq-hero{
  padding:108px clamp(28px,8vw,130px) 92px;
  background-color:#f4f1ec;
  background-image:var(--linen);
  background-repeat:repeat;
  background-size:288px;
  border-bottom:1px solid var(--line);
}

.faq-hero>p,
.faq-group-heading>p,
.faq-cta>p{
  margin:0;
  font-size:10px;
  font-weight:800;
  letter-spacing:.24em;
  line-height:1.4;
  text-transform:uppercase;
}

.faq-hero>p{
  color:var(--gold);
}

.faq-hero h1{
  max-width:1020px;
  margin:24px 0 30px;
  font-size:clamp(62px,8vw,118px);
  line-height:.86;
  letter-spacing:-.058em;
}

.faq-hero h1 em{
  display:inline-block;
  color:var(--gold);
  font-weight:400;
}

.faq-hero>span{
  display:block;
  max-width:700px;
  color:var(--ink-soft);
  font-size:18px;
  line-height:1.7;
}

/* Landlord / tenant sections */
.faq-groups{
  background:#d7d0c3;
}

.faq-group{
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
  gap:clamp(44px,7vw,110px);
  padding:82px clamp(28px,8vw,130px) 88px;
  background:#fff;
  border-bottom:1px solid #d7d0c3;
}

.faq-group:nth-child(even){
  background:#eef0eb;
}

.faq-group-heading{
  align-self:start;
  position:sticky;
  top:132px;
}

.faq-group-heading>p{
  color:var(--gold);
}

.faq-group-heading h2{
  max-width:430px;
  margin:21px 0 0;
  font-size:clamp(42px,4.8vw,68px);
  line-height:.96;
  letter-spacing:-.045em;
}

/* Native accessible accordions */
.faq-list{
  border-top:1px solid #bfb7aa;
}

.faq-list details{
  border-bottom:1px solid #c9c2b6;
  background:transparent;
}

.faq-list summary{
  min-height:94px;
  padding:24px 0;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 42px;
  gap:18px;
  align-items:center;
  list-style:none;
  cursor:pointer;
  color:var(--ink);
  font-family:var(--display);
  font-size:clamp(25px,2.35vw,34px);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.025em;
}

.faq-list summary::-webkit-details-marker{
  display:none;
}

.faq-list summary>span{
  color:var(--gold);
  font-family:var(--display);
  font-size:22px;
  line-height:1;
}

.faq-list summary>b{
  width:36px;
  height:36px;
  justify-self:end;
  display:grid;
  place-items:center;
  border:1px solid rgba(26,26,26,.24);
  border-radius:50%;
  color:var(--gold);
  font:400 24px/1 var(--sans);
  transition:transform .22s ease,background .22s ease,color .22s ease;
}

.faq-list details[open] summary>b{
  transform:rotate(45deg);
  background:var(--gold);
  border-color:var(--gold);
  color:#fff;
}

.faq-list details[open] summary{
  padding-bottom:17px;
}

.faq-list details>p{
  max-width:800px;
  margin:0;
  padding:0 52px 31px 70px;
  color:var(--ink-soft);
  font-size:16px;
  line-height:1.78;
}

.faq-list details[open]{
  background:rgba(251,246,242,.58);
}

/* Sage breathing space before the charcoal legal footer */
.faq-cta{
  position:relative;
  overflow:hidden;
  padding:90px clamp(28px,8vw,130px) 96px;
  background:#7c8982;
  color:#fff;
}

.faq-cta::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 86% 25%,rgba(255,255,255,.09),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.035),transparent 50%);
}

.faq-cta>*{
  position:relative;
  z-index:1;
}

.faq-cta>p{
  color:#ead3b2;
}

.faq-cta h2{
  max-width:780px;
  margin:20px 0 30px;
  font-size:clamp(48px,6vw,82px);
  line-height:.95;
  letter-spacing:-.045em;
}

.faq-cta a{
  display:inline-flex;
  align-items:center;
  padding-bottom:7px;
  border-bottom:1px solid #ead3b2;
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.faq-cta a:hover{
  color:#f2dfc2;
}

@media(max-width:900px){
  .faq-hero{
    padding:76px 24px 64px;
  }

  .faq-hero h1{
    margin-top:21px;
    font-size:clamp(54px,16vw,78px);
    line-height:.9;
  }

  .faq-hero>span{
    font-size:16px;
  }

  .faq-group{
    grid-template-columns:1fr;
    gap:34px;
    padding:58px 24px 66px;
  }

  .faq-group-heading{
    position:static;
  }

  .faq-group-heading h2{
    max-width:650px;
    margin-top:16px;
    font-size:clamp(38px,11vw,52px);
  }

  .faq-list summary{
    min-height:0;
    grid-template-columns:38px minmax(0,1fr) 36px;
    gap:11px;
    padding:22px 0;
    font-size:clamp(23px,7vw,30px);
  }

  .faq-list summary>span{
    font-size:18px;
  }

  .faq-list summary>b{
    width:32px;
    height:32px;
    font-size:21px;
  }

  .faq-list details>p{
    padding:0 0 28px 49px;
    font-size:15px;
  }

  .faq-cta{
    padding:70px 24px 76px;
  }

  .faq-cta h2{
    font-size:clamp(44px,13vw,62px);
  }
}

@media(max-width:520px){
  .faq-list summary{
    grid-template-columns:32px minmax(0,1fr) 32px;
    gap:8px;
  }

  .faq-list details>p{
    padding-left:40px;
  }
}
