/* ==========================================================
   V2.2 — FAQ + PRIVACY FOUNDATION
   Isolated information-system layer. V2.0 desktop polish and
   V2.1 mobile finishing files remain untouched.
   ========================================================== */

.visit-utility{
  margin-top:clamp(18px,2.3vh,28px);
  max-width:520px;
}
.visit-utility__faq{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 0 10px;
  border:0;
  border-top:1px solid rgba(234,223,199,.28);
  border-bottom:1px solid rgba(234,223,199,.28);
  background:transparent;
  color:var(--bone);
  font:600 .64rem/1.2 var(--sans);
  letter-spacing:.13em;
  text-transform:uppercase;
  cursor:pointer;
  text-align:left;
}
.visit-utility__faq span{color:var(--acid);font-size:.95rem}
.visit-utility__faq:hover,.visit-utility__faq:focus-visible{color:var(--acid)}

.visit-legal{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px 14px;
  margin-top:12px;
  color:rgba(234,223,199,.42);
  font-size:.56rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.visit-legal button,.visit-legal a{
  border:0;
  background:transparent;
  color:rgba(234,223,199,.64);
  padding:0;
  font:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  text-decoration:none;
  cursor:pointer;
}
.visit-legal button:hover,.visit-legal button:focus-visible,
.visit-legal a:hover,.visit-legal a:focus-visible{color:var(--acid)}

.faq-panel__paper{width:min(920px,94vw)}
.faq-intro{
  max-width:58ch;
  margin:-12px 0 24px;
  color:rgba(11,9,9,.68);
  font-size:.84rem;
  line-height:1.6;
}
.faq-list{border-top:2px solid var(--ink)}
.faq-list details{border-bottom:1px solid rgba(11,9,9,.28)}
.faq-list summary{
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:17px 42px 17px 2px;
  font-family:var(--serif);
  font-size:clamp(1.2rem,2vw,1.65rem);
  font-weight:600;
  line-height:1.05;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:"+";
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-50%);
  font-family:var(--sans);
  font-size:1.25rem;
  font-weight:500;
  color:var(--red);
}
.faq-list details[open] summary::after{content:"−"}
.faq-list summary:hover,.faq-list summary:focus-visible{color:var(--red)}
.faq-list details p{
  max-width:68ch;
  margin:0;
  padding:0 42px 18px 2px;
  color:rgba(11,9,9,.75);
  font-size:.8rem;
  line-height:1.65;
}
.faq-list details p strong{color:var(--ink)}
.faq-panel__footer{align-items:center}
.faq-footer-actions{display:flex;align-items:center;gap:18px}
.privacy-link{
  color:var(--ink);
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  text-underline-offset:3px;
}
.privacy-link:hover,.privacy-link:focus-visible{color:var(--red)}

@media (min-width:901px){
  .visit-info dl div{padding:10px 0}
  .visit-utility{margin-top:16px}
  .visit-utility__faq{padding:9px 0 8px}
  .visit-legal{margin-top:9px}
}

@media (min-width:901px) and (max-height:780px){
  .visit-info{padding-top:clamp(58px,7vh,72px)!important;padding-bottom:clamp(54px,6vh,68px)!important}
  .visit-info h2{font-size:clamp(3.3rem,5.2vw,4.35rem)!important}
  .visit-info dl{margin-top:18px!important}
  .visit-info dl div{padding:7px 0}
  .visit-utility{margin-top:12px}
}

@media (max-width:900px){
  .visit-utility{margin-top:24px;max-width:none}
  .visit-utility__faq{min-height:46px;padding:13px 0}
  .visit-legal{padding-bottom:10px;gap:8px 16px;font-size:.58rem}
  .faq-panel__paper{width:96vw}
  .faq-panel__paper>h2{font-size:clamp(3rem,14vw,4.8rem)}
  .faq-list summary{padding-top:16px;padding-bottom:16px;font-size:clamp(1.18rem,5.5vw,1.5rem)}
  .faq-list details p{padding-right:16px;font-size:.82rem}
  .faq-panel__footer{align-items:flex-start}
  .faq-footer-actions{width:100%;flex-direction:column;align-items:flex-start;gap:14px}
}

@media (prefers-reduced-motion:reduce){
  .visit-utility__faq,.visit-legal button,.visit-legal a,.faq-list summary{transition:none!important}
}

.faq-list details ul{
  max-width:68ch;
  margin:0;
  padding:0 42px 18px 22px;
  color:rgba(11,9,9,.75);
  font-size:.8rem;
  line-height:1.65;
}
.faq-list details li+li{margin-top:5px}
.faq-list details a{
  color:var(--ink);
  text-underline-offset:3px;
}
.faq-list details a:hover,.faq-list details a:focus-visible{color:var(--red)}
@media (max-width:900px){
  .faq-list details ul{padding-right:16px;font-size:.82rem}
}
