.access-dialog { width: min(100% - 32px, 620px); color: var(--ink, #33271f); background: var(--paper, #fffdf9); }
.access-dialog .modal-head { padding-bottom: 22px; }
.access-dialog .modal-head h2 { max-width: 430px; font-size: clamp(28px, 5vw, 36px); line-height: 1.12; letter-spacing: -.035em; }
.access-body { padding-top: 0; }
.access-intro { margin: 0 0 24px; color: var(--muted, #7c7165); font-size: 16px; line-height: 1.65; }
.access-free-mark { display: flex; align-items: center; gap: 14px; padding: 18px 20px; margin-bottom: 12px; color: #a7472f; border: 1px solid #eed6c8; background: #fbf0e7; border-radius: 12px; }
.access-icon { width: 16px; height: 16px; flex-shrink: 0; }
.access-free-mark > .access-icon { width: 26px; height: 26px; }
.access-free-mark > span:last-child { font-family: var(--serif, Georgia, serif); font-size: 22px; }
.access-benefits { display: grid; }
.access-benefits p { display: grid; gap: 5px; padding: 17px 0; margin: 0; border-bottom: 1px solid var(--line, #e9e1d6); }
.access-benefits strong { font-size: 15px; font-weight: 600; letter-spacing: -.01em; }
.access-benefits span { color: var(--muted, #7c7165); font-size: 14px; line-height: 1.6; }
.access-note { margin: 20px 0 0; font-size: 12px; line-height: 1.75; color: var(--muted, #7c7165); }
.access-interest-message { min-height: 22px; margin: 16px 0 0; font-size: 12px; line-height: 1.75; color: var(--muted, #7c7165); }
.access-pricing { margin-top: 24px; padding: 20px; border-radius: 12px; background: #f3eee6; }
.access-pricing > strong { font-family: var(--serif, Georgia, serif); font-size: 23px; font-weight: 400; }
.access-pricing p { margin: 8px 0 0; color: var(--muted, #7c7165); font-size: 13px; line-height: 1.7; }
.access-actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.access-actions .primary-button { justify-content: space-between; min-height: 54px; text-decoration: none; }
.access-actions .text-button { justify-content: center; font-size: 13px; }
@media (max-width: 580px) { .access-dialog .modal-head h2 { font-size: 30px; } .access-free-mark { padding: 16px; } .access-free-mark > span:last-child { font-size: 20px; } }
