.faq-search-invitation {
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:32px;
    align-items:center;
    padding:30px 34px;
    margin:28px 0 38px;
    border:1px solid #dac995;
    border-radius:18px;
    background:linear-gradient(125deg,#f5edcf,#fcfaf2);
    color:var(--body-copy)
}
.faq-search-invitation h2 {
    font-family:Georgia,serif;
    font-size:1.8rem;
    font-weight:400;
    line-height:1.15;
    margin:0;
    color:var(--site-navy)
}
.faq-search-invitation .faq-search-entry {
    min-width:0;
    margin:0;
    padding:0;
    border:0;
    background:none
}
.faq-search-entry-row input {
    min-width:0
}
.faq-search-invitation .faq-search-status {
    margin-top:10px;
    font-size:.78rem;
    color:var(--muted-ink)
}
.faq-chat {
    box-sizing:border-box;
    padding:0;
    border:1px solid var(--line);
    border-radius:22px;
    width:min(740px,calc(100vw - 40px));
    height:min(820px,calc(100dvh - 64px));
    max-height:calc(100dvh - 64px);
    max-width:none;
    background:var(--soft);
    color:var(--body-copy);
    box-shadow:0 30px 110px var(--shadow-color);
    overflow:clip;
    font-family:Arial,sans-serif
}
.faq-chat::backdrop {
    background:var(--overlay-scrim);
    backdrop-filter:blur(5px)
}
.faq-chat-shell {
    height:100%;
    position:relative;
    overflow:clip;
    display:flex;
    flex-direction:column
}
.faq-chat-header {
    display:flex;
    align-items:center;
    gap:14px;
    background:var(--site-navy);
    color:var(--surface);
    padding:22px 26px;
    flex:none
}
.faq-chat-header h2 {
    font-family:Georgia,serif;
    font-size:1.7rem;
    line-height:1.15;
    margin:0;
    color:var(--surface);
    font-weight:400
}
.faq-chat-header p {
    font-size:.8rem;
    margin:5px 0 0;
    color:color-mix(in srgb, var(--surface) 82%, transparent)
}
.faq-chat-emblem {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:1px solid var(--brand);
    border-radius:50%;
    color:var(--surface);
    font:1.8rem Georgia,serif;
    flex:none
}
.faq-chat-close {
    margin-left:auto;
    border:0;
    background:#ffffff12;
    color:var(--surface);
    border-radius:50%;
    font:1.65rem Arial,sans-serif;
    width:40px;
    height:40px;
    cursor:pointer
}
.faq-chat-close:hover {
    background:#ffffff25
}
.faq-chat-history {
    position:relative;
    flex:1;
    min-height:0;
    overflow-y:auto;
    padding:28px 28px 20px;
    overscroll-behavior:contain;
    scrollbar-gutter:stable
}
.faq-chat-welcome {
    padding:6px 4px 20px
}
.faq-chat-kicker,.faq-chat-caption {
    font-size:.68rem;
    letter-spacing:.08em;
    font-weight:700;
    line-height:1.5;
    color:var(--muted-ink)
}
.faq-chat-welcome h3 {
    font-family:Georgia,serif;
    font-size:2rem;
    font-weight:400;
    line-height:1.15;
    margin:14px 0
}
.faq-chat-welcome>p {
    font-size:.95rem;
    line-height:1.6;
    color:var(--muted-ink);
    max-width:510px
}
.faq-chat-suggestions {
    margin-top:22px;
    display:flex;
    flex-wrap:wrap;
    gap:8px
}
.faq-chat-suggestions>p {
    width:100%;
    margin:0 0 2px
}
.faq-chat-suggestion {
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface);
    color:var(--body-copy);
    font:inherit;
    font-size:.83rem;
    line-height:1.4;
    padding:10px 13px;
    text-align:left;
    cursor:pointer
}
.faq-chat-suggestion:hover {
    border-color:var(--brand-border);
    background:var(--brand-soft-bg)
}
.faq-chat-turn {
    margin-bottom:28px
}
.faq-chat-user {
    display:flex;
    justify-content:flex-end;
    margin:6px 0 18px;
    padding-left:48px
}
.faq-chat-user p {
    margin:0;
    white-space:pre-wrap;
    overflow-wrap:anywhere;
    background:color-mix(in srgb, var(--site-navy) 7%, var(--surface));
    border:1px solid color-mix(in srgb, var(--site-navy) 18%, var(--surface));
    border-radius:16px 16px 3px 16px;
    padding:12px 17px;
    line-height:1.5;
    font-size:.94rem
}
.faq-chat-reply {
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:3px 16px 16px;
    padding:22px 24px;
    box-shadow:0 3px 10px color-mix(in srgb, var(--site-navy) 2%, transparent)
}
.faq-chat-reply h3 {
    margin:10px 0 13px;
    font:1.33rem/1.32 Georgia,serif;
    color:var(--site-navy)
}
.faq-chat-answer-text {
    font-size:.97rem;
    line-height:1.65;
    white-space:pre-line;
    margin:0 0 13px;
    overflow-wrap:anywhere
}
.faq-chat-match-note {
    font-size:.84rem;
    background:var(--soft);
    padding:10px 12px;
    border-left:3px solid var(--line);
    color:var(--body-copy);
    line-height:1.5
}
.faq-chat-full-answer {
    font-size:.88rem;
    line-height:1.6;
    margin:12px 0;
    color:var(--body-copy)
}
.faq-chat-full-answer>summary {
    cursor:pointer;
    font-weight:600;
    display:list-item
}
.faq-chat-full-copy {
    padding:0 0 3px
}
.faq-chat-full-copy p {
    white-space:pre-line;
    overflow-wrap:anywhere
}
.faq-chat-links {
    display:flex;
    flex-wrap:wrap;
    gap:12px 22px;
    margin-top:16px
}
.faq-chat-link {
    color:var(--brand);
    font-size:.84rem;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:3px
}
.faq-chat-other-answers {
    border-top:1px solid var(--line);
    padding-top:16px;
    margin-top:22px;
    font-size:.86rem
}
.faq-chat-other-answers>summary {
    font-weight:600;
    cursor:pointer;
    display:list-item
}
.faq-chat-near-answer {
    margin-top:12px;
    padding:12px;
    background:var(--soft);
    border-radius:8px
}
.faq-chat-near-answer>summary {
    cursor:pointer;
    display:list-item;
    line-height:1.5;
    font-weight:600
}
.faq-chat-near-answer .faq-chat-answer-body {
    margin-top:12px
}
.faq-chat-feedback {
    border-top:1px solid var(--line);
    padding-top:14px;
    margin-top:20px;
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    font-size:.74rem;
    color:var(--muted-ink)
}
.faq-chat-feedback>span {
    margin-right:auto
}
.faq-chat-feedback button,.faq-chat-footnote button {
    background:none;
    color:inherit;
    font:inherit;
    cursor:pointer
}
.faq-chat-feedback button {
    border:1px solid var(--line);
    padding:6px 9px;
    border-radius:7px
}
.faq-chat-feedback button[aria-pressed=true] {
    background:var(--brand-soft-bg);
    border-color:var(--brand-border);
    color:var(--brand-dark)
}
.faq-chat-footer {
    flex:none;
    padding:14px 22px 16px;
    background:var(--surface);
    border-top:1px solid var(--line)
}
.faq-chat-composer {
    display:flex;
    align-items:flex-end;
    padding:8px 9px 8px 16px;
    border:1px solid var(--line);
    border-radius:14px;
    gap:10px;
    background:var(--surface)
}
.faq-chat-composer:focus-within {
    border-color:var(--brand);
    box-shadow:0 0 0 2px var(--brand-focus-ring)
}
.faq-chat-composer textarea {
    min-width:0;
    resize:none;
    max-height:112px;
    box-sizing:border-box;
    flex:1;
    font:16px/1.5 Arial,sans-serif;
    border:0;
    background:transparent;
    color:var(--body-copy);
    padding:8px 0;
    outline:none;
    box-shadow:none
}
.faq-chat-send {
    border:0;
    background:var(--brand);
    color:var(--surface);
    border-radius:10px;
    width:40px;
    height:40px;
    flex:none;
    font:bold 1.5rem Arial,sans-serif;
    cursor:pointer
}
.faq-chat-send:hover {
    background:var(--brand-dark)
}
.faq-chat-footnote {
    display:flex;
    align-items:start;
    gap:14px;
    justify-content:space-between;
    margin-top:10px;
    font-size:.67rem;
    line-height:1.5;
    color:var(--muted-ink)
}
.faq-chat-footnote button {
    flex:none;
    border:0;
    text-decoration:underline;
    text-underline-offset:3px;
    padding:0
}
.faq-chat :focus-visible {
    outline:3px solid var(--brand);
    outline-offset:3px
}
.faq-chat .faq-chat-composer textarea:focus-visible {
    outline:0
}
.visually-hidden {
    position:absolute!important;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}
