.mark2-footer-policies { display: flex; flex-wrap: wrap; gap: 12px 26px; padding: 20px 0 28px; }
.mark2-footer-policies :is(a,button) { font-size: 12px; color: #686866; background: none; border: 0; padding: 0; line-height: 1.8; }
.mark2-footer-policies :is(a,button):hover { color: #dc1018; }
.mark2-faq-page { max-width: 1000px; padding-bottom: 55px; }
.mark2-faq-toolbar { display: flex; flex-direction: column; gap: 24px; padding: 0 0 24px; border-bottom: 1px solid #e8e8e5; }
.mark2-search { display: flex; align-items: center; gap: 14px; max-width: 520px; padding: 0 16px; min-height: 52px; border: 1px solid #dededb; border-radius: 7px; color: #686866; }
.mark2-search:focus-within { border-color: #dc1018; box-shadow: inset 0 0 0 1px #dc1018; }
.mark2-search input { background: none; border: 0; outline: none; width: 100%; min-width: 0; height: 50px; font-size: 14px; color: #111; }
.mark2-faq-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.mark2-faq-filters button { border: 1px solid #e8e8e5; border-radius: 7px; min-height: 40px; padding: 8px 14px; background: #fff; font-size: 12px; }
.mark2-faq-filters button[aria-pressed="true"] { background: #dc1018; border-color: #dc1018; color: #fff; }
.mark2-faq-page [data-faq-empty] { padding-block: 40px; color: #686866; }
.mark2-faq-page [hidden] { display: none; }
.mark2-legal-layout { display: grid; grid-template-columns: 240px minmax(0,760px); gap: 70px; padding-bottom: 95px; }
.mark2-legal-nav { position: sticky; top: 110px; align-self: start; }
.mark2-legal-nav .eyebrow { margin-bottom: 16px; }
.mark2-legal-nav nav { display: flex; flex-direction: column; gap: 13px; }
.mark2-legal-nav a { color: #686866; font-size: 12px; line-height: 1.5; }
.mark2-legal-nav a:hover { color: #dc1018; }
.mark2-legal-prose { font-size: 15px; line-height: 1.9; color: #50504b; overflow-wrap: anywhere; }
.mark2-policy-date { font-size: 12px; color: #686866; margin-bottom: 34px; }
.mark2-legal-prose section { margin-bottom: 34px; }
.mark2-legal-prose h2 { font-size: 22px; font-weight: 550; line-height: 1.35; letter-spacing: -.025em; color: #111; margin-bottom: 12px; scroll-margin-top: 110px; }
.mark2-policy-contact { border-top: 1px solid #e8e8e5; padding-top: 30px; }
.mark2-policy-contact > a { color: #dc1018; }
.mark2-policy-links { display: flex; gap: 10px 24px; flex-wrap: wrap; margin-top: 16px; font-size: 12px; }
.mark2-policy-links button { background: none; border: 0; padding: 0; }
.mark2-support-actions { position: fixed; bottom: 24px; right: 24px; z-index: 70; display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.mark2-support-actions button { box-shadow: 0 8px 30px #11111113; }
.mark2-chat-toggle { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; background: #dc1018; color: #fff; border: 1px solid #dc1018; border-radius: 9px; padding: 13px 18px; font-size: 12px; font-weight: 550; }
.mark2-chat-toggle:hover { background: #bb0d14; }
.mark2-top { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #e8e8e5; background: #fff; color: #111; border-radius: 8px; }
.mark2-top svg { transform: rotate(180deg); }
.mark2-support-actions [hidden] { display: none; }
.mark2-chat-panel { position: fixed; bottom: 88px; right: 24px; z-index: 80; width: 390px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 112px); background: #fff; border: 1px solid #e8e8e5; border-radius: 14px; box-shadow: 0 20px 90px #11111124; overflow: auto; }
.mark2-chat-panel[hidden], .mark2-chat-panel [hidden] { display: none; }
.mark2-chat-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding: 23px 22px 19px; }
.mark2-chat-eyebrow { color: #dc1018; font-size: 9px; letter-spacing: .15em; }
.mark2-chat-panel h2 { font-size: 23px; font-weight: 550; letter-spacing: -.035em; margin-top: 7px; }
.mark2-chat-panel h2 span { color: #dc1018; }
.mark2-chat-header p { font-size: 11px; color: #686866; line-height: 1.6; margin-top: 7px; }
.mark2-support-close { display: grid; place-items: center; flex-shrink: 0; width: 34px; height: 34px; border-radius: 7px; background: #f7f7f5; border: 1px solid #e8e8e5; }
.mark2-chat-tabs { display: flex; padding: 0 22px; gap: 26px; border-bottom: 1px solid #e8e8e5; }
.mark2-chat-tabs button { background: none; border: 0; border-bottom: 2px solid transparent; min-height: 43px; padding: 10px 0; color: #686866; font-size: 12px; }
.mark2-chat-tabs button[aria-selected="true"] { border-bottom-color: #dc1018; color: #dc1018; }
.mark2-chat-faq { padding: 4px 22px 20px; max-height: 365px; overflow-y: auto; }
.mark2-chat-faq details { border-bottom: 1px solid #e8e8e5; }
.mark2-chat-faq summary { list-style: none; font-size: 12px; font-weight: 500; cursor: pointer; padding: 16px 0; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.mark2-chat-faq summary::-webkit-details-marker { display: none; }
.mark2-chat-faq summary svg { color: #dc1018; flex-shrink: 0; }
.mark2-chat-faq details[open] summary svg { transform: rotate(45deg); }
.mark2-chat-faq details p { font-size: 12px; line-height: 1.8; color: #686866; padding-bottom: 18px; }
.mark2-chat-faq > a { display: inline-flex; gap: 12px; font-size: 12px; margin-top: 20px; color: #dc1018; }
.mark2-chat-availability { margin: 15px 22px; font-size: 10px; color: #686866; display: flex; align-items: center; gap: 8px; }
.mark2-chat-availability::before { content: ''; background: #99998f; width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.mark2-chat-availability.is-online::before { background: #2f7b50; }
.mark2-chat-log { display: flex; flex-direction: column; gap: 12px; padding: 18px 22px; background: #f7f7f5; height: 220px; overflow-y: auto; }
.mark2-chat-empty { font-size: 12px; line-height: 1.8; color: #686866; max-width: 230px; margin: auto; text-align: center; }
.mark2-chat-bubble { padding: 12px 14px; border: 1px solid #e8e8e5; border-radius: 9px; font-size: 12px; max-width: 90%; background: #fff; color: #111; overflow-wrap: anywhere; align-self: flex-start; }
.mark2-chat-bubble.is-visitor { align-self: flex-end; background: #fff2f2; border-color: #f2dcdc; }
.mark2-chat-bubble strong { font-size: 10px; font-weight: 550; }
.mark2-chat-bubble p { white-space: pre-wrap; line-height: 1.7; margin: 5px 0; }
.mark2-chat-bubble time { color: #686866; font-size: 9px; }
#mark2-chat-form { padding: 16px 22px 0; }
.mark2-chat-name { display: flex; flex-direction: column; gap: 7px; font-size: 11px; color: #50504b; margin-bottom: 12px; }
.mark2-chat-name input { width: 100%; border: 1px solid #dededb; padding: 10px 12px; border-radius: 7px; font-size: 12px; }
.mark2-chat-compose { display: flex; align-items: flex-end; gap: 10px; }
.mark2-chat-compose textarea { border: 1px solid #dededb; border-radius: 7px; resize: vertical; min-height: 52px; max-height: 150px; flex: 1; min-width: 0; padding: 10px 12px; font-size: 12px; line-height: 1.5; }
.mark2-chat-compose button { display: grid; place-items: center; width: 42px; height: 42px; border: 0; background: #dc1018; color: #fff; border-radius: 7px; }
.mark2-chat-panel :is(input,textarea):focus { border-color: #dc1018; box-shadow: inset 0 0 0 1px #dc1018; outline: none; }
.mark2-chat-compose button:disabled { opacity: .6; }
#mark2-chat-result { font-size: 10px; line-height: 1.6; color: #686866; padding-top: 6px; }
.mark2-chat-privacy { font-size: 9px; color: #686866; padding: 12px 22px 20px; line-height: 1.7; }
.mark2-chat-privacy a { text-decoration: underline; }
.mark2-chat-closed { padding: 16px 22px; font-size: 12px; line-height: 1.8; }
.mark2-chat-closed button { background: none; border: 0; padding: 0; color: #dc1018; text-decoration: underline; }
.mark2-cookie-banner { position: fixed; bottom: 20px; left: 24px; right: 24px; z-index: 100; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 26px; border: 1px solid #e8e8e5; border-radius: 12px; background: #ffffffed; backdrop-filter: blur(16px); box-shadow: 0 8px 40px #11111113; }
.mark2-cookie-banner[hidden] { display: none; }
.mark2-cookie-banner h2 { font-size: 15px; font-weight: 550; margin-bottom: 6px; }
.mark2-cookie-banner p { font-size: 11px; color: #686866; line-height: 1.8; max-width: 700px; }
.mark2-cookie-banner p a { text-decoration: underline; }
.mark2-cookie-actions { display: flex; gap: 8px; flex-shrink: 0; }
.mark2-cookie-actions button { min-height: 42px; background: #fff; border: 1px solid #dededb; border-radius: 7px; padding: 9px 12px; font-size: 11px; }
.mark2-cookie-actions button:hover { border-color: #dc1018; color: #dc1018; }
.mark2-consent-pending .mark2-support-actions { visibility: hidden; }
.mark2-cookie-dialog { border: 1px solid #e8e8e5; border-radius: 14px; width: 500px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 40px); margin: auto; padding: 28px; background: #fff; color: #111; box-shadow: 0 24px 90px #11111124; }
.mark2-cookie-dialog::backdrop { background: #11111165; backdrop-filter: blur(4px); }
.mark2-cookie-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 26px; }
.mark2-cookie-dialog h2 { font-size: 22px; font-weight: 550; letter-spacing: -.03em; }
.mark2-cookie-option { margin-bottom: 24px; }
.mark2-cookie-option label { font-size: 14px; font-weight: 500; display: flex; gap: 10px; align-items: center; }
.mark2-cookie-option input { accent-color: #dc1018; width: 17px; height: 17px; }
.mark2-cookie-option p { margin: 10px 0 0 27px; font-size: 12px; color: #686866; line-height: 1.8; }
.mark2-cookie-dialog > a { color: #686866; text-decoration: underline; font-size: 12px; }
.mark2-cookie-dialog > .button { width: 100%; margin-top: 24px; }
@media (max-width: 960px) { .mark2-cookie-banner { flex-direction: column; align-items: flex-start; gap: 16px; } .mark2-legal-layout { grid-template-columns: 190px minmax(0,1fr); gap: 35px; } }
@media (max-width: 600px) {
  .mark2-support-actions { right: 16px; bottom: 16px; }
  .mark2-chat-toggle { width: 50px; padding: 0; }
  .mark2-chat-toggle span { display: none; }
  .mark2-chat-panel { right: 16px; bottom: 78px; max-height: calc(100dvh - 96px); }
  .mark2-chat-header { padding: 20px 18px 15px; }
  .mark2-chat-panel :is(input,textarea), .mark2-search input { font-size: 16px; }
  .mark2-chat-log { height: 180px; }
  .mark2-cookie-banner { left: 12px; right: 12px; bottom: 12px; padding: 18px; }
  .mark2-cookie-actions { flex-wrap: wrap; width: 100%; }
  .mark2-cookie-actions button { flex: 1; padding: 8px; }
  .mark2-cookie-dialog { padding: 22px; }
  .mark2-legal-layout { display: block; padding-bottom: 60px; }
  .mark2-legal-nav { position: static; margin-bottom: 30px; border-bottom: 1px solid #e8e8e5; padding-bottom: 24px; }
  .mark2-legal-prose h2 { font-size: 20px; }
  .mark2-footer-policies { gap: 8px 18px; padding: 12px 0 18px; }
  .mark2-footer-policies :is(a,button) { font-size: 10px; min-height: 24px; }
}
@media (prefers-reduced-motion: reduce) { .mark2-chat-panel *, .mark2-support-actions *, .mark2-cookie-dialog * { scroll-behavior: auto; transition: none; } }
