    /* ── Shared styles — imported by every page ── */

    /* CTA */
    .cta-sec { background: var(--am); padding: 2rem; }
    .cta-in { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 3rem; flex-wrap: wrap; }
    .cta-in h2 { color: #080808; font-family: 'Bebas Neue', sans-serif; font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: .92; letter-spacing: .02em; margin: 0; }
    .cta-in p { color: rgba(8,8,8,.6); font-size: 1rem; margin-top: .4rem; }
    .btn-dk { background: #080808; color: var(--am); font-weight: 700; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; padding: 1.1rem 2.4rem; text-decoration: none; flex-shrink: 0; transition: opacity .2s; }
    .btn-dk:hover { opacity: .82; }

    /* FOOTER */
    footer { background: var(--s1); border-top: 1px solid var(--bd); padding: 2rem; display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; justify-content: space-between; }
    footer p { font-size: .78rem; color: var(--mu); }
    footer a { color: var(--mu); text-decoration: none; transition: color .2s; }
    footer a:hover { color: var(--tx); }
    footer .logo { display: flex; align-items: center; gap: .65rem; text-decoration: none; }
    footer .logo-word { font-family: var(--d); font-size: 1.4rem; letter-spacing: .08em; color: var(--am); line-height: 1; }
    .footer-copy { margin-left: auto; }

    /* FAQ */
    .faq-wrap { max-width: 1200px; margin: 0 auto; padding: 3rem 2rem 5rem; border-top: 1px solid var(--bd); }
    .faq-title { font-family: var(--d); font-size: clamp(1.8rem, 3vw, 2.5rem); letter-spacing: .04em; margin-bottom: 2rem; color: var(--tx); }
    .faq-list { display: flex; flex-direction: column; }
    .faq-item { border-bottom: 1px solid var(--bd); }
    .faq-item:last-child { border-bottom: none; }
    .faq-q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 1rem; background: none; border: none; color: var(--tx); font-family: var(--d); font-size: 1.15rem; letter-spacing: .05em; padding: 1.2rem 0; cursor: pointer; text-align: left; }
    .faq-q:hover { color: var(--am); }
    .faq-arrow { font-size: 1rem; color: var(--am); transition: transform .25s; flex-shrink: 0; }
    .faq-a { display: none; padding-bottom: 1.2rem; color: #888; font-size: .88rem; line-height: 1.7; }
    .faq-a p { margin: 0; }
    .faq-a code { color: var(--am); font-family: var(--m); font-size: .82rem; }
    .faq-a strong { color: #ccc; }
    .faq-item.open .faq-arrow { transform: rotate(180deg); }
    .faq-item.open .faq-a { display: block; }
    .faq-h { margin-bottom: 2.5rem; }