@media(max-width:700px) {
    .faq-search-invitation {
        grid-template-columns:1fr;
        padding:24px;
        gap:20px
    }
    .faq-chat {
        width:100%;
        height:100dvh;
        max-height:100dvh;
        border-radius:0;
        border:0;
        margin:0
    }
    .faq-chat-header {
        padding:16px 18px
    }
    .faq-chat-history {
        padding:22px 16px
    }
    .faq-chat-reply {
        padding:20px 18px
    }
    .faq-chat-footer {
        padding:12px 14px max(14px,env(safe-area-inset-bottom))
    }
    .faq-chat-footnote {
        font-size:.65rem
    }
    .faq-chat-welcome h3 {
        font-size:1.8rem
    }
    .faq-chat-suggestion {
        padding:11px 12px
    }
    .faq-chat-user {
        padding-left:20px
    }
}
@media(prefers-reduced-motion:no-preference) {
    .faq-chat[open] {
        animation:faq-appear .18s ease-out
    }
    .faq-chat-turn {
        animation:faq-answer .18s ease-out
    }
    @keyframes faq-appear {
        from {
            opacity:0;
            transform:translateY(12px)
        }
        to {
            opacity:1;
            transform:none
        }
    }
    @keyframes faq-answer {
        from {
            opacity:0;
            transform:translateY(4px)
        }
        to {
            opacity:1;
            transform:none
        }
    }
}
