.contact-privacy-open { overflow: hidden; }
.contact-privacy-dialog { width: min(860px, calc(100% - 32px)); max-height: 88vh; max-height: 88dvh; margin: auto; padding: 0; border: 0; border-radius: 12px; background: #fff; color: #17343a; box-shadow: 0 20px 80px #0005; }
.contact-privacy-dialog::backdrop { background: rgb(0 30 34 / 65%); }
.contact-privacy-dialog[open] { display: flex; flex-direction: column; }
.contact-privacy-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; border-bottom: 1px solid #d4e2e2; flex-shrink: 0; }
.contact-privacy-dialog__header h2 { margin: 0; font-size: clamp(19px, 3vw, 25px); }
.contact-privacy-dialog button { padding: 10px 16px; border: 1px solid #006c73; border-radius: 4px; background: #006c73; color: #fff; font: inherit; cursor: pointer; }
.contact-privacy-dialog button:focus-visible, .contact-privacy-dialog a:focus-visible { outline: 3px solid #d66800; outline-offset: 3px; }
.contact-privacy-dialog__header button { white-space: nowrap; }
.contact-privacy-dialog__body { overflow-y: auto; overscroll-behavior: contain; padding: 8px 24px 24px; min-height: 0; }
.contact-privacy-dialog .privacy-policy__item { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 24px 0; border: 0; border-bottom: 1px solid #d4e2e2; }
.contact-privacy-dialog .privacy-policy__item > span { color: #006c73; font-size: 16px; line-height: 1.5; font-weight: 700; }
.contact-privacy-dialog .privacy-policy__item h2 { margin: 0 0 12px; font-size: 20px; }
.contact-privacy-dialog .privacy-policy__item p { font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; }
.contact-privacy-dialog__footer { padding: 16px 24px; border-top: 1px solid #d4e2e2; text-align: right; flex-shrink: 0; }
@media (max-width: 600px) { .contact-privacy-dialog__header, .contact-privacy-dialog__footer { padding: 14px 16px; } .contact-privacy-dialog__body { padding: 0 16px 16px; } }
