:root{color-scheme:dark;--rose:#f43f8e;--rose-deep:#c4276a;--rose-pale:#fce7f3;--dark:#0d0810;--dark-card:#160d18;--dark-surface:#1e1125;--muted:#a08faa;--text:#f0e8f5;--pink:var(--rose);--line:color-mix(in srgb,var(--text) 13%,transparent)}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;color:var(--text);font-family:'DM Sans',system-ui,sans-serif;line-height:1.6;background:radial-gradient(ellipse at 12% 12%,color-mix(in srgb,var(--rose) 13%,transparent),transparent 42%),radial-gradient(ellipse at 90% 90%,color-mix(in srgb,var(--rose-deep) 10%,transparent),transparent 42%),var(--dark)}
a{color:inherit}.page{max-width:1220px;margin:auto;padding:36px 36px 80px}.back{display:inline-flex;gap:10px;align-items:center;color:var(--muted);text-decoration:none;font-size:13px;font-weight:600;transition:color .2s}.back span{font-size:19px}.back:hover{color:var(--text)}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,450px);gap:clamp(60px,9vw,135px);align-items:start;padding-top:clamp(55px,8vh,95px)}
.intro{max-width:570px;padding-top:clamp(45px,10vh,120px)}.eyebrow,.card-kicker{color:var(--pink);font-size:10px;letter-spacing:.18em;font-weight:700}.eyebrow{margin:0 0 26px}.eyebrow span{font-size:14px;margin-right:8px}.intro h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(42px,4.7vw,62px);font-weight:700;line-height:1.1;letter-spacing:normal;margin:0;color:var(--text)}.intro h1 em{font-style:normal;font-weight:700;color:var(--rose)}.lead{max-width:450px;color:var(--muted);font-size:16px;line-height:1.85;margin:27px 0 0}.promise{display:flex;align-items:center;gap:14px;margin-top:40px;padding-top:23px;border-top:1px solid var(--line);max-width:430px}.promise>span{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--rose) 22%,transparent);border-radius:50%;color:var(--pink);font-size:21px}.promise p{margin:0;color:var(--muted);font-size:13px}
.card{background:linear-gradient(155deg,var(--dark-surface),var(--dark-card));border:1px solid color-mix(in srgb,var(--text) 15%,transparent);border-radius:24px;padding:34px;box-shadow:0 28px 80px rgba(8,4,11,.35),0 1px 0 color-mix(in srgb,var(--text) 5%,transparent) inset}.card-heading{margin-bottom:28px}.card-kicker{margin:0 0 8px;font-size:9px}.card h2{font-family:'Playfair Display',Georgia,serif;font-size:29px;font-weight:600;line-height:1.25;margin:0}.card h2 span{color:var(--pink);font-family:system-ui;font-weight:400}.sub{color:var(--muted);font-size:13px;line-height:1.6;margin:8px 0 28px}.label{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;margin:0 0 10px}.label span{font-size:10px;letter-spacing:.08em;font-weight:600;color:var(--muted)}.amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.amounts button{min-height:49px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025);color:var(--text);font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:border-color .2s,background .2s,color .2s,transform .2s}.amounts button:hover:not(:disabled){border-color:color-mix(in srgb,var(--rose) 65%,transparent);background:color-mix(in srgb,var(--rose) 8%,transparent)}.amounts button.active{border-color:var(--rose);background:color-mix(in srgb,var(--rose) 13%,transparent);color:var(--rose-pale)}.amounts button:disabled{cursor:default}.custom-label{display:block;color:var(--muted);font-size:12px;margin:16px 0 7px}.custom{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--dark);padding:0 14px;color:var(--muted);font-size:13px;transition:border-color .2s,box-shadow .2s}.custom input{min-width:0;width:100%;background:transparent;border:0;padding:12px 10px;color:var(--text);font:inherit;outline:none}.custom:focus-within,textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px color-mix(in srgb,var(--rose) 12%,transparent)}.amount-hint{margin:6px 0 0;color:var(--muted);font-size:11px}textarea{display:block;width:100%;resize:vertical;min-height:78px;border:1px solid var(--line);border-radius:10px;background:var(--dark);padding:12px 13px;color:var(--text);font:inherit;font-size:13px;outline:none}textarea::placeholder{color:var(--muted)}.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}.message-field{margin:10px 0 0 27px}.check,.guest-note{font-size:13px;color:var(--text);margin:19px 0 0;line-height:1.5}.check{display:flex;gap:11px;align-items:flex-start;cursor:pointer}.check input{accent-color:var(--rose);width:16px;height:16px;flex:none;margin:2px 0 0}.check small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.guest-note{color:var(--muted);font-size:12px}.payment-step[hidden],#donation-options[hidden]{display:none}.payment-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid var(--line);border-radius:10px;background:var(--dark-card)}.payment-summary span{display:block;color:var(--muted);font-size:12px}.payment-summary strong{display:block;color:var(--text);font-size:16px}.payment-summary button{border:0;background:transparent;color:var(--rose-pale);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.payment-summary button:hover{color:var(--text)}.payment:not(:empty){margin:24px 0}.error{color:var(--rose-pale);font-size:13px;margin:10px 0}.error:empty{display:none}.submit{width:100%;border:0;border-radius:10px;background:linear-gradient(105deg,var(--rose),var(--rose-deep));color:var(--season-on-accent, var(--text));font:inherit;font-size:14px;font-weight:800;padding:15px;margin-top:25px;cursor:pointer;box-shadow:0 8px 25px color-mix(in srgb,var(--rose) 13%,transparent);transition:filter .2s,transform .2s,box-shadow .2s}.submit:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 10px 28px color-mix(in srgb,var(--rose) 20%,transparent)}.submit span{margin-left:6px}.submit:disabled{opacity:.5;cursor:not-allowed}.fine{text-align:center;color:var(--muted);font-size:11px;margin:14px 0 0}.fine strong{color:var(--text)}.notice{border:1px solid color-mix(in srgb,var(--rose) 23%,transparent);border-radius:10px;background:color-mix(in srgb,var(--rose) 6%,transparent);padding:11px 13px;color:var(--rose-pale);font-size:12px;margin:0 0 20px}.thanks{display:none;padding:20px 0}.thanks h2{color:var(--rose-pale)}.thanks p{color:var(--muted)}.thanks a{color:var(--rose-pale);font-weight:700;font-size:14px}
:focus-visible{outline:2px solid var(--rose-pale);outline-offset:3px}.custom input:focus-visible,textarea:focus-visible{outline:0}.check input:focus-visible{outline-offset:3px}
@media(max-width:850px){.layout{grid-template-columns:1fr;gap:38px;max-width:560px;margin:auto;padding-top:48px}.intro{padding-top:0}.intro h1{font-size:clamp(39px,7vw,52px)}.lead{font-size:15px}.card{width:100%}}
@media(max-width:480px){.page{padding:24px 20px 48px}.layout{padding-top:42px;gap:32px}.eyebrow{margin-bottom:20px}.intro h1{font-size:clamp(36px,10vw,43px)}.lead{margin-top:20px;line-height:1.75}.promise{margin-top:27px;padding-top:18px}.card{padding:27px 22px}.card h2{font-size:26px}.card-heading{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
