* { box-sizing: border-box; }
html { color-scheme: light; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #fff; color: #111; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, button:focus-visible { outline: 3px solid #111; outline-offset: 5px; }
button { font: inherit; }
.skip_link { position: absolute; top: -100px; left: 1rem; z-index: 10; background: #fff; color: #111; padding: .75rem 1rem; }
.skip_link:focus { top: 1rem; }
.sr_only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .85rem 1.25rem; border: 1px solid #111; background: #111; color: #fff; text-decoration: none; line-height: 1.25; font-weight: 600; }
.button:hover { background: #333; text-decoration: none; }
.button.secondary { color: #111; background: #fff; }
.button.secondary:hover { background: #f3f3f3; }
button:disabled { cursor: not-allowed; }
.button:disabled { color: #666; background: #f3f3f3; border-color: #aaa; }
.text_connection { border: 0; background: none; padding: .5rem 0; color: #555; font-size: inherit; text-align: left; text-decoration: underline; text-underline-offset: .2em; }
.text_connection:disabled { text-decoration: none; }
.setup_note { color: #555; font-size: .85rem; line-height: 1.5; }
.actions { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
@media print { .skip_link, .setup_note, .site_nav, button:disabled { display: none; } body { font-size: 12pt; } a { color: #000; } }

body { font-family: Arial, Helvetica, sans-serif; font-size: 18px; line-height: 1.6; }
.page { width: min(720px, calc(100% - 64px)); margin-inline: auto; }
.site_header { display: flex; justify-content: space-between; align-items: center; padding: 32px 0; border-bottom: 1px solid #ddd; font-size: .8rem; }
.site_nav { display: flex; gap: 24px; }
.site_nav a { padding-block: .5rem; }
.artist { padding: 70px 0 42px; }
h1 { margin: 0; line-height: .97; letter-spacing: -.075em; font-size: clamp(4rem, 11vw, 6.7rem); font-weight: 800; }
.artist_line { display: block; }
.artist_line .the { font-family: Georgia, 'Times New Roman', serif; font-size: .36em; font-style: italic; letter-spacing: -.03em; font-weight: 400; vertical-align: middle; margin-right: .15em; }
.artist_mark { font-size: 1.24em; }
.appeal { font-size: clamp(1.25rem, 3vw, 1.65rem); line-height: 1.45; letter-spacing: -.02em; margin: 32px 0 0; }
.appeal span { display: block; }
.support_section { padding-bottom: 36px; }
h2 { font-size: 1.1rem; line-height: 1.3; margin: 0 0 .8rem; letter-spacing: -.015em; }
.support_section .button { min-width: 205px; }
.support_note { color: #555; font-size: .83rem; max-width: 530px; line-height: 1.6; margin: 18px 0 0; }
.mail_section { border-top: 1px solid #ddd; padding: 28px 0 35px; }
.mail_section p { font-size: .93rem; margin: 0 0 18px; }
.mail_section .small { color: #555; font-size: .81rem; margin: 14px 0 0; }
.site_footer { border-top: 1px solid #ddd; padding: 16px 0 26px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; font-size: .78rem; color: #555; }
.site_footer p { margin: 0; }
@media (max-width: 520px) {
 .page { width: calc(100% - 40px); }
 .site_header { padding-block: 20px; }
 .site_nav { gap: 18px; }
 .artist { padding-top: 46px; }
 h1 { font-size: clamp(3.5rem, 15vw, 5rem); }
 .appeal { margin-top: 27px; }
 .site_footer { align-items: flex-start; flex-direction: column; }
}
