:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:#03070c;color:#f2f8ff;font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(132deg,#0b335c61 0%,#03070c 38%,#03070c 100%)}a{color:inherit}button,input{font:inherit}button,a,input{outline-offset:4px}.skip{position:absolute;left:1rem;top:-5rem;background:#fff;color:#000;padding:.7rem;z-index:20}.skip:focus{top:1rem}.mast{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1rem clamp(1rem,4vw,4rem);border-bottom:1px solid #95ddff2a}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;letter-spacing:.2em;font-size:.92rem;font-weight:600}.brand img{object-fit:contain}.brand small{display:block;font-size:.62rem;letter-spacing:.22em;color:#97d8f5}.back,.footer,.footer a{font-size:.82rem;color:#b7c7d9}.back{text-decoration:none}.back:hover,.back:focus-visible{text-decoration:underline}main{max-width:1420px;margin:auto;padding:clamp(2rem,5vw,5rem) clamp(1.15rem,5vw,5rem)}.grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.85fr);gap:clamp(2rem,7vw,7rem);align-items:start}.eyebrow{font-size:.8rem;letter-spacing:.23em;text-transform:uppercase;color:#93dcff;font-weight:650}h1,h2{font-family:Georgia,Times,serif;font-weight:400;letter-spacing:-.055em}h1{font-size:clamp(3.4rem,6.7vw,7.2rem);line-height:1.02;margin:.9rem 0 1.5rem}h1 em{font-weight:400;color:#92dcff}.intro>p:not(.eyebrow){max-width:35rem;color:#c1d1de;font-size:1.14rem;line-height:1.68}.symbol{display:flex;align-items:center;justify-content:center;margin-top:1rem;min-height:18rem}.symbol img{width:min(100%,470px);height:auto;filter:drop-shadow(0 0 40px #34baff44)}.donation-panel{background:linear-gradient(150deg,#10263b,#07101b 70%);border:1px solid #8bd7ff5c;box-shadow:0 28px 80px #0008;padding:clamp(1.4rem,3vw,2.8rem)}h2{font-size:clamp(2.2rem,3.6vw,3.8rem);line-height:1.1;margin:.5rem 0 1.6rem}.donation-panel fieldset{border:0;padding:0;margin:0 0 1.5rem}.donation-panel legend{font-weight:600;margin-bottom:.9rem}.choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.choices.two{grid-template-columns:repeat(2,1fr)}.choices label{position:relative;cursor:pointer}.choices input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.choices span{display:flex;align-items:center;justify-content:center;min-height:3.2rem;border:1px solid #8bd7ff4f;color:#dfebf5;background:#081421;transition:background .2s,border .2s}.choices input:checked+span{color:#07111b;border-color:#99e7ff;background:#9ddfff}.choices input:focus-visible+span{outline:3px solid #fff;outline-offset:3px}.custom{display:block;margin-top:.8rem;color:#c6dbe8}.custom[hidden]{display:none}.custom-field{display:flex;align-items:center;gap:.6rem;margin-top:.5rem;border:1px solid #8bd7ff4f;padding:.45rem .8rem;max-width:14rem}.custom-field input{width:100%;border:0;background:transparent;color:white;min-height:2rem;outline:none}.terms,.legal{font-size:.9rem;line-height:1.62;color:#b0c1ce}.terms{margin:.1rem 0 1.25rem}.legal{border-top:1px solid #8bd7ff39;padding-top:1.2rem;margin:1.4rem 0 0}.florida{font-size:.875rem;font-weight:650;line-height:1.6;color:#d9e8ef;margin:1.4rem 0 0}.primary{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:3.4rem;border:0;background:#addef6;color:#03131e;font-weight:700;cursor:pointer;padding:0 1.2rem}.primary:hover:not(:disabled){background:#daf4ff}.primary:disabled{opacity:.58;cursor:not-allowed}.notice{padding:1rem;border-left:3px solid #9be0ff;background:#0c1c2b;color:#d4e6ee;line-height:1.55}.alternate,.text-link{display:inline-block;margin-top:1.2rem;color:#acf0ff;text-underline-offset:.25em}.gift-preview{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid #8bd7ff39;margin-top:4rem;padding:3rem 0}.gift-preview h2{margin:.35rem 0}.gift-preview p{color:#b3c7d7;line-height:1.6}.gift-preview img{filter:drop-shadow(0 0 20px #55caff55)}.footer{padding:2rem clamp(1rem,5vw,5rem);border-top:1px solid #8bd7ff2a;line-height:1.7}.simple{max-width:39rem;min-height:15rem;font-size:1.15rem;line-height:1.7}
.letter-page{text-align:center;max-width:1050px;margin:auto}.letter-page h1{font-size:clamp(3rem,6vw,6rem)}.letter-intro{max-width:44rem;margin:0 auto 3rem;font-size:1.08rem;line-height:1.6;color:#b9d4e5}.mail{max-width:750px;margin:0 auto}.envelope{position:relative;height:min(64vw,470px);min-height:320px;perspective:1200px;isolation:isolate}.envelope-front{position:absolute;inset:0;background:linear-gradient(150deg,#e5edf0,#9ac7de 47%,#d6e5e9);border:1px solid #bbecfc;box-shadow:0 30px 65px #000b,0 0 60px #47bcff3c;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);z-index:4;color:#102a3e;transition:transform 1.15s ease,opacity .7s ease}.envelope-front:after{content:"";position:absolute;inset:0;border-top:1px solid #f8ffff7b;background:linear-gradient(36deg,transparent 49.8%,#a4c8d8 50%,transparent 50.2%),linear-gradient(-36deg,transparent 49.8%,#a4c8d8 50%,transparent 50.2%);pointer-events:none}.address{position:absolute;text-align:left;left:9%;bottom:16%;font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,2.6rem);letter-spacing:.12em;z-index:2}.address span{display:block;font-family:Inter,system-ui,sans-serif;font-size:.68rem;letter-spacing:.18em;margin-top:.7rem}.stamp{position:absolute;right:7%;top:9%;width:clamp(74px,12vw,118px);border:4px double #20628a;padding:.3rem;z-index:2}.stamp img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.stamp span{font-size:.51rem;letter-spacing:.12em;font-weight:700}.postmark{position:absolute;right:8%;top:39%;display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(150px,26vw,250px);min-height:clamp(105px,15vw,150px);border:3px double #265b73;transform:rotate(-14deg);z-index:2;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.postmark strong{max-width:94%;font-size:clamp(.7rem,1.2vw,1rem);line-height:1.2;letter-spacing:.07em;overflow-wrap:anywhere}.postmark span{border-block:1px solid #265b73;padding:.25rem .5rem;margin:.25rem}.postmark small{font-size:.52rem;letter-spacing:.08em}.envelope-flap{position:absolute;top:0;left:0;width:100%;height:56%;background:linear-gradient(#f5fcff,#a8cadc);clip-path:polygon(0 0,100% 0,50% 100%);z-index:5;transform-origin:top center;backface-visibility:hidden;transition:transform 1s ease,z-index 1s step-end}.card-inside{position:absolute;left:18%;top:10%;width:64%;height:95%;z-index:2;transform:translateY(0) scale(.85);transition:transform 1.15s cubic-bezier(.2,.7,.2,1) .2s,z-index 1.15s step-end;filter:drop-shadow(0 20px 35px #0009)}.card-inside img{display:block;width:100%;height:100%;object-fit:contain}.mail.is-open .envelope-flap{transform:rotateX(180deg);z-index:1}.mail.is-open .envelope-front{transform:translateY(20%) scale(.94);opacity:.18}.mail.is-open .card-inside{transform:translateY(-9%) scale(1);z-index:6}.open-button{max-width:18rem;margin:2rem auto 0}.gift-actions{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;padding:1rem}.gift-legal{max-width:42rem;margin:1.8rem auto;padding:0;border:0}.back-home{font-size:.9rem;color:#b5dce9}.gift-actions a{font-size:.9rem}
@media(max-width:900px){.grid{grid-template-columns:1fr}.intro h1{max-width:12ch}.symbol{min-height:8rem}.symbol img{max-width:250px}.donation-panel{max-width:640px}.gift-preview{margin-top:2rem}}@media(max-width:600px){.mast{align-items:flex-start}.brand{font-size:.72rem}.brand img{width:38px;height:38px}.brand small{font-size:.5rem}.back{font-size:.72rem;text-align:right}.choices{grid-template-columns:repeat(2,1fr)}.envelope{min-height:290px}.address{left:6%;font-size:1.3rem}.address span{max-width:160px;line-height:1.4}.postmark{right:4%;top:40%;width:140px;min-height:92px;font-size:.6rem}.postmark strong{font-size:.74rem}.postmark small{font-size:.45rem}.stamp{right:5%;top:7%;width:72px}.gift-preview img{width:74px;height:74px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* The card's breathing core (8s) and traveling beam (6s) echo the approved
   Wyatt Spectrum crystal-radiance motion. The downloadable GIF uses an 8s loop. */
.card-inside{overflow:hidden}.art-radiance,.art-beam{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen}
.art-radiance{background:linear-gradient(180deg,#66e3ff0a,#66e3ff38 55%,#66e3ff0a);clip-path:polygon(50% 29%,8% 75%,92% 75%);transform-origin:50% 52%;animation:art-core 8s ease-in-out infinite}
.art-beam{background:linear-gradient(110deg,transparent 30%,#a7eaff18 49%,transparent 62%);background-size:260% 100%;clip-path:polygon(50% 30%,8% 75%,92% 75%);animation:art-travel 6s linear infinite}
@keyframes art-core{0%,100%{opacity:.28;transform:scale(.76)}40%{opacity:.65;transform:scale(1.05)}70%{opacity:.38;transform:scale(.92)}}
@keyframes art-travel{from{background-position:150% 50%}to{background-position:-80% 50%}}
@media(prefers-reduced-motion:reduce){.art-radiance,.art-beam{animation:none;opacity:.45}.card-inside img{content:url('/geo-pay/assets/gratitude-card.png')}.stamp img,.gift-preview img{content:url('/geo-pay/assets/eye-emblem.png')}}

/* Address choice stays usable while payments are paused, so visitors can
   preview their own name on the freely available card. */
.recipient-choice,.payer-choice{border-top:1px solid #8bd7ff39!important;padding-top:1.25rem!important}
.recipient-choice legend,.payer-choice legend{color:#e9f5fb}
.recipient-choice p,.payer-choice p{font-size:.8rem;line-height:1.5;color:#a9c4d6;margin:.65rem 0 0}
.name-option{display:flex;align-items:center;gap:.7rem;cursor:pointer;color:#e1f1fc}
.name-option input{width:1.2rem;height:1.2rem;accent-color:#83dfff}
.name-field{display:block;margin-top:.8rem;color:#d9ebf5;font-size:.88rem}
.name-field input{display:block;width:100%;min-height:2.8rem;background:#081421;border:1px solid #8bd7ff78;color:#f2faff;padding:.6rem .75rem;margin-top:.4rem;border-radius:2px}
.name-field input::placeholder{color:#a1b5c5}
.name-field select{display:block;width:100%;min-height:2.8rem;background:#081421;border:1px solid #8bd7ff78;color:#f2faff;padding:.6rem .75rem;margin-top:.4rem;border-radius:2px}
.name-field[hidden]{display:none}

/* A distinct mailed envelope opens into a two-panel card and letter. */
.mail{max-width:1020px}
.envelope{max-width:750px;margin:auto;overflow:hidden;transition:height .85s ease,min-height .85s ease,opacity .55s ease,transform .85s ease}
.address{max-width:57%;line-height:1.1}
.address small{display:block;margin-bottom:.7rem;font:650 .62rem/1.3 Inter,system-ui,sans-serif;letter-spacing:.22em}
.address strong{display:block;font-weight:400;overflow-wrap:anywhere;max-height:2.2em;overflow:hidden}
.mail.is-open .envelope{height:0;min-height:0;opacity:0;transform:translateY(-24px) scale(.95)}
.mail.is-open .envelope-front{opacity:0;transform:translateY(18%) scale(.95)}
.mail.is-open .envelope-flap{transform:rotateX(180deg);z-index:1}
.open-button{max-width:20rem;margin:1.6rem auto 2rem}
.opened-card[hidden],.gift-actions[hidden]{display:none}
.opened-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);max-width:1020px;min-height:650px;text-align:left;border:1px solid #9ad8ed;box-shadow:0 28px 85px #000b,0 0 55px #5ccfff38;overflow:hidden;animation:unfold-card .82s cubic-bezier(.2,.75,.2,1) both}
.card-art{position:relative;background:#03070c;min-height:640px;overflow:hidden}
.card-art>img{display:block;width:100%;height:100%;object-fit:cover}
.card-letter{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1rem;padding:clamp(1.5rem,4vw,3.5rem);background:linear-gradient(145deg,#f2f9fa 0%,#cde8ef 59%,#9fc7db 100%);color:#11304a;border-left:1px solid #e3ffff88;box-shadow:inset 0 0 45px #fff6}
.card-kicker{font-size:.66rem;letter-spacing:.2em;font-weight:750;color:#3e6b87}
.card-to{font:italic clamp(1.2rem,2vw,1.6rem)/1.3 Georgia,serif;margin:.15rem 0;color:#163d5a}
.card-to strong{font-weight:400;overflow-wrap:anywhere}
.card-letter h2{font:400 clamp(2rem,3.7vw,3.3rem)/1.08 Georgia,serif;letter-spacing:-.055em;margin:.25rem 0;color:#0d2b44}
.card-letter>p:not(.card-kicker):not(.card-to):not(.card-signoff){font:1.18rem/1.5 Georgia,serif;margin:.15rem 0}
.card-token{align-self:stretch;text-align:center;border-block:1px solid #6598b363;padding:1.1rem .5rem;margin:.55rem 0}
.card-token p{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:#335a70;margin:0 0 .4rem}
.token-download{display:block;width:clamp(130px,16vw,190px);margin:.2rem auto;filter:drop-shadow(0 0 16px #13bdf099);transition:transform .25s ease}
.token-download:hover,.token-download:focus-visible{transform:scale(1.06)}
.token-download img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.token-cta{display:inline-block;margin:.4rem 0 0;font-size:.86rem;font-weight:750;text-underline-offset:.25em;color:#0c547c}
.card-signoff{font:.92rem/1.5 Georgia,serif;margin:.1rem 0 0}
.card-signoff strong{font-weight:600}
.receipt-link{display:inline-block;margin:1.5rem auto 0;color:#b4efff;text-underline-offset:.25em}
.receipt-page{max-width:740px;margin:0 auto}.receipt-page>.eyebrow{text-align:center}
.print-button{max-width:16rem;margin:2rem auto 0}.receipt-footnote{font-size:.85rem;line-height:1.55;color:#b0c5d0;text-align:center}
@keyframes unfold-card{from{opacity:0;transform:translateY(-25px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:780px){.opened-card{grid-template-columns:1fr}.card-letter{order:-1;border-left:0;border-bottom:1px solid #dff7ff;padding:2rem}.card-art{min-height:0;height:auto;max-height:700px}.card-art>img{height:auto;object-fit:contain}.card-letter h2{max-width:15ch}.token-download{width:160px}}
@media(max-width:600px){.address{left:6%;bottom:12%;max-width:52%}.address small{font-size:.5rem}.address strong{font-size:1.15rem}.envelope{min-height:290px}.opened-card{min-height:0}.card-letter{gap:.7rem}.card-letter h2{font-size:2rem}.gift-actions{gap:.7rem}.gift-actions a{margin-top:.4rem}}
@media(prefers-reduced-motion:reduce){.opened-card{animation:none}.card-art>img{content:url('/geo-pay/assets/gratitude-card.png')}.token-download img{content:url('/geo-pay/assets/eye-emblem.png')}}
@media print{.mast,.footer,.skip,.print-button,.receipt-footnote{display:none!important}body,main{background:#fff!important;color:#111!important;padding:0!important}.receipt-page{max-width:none}.receipt-page>.eyebrow{display:none}}

.screening-pending{max-width:640px;margin:3rem auto;padding:clamp(1.5rem,5vw,3rem);border:1px solid #57d9ff55;background:#0b1d2b;box-shadow:0 0 50px #1496e021}.screening-pending h1{font:400 clamp(2rem,4vw,3.5rem)/1.1 Georgia,serif;overflow-wrap:anywhere}.screening-pending p{line-height:1.65}.screening-pending .primary{display:inline-block;margin-top:1.2rem;text-decoration:none}
.screening-page{max-width:880px;margin:1rem auto 4rem}.screening-page>h1{font:400 clamp(2.4rem,5vw,4rem)/1.1 Georgia,serif}.screening-page>p{line-height:1.6;color:#bad4e3}.screening-page a{color:#a7ecff}.review-card{border:1px solid #8de1ff66;background:#081b2b;padding:clamp(1rem,3vw,1.75rem);margin:1.5rem 0;box-shadow:0 18px 35px #0005;overflow-wrap:anywhere}.review-head{display:flex;justify-content:space-between;gap:1rem;color:#aac8d6;font-size:.78rem}.review-status{color:#87ddfa;font-weight:750;letter-spacing:.14em}.review-card h2{font:400 1.8rem Georgia,serif;margin:.85rem 0 .2rem}.review-card p{line-height:1.55}.review-card code{font-size:.78rem}.review-notes{padding:1rem;background:#132c3d}.review-form{display:grid;gap:1.15rem;margin-top:1.5rem;border-top:1px solid #83daff55;padding-top:1.5rem}.review-form fieldset{display:grid;gap:.6rem;border:1px solid #83daff55;padding:1rem}.review-form legend{padding:0 .3rem;color:#e8f7ff}.review-form label{display:block;line-height:1.55}.review-form fieldset label{display:flex;align-items:flex-start;gap:.65rem}.review-form input[type=checkbox]{margin-top:.35rem;accent-color:#66d9ff}.review-form input:not([type=checkbox]),.review-form textarea{display:block;width:100%;background:#06111b;border:1px solid #82c9e599;color:#fff;padding:.7rem;margin-top:.4rem;font:inherit}.review-actions{display:flex;gap:.8rem;flex-wrap:wrap}.review-form button{border:1px solid #91e0ff;background:#0e415f;color:white;padding:.75rem 1rem;cursor:pointer;font:600 .85rem system-ui}.review-form button:hover{background:#1b648a}
.terms-consent{display:flex;align-items:flex-start;gap:.7rem;margin:0 0 1.4rem;padding:1rem;border:1px solid #8bd7ff55;border-radius:.45rem;font-size:.9rem;line-height:1.5;color:#dcebf5}
.terms-consent input{margin:.25rem 0 0;flex:none;accent-color:#6cd8fc}
.terms-consent a{color:#b6edff;text-decoration:underline}
.ny-notice{font-size:.875rem;font-weight:700;line-height:1.5;color:#d9e8ef;margin:1.4rem 0 0;white-space:pre-wrap}
.zone-detail{margin-top:1rem;color:#b7dcea;font-size:.86rem}.zone-detail summary{cursor:pointer;text-decoration:underline;text-underline-offset:.2em}.zone-detail[open]{padding:.7rem;border:1px solid #8bd7ff44}.zone-detail .name-field{margin-top:.7rem}
