.faq-accordion { max-width: 820px; margin: 0 auto; display: grid; gap: 0; }
    .faq-accordion .faq-item { border-bottom: var(--border-thin); }
    .faq-accordion .faq-item summary { list-style: none; cursor: pointer; padding: var(--space-5) 0; display: flex; gap: var(--space-4); align-items: flex-start; transition: color var(--duration-fast) var(--ease-out); }
    .faq-accordion .faq-item summary::-webkit-details-marker { display: none; }
    .faq-accordion .faq-item summary::marker { content: ""; }
    .faq-accordion .faq-item summary:hover { color: var(--color-brand-orange-deep); }
    .faq-accordion .faq-item summary::after { content: "+"; margin-left: auto; font-family: var(--font-mono); font-size: 22px; font-weight: var(--weight-medium); color: var(--color-brand-orange); transition: transform var(--duration-base) var(--ease-out); width: 24px; text-align: center; flex-shrink: 0; }
    .faq-accordion .faq-item[open] summary::after { content: "−"; animation: faqMark var(--duration-base, 320ms) cubic-bezier(.34,1.56,.64,1); }
    @keyframes faqMark { 0% { transform: rotate(-90deg) scale(.5); opacity: .4; } 100% { transform: rotate(0) scale(1); opacity: 1; } }
    @media (prefers-reduced-motion: reduce) { .faq-accordion .faq-item[open] summary::after { animation: none; } }
    .faq-accordion .faq-item__q { font-family: var(--font-serif); font-size: var(--text-lg); font-weight: var(--weight-semibold); color: var(--color-ink); letter-spacing: -0.01em; line-height: 1.3; flex: 1; }
    .faq-accordion .faq-item__a { padding: 0 0 var(--space-5); font-size: var(--text-base); color: var(--color-text); line-height: var(--leading-body); max-width: 64ch; }
    .faq-accordion .faq-item__a p { margin: 0 0 var(--space-3); }
    .faq-accordion .faq-item__a p:last-child { margin-bottom: 0; }
    .faq-group { margin-bottom: var(--space-8); }
    .faq-group__head { padding: var(--space-4) 0; border-bottom: 2px solid var(--color-ink); margin-bottom: var(--space-2); display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); }
    .faq-group__num { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-brand-orange); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide); text-transform: uppercase; }
    .faq-group__title { font-family: var(--font-serif); font-size: var(--text-2xl); color: var(--color-ink); letter-spacing: -0.02em; font-weight: var(--weight-semibold); line-height: 1.1; }

    /* FAQ photo hero (adds a basin photo + navy scrim behind the standard page-hero) */
    .faq-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--color-brand-navy-deep); border-bottom: var(--border-thin); }
    .faq-hero .container { position: relative; z-index: 1; }
    .faq-hero__bg { position: absolute; inset: 0; z-index: 0; }
    .faq-hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
    .faq-hero__bg::after {
      content: ""; position: absolute; inset: 0;
      background: linear-gradient(to right,
        color-mix(in oklab, var(--color-brand-navy-deep) 66%, transparent) 0%,
        color-mix(in oklab, var(--color-brand-navy-deep) 40%, transparent) 38%,
        color-mix(in oklab, var(--color-brand-navy-deep) 14%, transparent) 70%,
        color-mix(in oklab, var(--color-brand-navy-deep) 3%, transparent) 100%);
    }
    .faq-hero h1 { color: var(--color-surface); text-shadow: 0 1px 18px rgba(11,20,38,0.5); }
    .faq-hero .page-hero__lead { color: rgba(255,255,255,0.92); text-shadow: 0 1px 14px rgba(11,20,38,0.55); }
    .faq-hero .page-hero__crumbs { color: rgba(255,255,255,0.6); }
    .faq-hero .page-hero__crumbs a { color: rgba(255,255,255,0.75); }
    .faq-hero .page-hero__crumbs a:hover { color: #fff; }
    .faq-hero .page-hero__crumbs .sep { color: rgba(255,255,255,0.3); }
    .faq-hero .eyebrow { color: var(--color-brand-orange); }