@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f4eee3;--ink:#292721;--rust:#9b4327;--muted:#6d655a;--line:#ccc1b1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--rust);outline-offset:5px}header{max-width:1320px;margin:auto;padding:27px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font-size:11px;font-weight:600;letter-spacing:2px;line-height:1.4}.wordmark span{display:block;font-size:13px}nav{display:flex;align-items:center;gap:35px}nav a{text-decoration:none;font-size:13px}.small-button{background:none;border:1px solid var(--ink);padding:8px 18px;font-size:13px}.wrap{max-width:1180px;margin:auto}.hero{display:grid;grid-template-columns:1fr 1fr;gap:84px;padding:64px 30px 80px;align-items:center}.invitation{padding:7px;border:1.5px solid var(--ink);color:var(--rust)}.inner-frame{border:1px solid var(--ink);text-align:center;padding:38px 20px 36px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;line-height:1.6;margin:0 0 23px;text-transform:uppercase}h1,h2,h3,blockquote{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.05;margin:0}h1{font-size:70px}h1 span{display:block;font-size:41px;font-style:italic;margin-bottom:8px}.rule{width:85px;height:1px;background:var(--ink);margin:27px auto}.rule.short{width:46px;margin:22px auto}.date{font-size:12px;font-weight:600;letter-spacing:1px;margin:0}.venue{font:25px/1.3 'Cormorant Garamond',Georgia,serif;margin:10px 0 0}.benefit{font-size:12px;margin:0 0 7px}.shelter-name{font:25px/1.2 'Cormorant Garamond',Georgia,serif;margin:0}.giving .eyebrow{color:var(--rust)}h2{font-size:45px;letter-spacing:-.5px}.intro{color:var(--muted);margin:20px 0 26px}.actions{display:grid;gap:12px}.button{display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--rust);padding:15px 20px;font-size:14px;font-weight:600;text-decoration:none;min-height:54px}.primary{background:var(--rust);color:#fffaf1}.primary:hover{background:#7f351f}.secondary{background:transparent;color:var(--rust)}.secondary:hover{background:#ebe0d0}.payment-note{font-size:12px;line-height:1.7;color:var(--muted);margin:21px 0 9px}.other-methods{font-size:11px;color:var(--muted);margin:0 0 28px}.text-link{font-size:12px;font-weight:500;text-underline-offset:5px;display:inline-block}.text-link span{margin-left:9px}.story{padding:65px 30px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.12fr 1fr;gap:65px;align-items:center}.photo-feature img{width:100%;height:400px;object-fit:cover;display:block}.photo-caption{display:block;font-size:9px;letter-spacing:1.5px;margin-top:13px}.story-copy .eyebrow{color:var(--rust)}.story-copy p:not(.eyebrow){font-size:14px;color:var(--muted);margin:18px 0}.personal{display:grid;grid-template-columns:.8fr 1fr;gap:90px;align-items:center;margin-top:35px;padding:60px 100px;background:#e9e1d2}.personal img{width:100%;height:385px;object-fit:cover;object-position:center}.personal blockquote{font-size:53px;color:var(--rust)}.personal .eyebrow{margin-bottom:23px}.attribution{font-size:10px;letter-spacing:2px;font-weight:600;margin:22px 0}.personal p:not(.eyebrow):not(.attribution){font-size:14px;color:var(--muted)}.thanks{text-align:center;padding:95px 30px 70px;max-width:760px}.thanks h2{font-size:42px}.thanks p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:590px;margin:24px auto}.thanks .rule{margin:40px auto}.thanks h3{font-size:30px}footer{border-top:1px solid var(--line);padding:30px 30px 135px;display:flex;flex-wrap:wrap;justify-content:space-between;font-size:10px;letter-spacing:1px;gap:15px}footer small{width:100%;font-size:10px;letter-spacing:0;color:var(--muted)}.floating{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);width:min(430px,calc(100% - 32px));display:flex;justify-content:space-between;align-items:center;background:#fffaf1;padding:9px 10px 9px 19px;border:1px solid var(--line);box-shadow:0 8px 35px #36291720;z-index:5}.floating>span{font-size:10px;line-height:1.5}.floating .button{font-size:12px;min-height:45px;padding:10px 18px;gap:18px}dialog{border:1px solid var(--ink);background:var(--paper);padding:6px;color:var(--ink);max-width:500px;width:calc(100% - 28px);max-height:90dvh}dialog::backdrop{background:#201b17a8;backdrop-filter:blur(3px)}.dialog-body{padding:32px 27px;border:1px solid var(--ink);position:relative}dialog h2{font-size:35px;margin:0 20px 20px 0}.close{position:absolute;right:9px;top:5px;width:38px;height:38px;border:0;background:none;font-size:28px}.dialog-body .eyebrow{font-size:9px;margin:0 25px 14px 0}.dialog-body p{font-size:13px;color:var(--muted)}.method{margin-top:13px;padding:15px;border:1px solid var(--line)}.method strong{font-size:15px}.method p{margin:5px 0 0}.method.pending{color:var(--muted)}.method .button{margin-top:14px}.badge{float:right;font-size:10px;background:#e6ddce;padding:3px 8px}.back{margin-top:20px;background:none;border:0;border-bottom:1px solid var(--ink);padding:0;font-size:12px}.steps{font-size:13px;padding-left:20px;color:var(--muted)}.steps li{margin:12px 0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){header{padding:18px 22px}nav{gap:12px}nav>a{display:none}.wordmark{font-size:8px;letter-spacing:1.3px}.wordmark span{font-size:10px}.small-button{font-size:11px;padding:6px 13px}.hero{display:flex;flex-direction:column;gap:30px;padding:30px 23px 45px}.invitation{width:100%;padding:5px}.inner-frame{padding:20px 14px}.inner-frame .eyebrow{font-size:8px;margin-bottom:13px}h1{font-size:43px;line-height:.98}h1 span{font-size:25px;display:inline;font-style:italic;margin:0 4px 0 0}h1 br{display:none}.rule{margin:16px auto;width:60px}.date{font-size:9px}.venue{font-size:20px;margin-top:6px}.rule.short{margin:13px auto}.benefit{font-size:10px;display:inline;margin-right:5px}.shelter-name{display:inline;font-size:18px}.giving{width:100%}.giving>.eyebrow{display:none}.giving h2{font-size:34px;line-height:1.08}.giving h2 br{display:none}.intro{font-size:13px;margin:12px 0 18px}.button{min-height:51px;padding:13px 16px;font-size:13px}.payment-note{font-size:11px;margin-top:15px}.other-methods{margin-bottom:20px;font-size:10px}.story{display:flex;flex-direction:column;padding:38px 23px;gap:30px}.photo-feature{width:100%}.photo-feature img{height:270px}.photo-caption{font-size:8px}.story h2{font-size:38px}.story-copy .eyebrow{margin-bottom:14px}.personal{margin:10px 23px 0;padding:25px;gap:28px;display:flex;flex-direction:column}.personal img{height:310px;max-width:280px;object-position:center 40%}.personal blockquote{font-size:43px}.personal .eyebrow{font-size:9px}.thanks{padding:55px 23px 40px}.thanks h2{font-size:35px}.thanks .eyebrow{font-size:9px}footer{padding:25px 23px 120px;display:block}footer span,footer small{display:block;margin-bottom:9px}.floating{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px)}.dialog-body{padding:30px 20px}dialog h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:760px){h1{font-size:34px;line-height:1.07}h1 span{display:block;font-size:24px;margin:0 0 7px}.inner-frame{padding:18px 12px}.hero{padding-top:22px;gap:24px}.giving h2{font-size:30px}}
.method-choices{margin:22px 0}.copy-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}.payment-handle{font-size:14px;overflow-wrap:anywhere;user-select:all}.copy-button{border:1px solid var(--rust);background:transparent;color:var(--rust);padding:8px 13px;font-size:12px;min-height:40px}.copy-button:hover{background:#ebe0d0}.dialog-body .recipient-label{font-size:9px;letter-spacing:1.5px;margin:0 0 6px}.recipient-name{overflow-wrap:anywhere;display:block}.dialog-body .payment-reference{color:var(--ink);margin-bottom:12px}.external-payment{margin-top:20px}.dialog-body .new-tab-note{font-size:11px}.qr-details{border-top:1px solid var(--line);margin-top:20px;padding-top:14px}.qr-details summary{font-size:13px;cursor:pointer;padding:7px 0}.qr-details img{display:block;width:240px;height:240px;max-width:100%;object-fit:contain;margin:15px auto;background:white}.copy-status{min-height:20px}.dialog-body>.back{margin-top:4px}
