/* Public invitations, sharing, and correspondence. */
.outreach-page { --serif: "Cormorant Garamond", "Noto Serif TC", Georgia, serif; }
.outreach-page h1 { font: 400 clamp(54px,6.2vw,90px)/1.02 var(--serif); letter-spacing:-1.7px; margin:30px 0; }
.outreach-page h2 { font: 400 clamp(39px,4.1vw,61px)/1.08 var(--serif); letter-spacing:-.8px; margin:22px 0 30px; }
.outreach-page h3 { font: 400 31px/1.16 var(--serif); }
.outreach-page em { font-weight:400; color:#6b7653; }
.outreach-page .eyebrow { color:#5f6a51; }
.outreach-page .campaign-small { font-size:12px; line-height:1.8; color:#596651; }
.campaign-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.campaign-language { font-size:12px; white-space:nowrap; border-bottom:1px solid #b8bea9; }
.campaign-hero { display:grid; grid-template-columns:1.2fr .8fr; gap:8%; padding-block:70px 65px; align-items:center; }
.campaign-portrait { margin:0; }
.campaign-portrait img { width:100%; height:auto; border:1px solid #bcc4b2; padding:7px; background:#ece9df; }
.campaign-portrait figcaption { font-size:10px; color:#64705a; padding-top:12px; }
.campaign-deck { font:400 25px/1.55 var(--serif); max-width:590px; color:#52604c; }
.campaign-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin:30px 0 18px; }
.outreach-page .campaign-button { display:inline-flex; gap:22px; align-items:center; justify-content:center; background:#304632; border:1px solid #304632; padding:17px 23px; color:#fffbed; font:500 13px/1.5 var(--sans); cursor:pointer; text-decoration:none; }
.outreach-page .campaign-button:hover { background:#405b40; }
.outreach-page .campaign-button:disabled { opacity:.65; cursor:wait; }
.campaign-text-link { display:inline-block; font-size:12px; border-bottom:1px solid #abb69a; padding-block:6px; }
.campaign-hero-foot { display:flex; align-items:center; gap:24px; border-top:1px solid #cfd3c5; margin-top:55px; padding-top:26px; }
.campaign-hero-foot > span { font:34px/1.5 var(--zh); letter-spacing:8px; color:#788064; }
.campaign-hero-foot p { font:italic 20px/1.45 var(--serif); color:#647056; }
.campaign-chapters { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; border-block:1px solid #cbd1c1; padding-block:23px; }
.campaign-chapters a { display:flex; gap:17px; align-items:center; color:#737c60; font:italic 20px var(--serif); }
.campaign-chapters span { font:12px/1.6 var(--sans); color:#40543f; }
.campaign-section { padding-block:100px; }
.campaign-why { display:grid; grid-template-columns:1.1fr 1fr; gap:10%; }
.campaign-prose p { font-size:15px; line-height:1.95; margin-bottom:24px; }
.campaign-work { background:#e4e6d9; padding-block:88px; }
.campaign-section-heading { max-width:750px; }
.campaign-section-heading > p:last-child { max-width:580px; color:#56644e; font-size:15px; line-height:1.9; }
.campaign-process { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; margin:52px 0 65px; }
.campaign-process article { border-top:1px solid #b7c0a6; padding-top:22px; }
.campaign-step { font:italic 29px var(--serif); color:#788267; }
.campaign-process h3 { margin:22px 0 16px; font-size:28px; }
.campaign-process p, .campaign-proof p:not(.eyebrow) { font-size:13px; line-height:1.95; color:#4e5f46; }
.campaign-proof { border-top:1px solid #b7c0a6; padding-top:48px; display:grid; grid-template-columns:1fr 1fr; gap:9%; align-items:center; }
.campaign-books { display:flex; gap:25px; align-items:center; padding:10px; }
.campaign-books a { flex:1; min-width:0; box-shadow:3px 7px 14px #29382224; }
.campaign-books img { width:100%; height:auto; }
.campaign-proof h3 { margin:18px 0; }
.campaign-proof .campaign-text-link { margin-top:18px; }
.campaign-patronage { display:grid; grid-template-columns:1fr 1fr; gap:10%; }
.campaign-patronage .campaign-button { margin-top:32px; }
.campaign-benefits article { padding:0 0 26px; margin:0 0 26px; border-bottom:1px solid #ced3c2; }
.campaign-benefits h3 { margin-bottom:14px; }
.campaign-benefits p { font-size:14px; color:#56644f; line-height:1.9; }
.campaign-dedication { background:#23382c; color:#f3f0e4; padding-block:85px; }
.campaign-dedication-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:12%; align-items:center; }
.outreach-page .campaign-dedication .eyebrow { color:#d4bd8e; }
.campaign-dedication em { color:#cbd4b8; }
.campaign-dedication p:not(.eyebrow) { font-size:14px; line-height:1.9; color:#d3dbc9; }
.campaign-dedication-note { padding:34px 38px; border:1px solid #76806a; background:#ffffff05; }
.campaign-dedication-note > span { display:block; font:46px var(--zh); color:#c7b787; margin:25px 0; }
.campaign-dedication-note blockquote { font:italic 31px/1.4 var(--serif); margin:0 0 27px; }
.campaign-dedication-note .campaign-small { font-size:11px!important; border-top:1px solid #65705c; padding-top:22px; }
.campaign-giving { display:grid; grid-template-columns:1.05fr 1fr; gap:10%; align-items:start; }
.campaign-funds { display:flex; gap:25px; align-items:center; margin:40px 0 17px; }
.campaign-funds strong { font:55px var(--serif); }
.campaign-funds p { font-size:13px; max-width:260px; }
.campaign-giving > div > .campaign-text-link { margin-top:20px; }
.campaign-gift { padding:38px; background:#e5e7db; border:1px solid #c1c9b3; }
.campaign-gift h3 { font-size:39px; margin-bottom:26px; }
.campaign-gift fieldset { padding:0; border:0; min-width:0; margin-inline:0; }
.campaign-gift .frequency { margin-bottom:26px; }
.campaign-gift .amounts { margin-bottom:24px; }
.campaign-gift .give-button { font-size:12px; padding:17px 8px; }
.campaign-gift .gift-access { margin-top:22px; font-size:11px; }
.gift-access a, .contact-privacy a { text-decoration:underline; text-underline-offset:3px; }
.campaign-fallback { display:flex; gap:15px; flex-wrap:wrap; font-size:12px; text-decoration:underline; }
.campaign-faq { padding-block:0 100px; display:grid; grid-template-columns:.75fr 1.25fr; gap:10%; }
.campaign-faq h2 { font-size:45px; }
.campaign-faq details { border-top:1px solid #c4ccba; }
.campaign-faq details:last-of-type { border-bottom:1px solid #c4ccba; }
.campaign-faq summary { display:flex; justify-content:space-between; gap:20px; padding:22px 0; font-size:14px; cursor:pointer; list-style:none; }
.campaign-faq summary::-webkit-details-marker { display:none; }
.campaign-faq summary span { font-size:23px; line-height:1; color:#6c7c5d; }
.campaign-faq details[open] summary span { transform:rotate(45deg); }
.campaign-faq details p { font-size:13px; color:#56644f; line-height:1.95; padding-bottom:25px; }
.campaign-faq > div > .campaign-small { margin-top:25px; }
.campaign-close { background:#e4e6d9; text-align:center; padding-block:80px; }
.campaign-close p:not(.eyebrow):not(.campaign-small) { max-width:620px; margin-inline:auto; font-size:14px; line-height:1.9; }
.campaign-close .campaign-actions { justify-content:center; }
.campaign-share { border:0; border-bottom:1px solid #9eac91; background:none; padding:7px 0; font-size:12px; color:#304632; }
.share-status { min-height:22px; }
.contact-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:9%; padding-block:75px 100px; }
.contact-copy h1 { font-size:clamp(56px,6vw,80px); }
.contact-email { display:inline-block; font-size:14px; border-bottom:1px solid #b1bd9f; margin-top:27px; overflow-wrap:anywhere; }
.contact-reasons { border-top:1px solid #c6cfba; padding-top:29px; margin-top:38px; margin-bottom:27px; }
.contact-reasons h2 { font-size:29px; margin:0 0 20px; }
.contact-reasons p { font-size:13px; line-height:2.3; color:#596850; }
.contact-form-panel { border:1px solid #c8cebc; padding:40px; background:#fbf9f1; }
.contact-form-panel h2 { font-size:43px; margin:16px 0 30px; }
#contact-form label { display:block; font-size:12px; color:#43563e; margin-bottom:22px; }
#contact-form input, #contact-form select, #contact-form textarea { display:block; width:100%; font:16px/1.5 var(--sans); padding:12px 13px; border:1px solid #b5c0a7; background:#fffdf7; border-radius:0; color:#263a30; margin-top:8px; }
#contact-form input { min-width:0; }
#contact-form textarea { resize:vertical; min-height:185px; }
#contact-form select:focus-visible, #contact-form textarea:focus-visible { outline:2px solid #a87a34; outline-offset:4px; }
.contact-field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
#message-hint { margin-top:-12px; }
.contact-privacy { font-size:11px; color:#606e55; line-height:1.9; margin:25px 0; }
.contact-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
#contact-status { font-size:13px; line-height:1.9; margin-top:22px; }
#contact-status[data-state="error"] { color:#943b27; }
#contact-status[data-state="success"] { color:#355939; }
.visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.outreach-page:lang(zh-Hant) h1 { font-family:var(--zh); font-size:clamp(39px,4.5vw,65px); line-height:1.5; letter-spacing:0; }
.outreach-page:lang(zh-Hant) h2 { font-family:var(--zh); font-size:clamp(30px,3vw,44px); line-height:1.6; letter-spacing:0; }
.outreach-page:lang(zh-Hant) h3 { font-family:var(--zh); font-size:23px; line-height:1.6; }
.outreach-page:lang(zh-Hant) em { font-style:normal; }
.outreach-page:lang(zh-Hant) .campaign-deck { font-family:var(--zh); font-size:19px; line-height:1.9; }
.outreach-page:lang(zh-Hant) .campaign-dedication-note blockquote { font:25px/1.9 var(--zh); }
@media(min-width:1600px) { .campaign-hero { grid-template-columns:1.25fr .75fr; } }
@media(max-width:1050px) { .campaign-hero { gap:5%; } .campaign-hero h1 { font-size:64px; } .campaign-hero-foot { margin-top:30px; } .campaign-gift, .contact-form-panel { padding:28px; } .campaign-giving, .contact-layout { gap:6%; } .campaign-process { grid-template-columns:1fr 1fr; gap:35px; } .contact-field-row { grid-template-columns:1fr; gap:0; } }
@media(max-width:800px) { .campaign-hero { grid-template-columns:1fr; gap:40px; padding-top:40px; } .campaign-hero h1 { font-size:clamp(54px,9vw,78px); } .campaign-portrait { max-width:440px; margin:auto; width:100%; } .campaign-hero-foot { margin-top:35px; } .campaign-why, .campaign-patronage, .campaign-giving, .campaign-faq, .campaign-dedication-grid, .contact-layout { grid-template-columns:1fr; gap:40px; } .campaign-section { padding-block:65px; } .campaign-proof { gap:30px; } .campaign-chapters { grid-template-columns:1fr 1fr; row-gap:22px; } .campaign-faq { padding-bottom:65px; } .campaign-faq h2 { margin-bottom:0; } .campaign-gift { max-width:600px; width:100%; } .campaign-patronage .campaign-deck { max-width:580px; } .campaign-dedication-note { max-width:580px; } .contact-layout { padding-top:40px; } }
@media(max-width:520px) { .outreach-page .wrap { width:calc(100% - 48px); } .outreach-page .public-header { gap:20px; } .outreach-page .public-header nav { gap:15px; flex-wrap:wrap; } .campaign-hero { padding-bottom:40px; } .campaign-hero h1 { font-size:55px; letter-spacing:-1px; } .campaign-topline { align-items:start; } .campaign-topline .eyebrow { max-width:200px; } .campaign-deck { font-size:23px; } .campaign-process { grid-template-columns:1fr; gap:28px; margin-block:35px; } .campaign-process h3 { margin-top:14px; } .campaign-proof { grid-template-columns:1fr; padding-top:35px; } .campaign-books { gap:20px; padding:8px 15px; } .campaign-work, .campaign-dedication, .campaign-close { padding-block:60px; } .campaign-gift { padding:25px 20px; } .campaign-gift h3 { font-size:36px; } .campaign-gift .amount { font-size:22px; } .campaign-gift .frequency label { font-size:12px; padding-inline:5px; } .campaign-dedication-note { padding:28px; } .campaign-funds { gap:18px; } .campaign-faq summary { font-size:13px; } .contact-form-panel { padding:27px 22px; } .contact-form-panel h2 { font-size:38px; } .campaign-actions { gap:17px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
/* Keep small labels legible on the pale paper backgrounds. */
.campaign-chapters a { color:#59654b; }
.campaign-gift .frequency label { color:#4f6045; }
.campaign-gift .frequency label:has(input:checked) { color:#263f29; }
