/* FAQ — page-specific only. Header, nav, footer, buttons, .psd-title and the
   base rules come from site.css + exact-home.css. <body class="psd-page">.
   Accordions are native <details>/<summary>: keyboard-operable with no JS. */

.faq-hero { position:relative; height:min(30vw,560px); min-height:360px; overflow:hidden; background:#222; }
.faq-hero img { width:100%; height:100%; object-fit:cover; object-position:center 48%; }
.faq-hero__veil { position:absolute; inset:0; background:
  radial-gradient(ellipse 62% 52% at 50% 56%,rgba(10,16,25,.62) 0%,rgba(10,16,25,.34) 60%,rgba(10,16,25,.08) 100%),
  linear-gradient(180deg,rgba(9,13,19,.72) 0%,rgba(9,13,19,0) 32%); }
.faq-hero__content { position:absolute; z-index:1; top:56%; left:50%; width:min(1170px,calc(100% - 48px)); transform:translate(-50%,-50%); text-align:center; color:#fff; }
.faq-hero h1 { margin:0; font-family:var(--psd-serif); font-size:clamp(38px,3.6vw,69px); font-style:italic; line-height:1.02; }
.faq-hero p { margin:14px 0 0; font-size:13px; letter-spacing:.14em; text-transform:uppercase; }

.faq-section { width:var(--psd-shell); margin-inline:auto; }

.faq-body { padding:84px 0 34px; }
.faq-group { margin-bottom:52px; }
.faq-group:last-child { margin-bottom:0; }
.faq-group__title { margin:0 0 20px; color:var(--psd-ink); font-family:var(--psd-serif); font-size:30px; font-style:italic; font-weight:400; line-height:1.2; }

.faq-item { border-bottom:1px solid rgba(36,36,36,.15); }
.faq-item:first-of-type { border-top:1px solid rgba(36,36,36,.15); }
.faq-item > summary { display:flex; gap:20px; align-items:flex-start; justify-content:space-between;
  min-height:44px; padding:18px 2px; color:var(--psd-ink); font-family:var(--psd-sans); font-size:16px;
  font-weight:400; line-height:1.45; cursor:pointer; list-style:none; }
.faq-item > summary::-webkit-details-marker { display:none; }
.faq-item > summary::after { content:"+"; flex:none; width:24px; height:24px; margin-top:-1px;
  color:var(--psd-gold-text); font-family:var(--psd-sans); font-size:22px; font-weight:400;
  line-height:24px; text-align:center; }
.faq-item[open] > summary::after { content:"\2013"; }
.faq-item > summary:hover { color:var(--psd-gold-text); }
.faq-item > summary:focus-visible { outline:2px solid var(--psd-ink); outline-offset:3px; }
.faq-item__answer { padding:0 2px 6px; }
.faq-item__answer p { max-width:76ch; margin:0 0 18px; color:var(--psd-muted); font-size:16px; line-height:1.62; }
.faq-item__answer p:last-child { margin-bottom:12px; }
.faq-item__answer a { color:var(--psd-gold-text); text-decoration:underline; text-underline-offset:2px; }
.faq-item__answer small { display:block; margin-top:-8px; margin-bottom:14px; color:var(--psd-muted); font-size:13px; }

.faq-contact { padding:14px 0 88px; }
.faq-contact__card { padding:38px 42px 40px; background:#faf9f6; border:1px solid rgba(36,36,36,.12); --psd-muted:#6b6b6b; }
.faq-contact__card h2 { margin:0 0 26px; color:var(--psd-ink); font-family:var(--psd-serif); font-size:28px; font-style:italic; font-weight:400; line-height:1.2; }
.faq-contact__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px 46px; margin:0; }
.faq-contact__grid dt { margin-bottom:5px; color:var(--psd-gold-text); font-family:var(--psd-sans); font-size:12px; letter-spacing:.11em; text-transform:uppercase; }
.faq-contact__grid dd { margin:0; color:var(--psd-ink); font-size:16px; line-height:1.5; }
.faq-contact__grid a { color:var(--psd-ink); text-decoration:underline; text-underline-offset:2px; }
.faq-contact__cta { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }

@media (max-width:760px) {
  .faq-hero { height:auto; min-height:300px; }
  .faq-body { padding:56px 0 26px; }
  .faq-group { margin-bottom:42px; }
  .faq-group__title { font-size:25px; }
  .faq-item > summary { font-size:15px; padding:16px 2px; }
  .faq-contact { padding:10px 0 62px; }
  .faq-contact__card { padding:28px 22px 30px; }
  .faq-contact__grid { grid-template-columns:1fr; gap:18px; }
}
