:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1c2c31;background:#dce4e0;font-synthesis:none;font-size:16px;--green:#087768;--deep:#075e54;--muted:#677b7c;--bubble:#fff;--outgoing:#d9fdd3;--line:#dbe4df;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;background:linear-gradient(#075e54 0 145px,#dce4e0 145px 100%)}button,textarea,a{-webkit-tap-highlight-color:transparent}button,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #25ab92;outline-offset:4px}button,a,textarea{font-size:1rem}button{border:0}button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}button:disabled svg{opacity:.5}
.chat-shell{position:relative;display:flex;flex-direction:column;width:min(100% - 72px,960px);height:calc(100dvh - 48px);min-height:420px;margin:24px auto;background:#efeae2;border:1px solid rgba(255,255,255,.35);border-radius:18px;overflow:hidden;box-shadow:0 20px 65px #163b292b,0 2px 10px #163b2920}
.chat-header{display:flex;align-items:center;gap:13px;padding:15px 23px;background:#f7faf8;border-bottom:1px solid #dde4df;z-index:2;flex:none}.header-avatar{object-fit:cover;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #d6dfd7}.contact{min-width:0;flex:1}.contact h1{font-size:1.05rem;font-weight:650;letter-spacing:-.025em;margin:0 0 5px;line-height:1.2}.small-cross{font-size:.9rem;color:#c09545;margin-left:4px}.contact p{font-size:.8rem;color:var(--muted);margin:0;line-height:1.4}.icon-button{color:#607571;background:transparent;border-radius:50%;width:42px;height:42px;display:grid;place-items:center}.icon-button:hover{background:#e9efeb}
.conversation{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;flex:1;min-height:0;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#b8c4bd transparent;background-color:#efeae2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg stroke='%239eae9f' stroke-width='1.2' opacity='.16' fill='none'%3E%3Cpath d='M17 22v14M10 29h14M93 70v10M88 75h10M45 88l6-6 6 6-6 6zM95 16l5 9-10 0z'/%3E%3Ccircle cx='28' cy='66' r='3'/%3E%3Ccircle cx='74' cy='40' r='2'/%3E%3C/g%3E%3C/svg%3E")}.conversation-inner{max-width:740px;margin:0 auto;padding:20px 28px 25px}.date-chip{display:table;background:#fff9;padding:6px 14px;border-radius:8px;font-size:.75rem;font-weight:500;color:#5b6e69;margin:0 auto 14px;box-shadow:0 1px 2px #1232}.session-note{display:flex;justify-content:center;align-items:center;gap:7px;font-size:.75rem;color:#6c796e;line-height:1.5;margin:0 0 23px;text-align:center}.session-note svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
#messages{display:flex;flex-direction:column;gap:9px}.message-row{display:flex;align-items:flex-end;gap:8px;animation:appear .28s var(--ease) both;min-width:0}.message-avatar{border-radius:50%;object-fit:cover;flex:none;margin-bottom:3px}.message-row.continuation .message-avatar{visibility:hidden}.bubble{background:var(--bubble);padding:12px 14px 8px;border-radius:0 13px 13px 13px;box-shadow:0 1px 1px #1232;max-width:min(86%,550px);position:relative;min-width:68px;overflow-wrap:anywhere}.bubble p{font-size:1rem;line-height:1.6;margin:0;white-space:pre-wrap}.bubble p+p{margin-top:10px}.timestamp{display:block;font-size:.75rem;line-height:1.3;margin-top:4px;text-align:right;color:#728780;white-space:nowrap}.outgoing{justify-content:flex-end;margin:8px 0}.outgoing .bubble{background:var(--outgoing);border-radius:13px 0 13px 13px;max-width:85%}.outgoing .timestamp::after{content:'✓✓';font-size:.8rem;letter-spacing:-5px;margin-left:6px;margin-right:4px;color:#379daf}.photo-bubble{padding:5px;max-width:305px;overflow:hidden}.welcome-image{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;border-radius:8px}.typing-row{margin-top:10px}.typing-bubble{display:flex;gap:5px;align-items:center;min-height:42px;padding:15px 17px}.typing-bubble span{width:7px;height:7px;border-radius:50%;background:#8b9b93;animation:pulse 1.1s ease-in-out infinite}.typing-bubble span:nth-child(2){animation-delay:.15s}.typing-bubble span:nth-child(3){animation-delay:.3s}[hidden]{display:none!important}
.choices{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:15px;padding-left:38px}.choice-button,.primary-button,.checkout-button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 19px;min-height:48px;line-height:1.4;border-radius:11px;background:var(--green);color:white;font-weight:600;font-size:.92rem;box-shadow:0 2px 3px #0a583126;transition:background .15s,transform .15s;text-decoration:none;text-align:center}.choice-button:hover,.primary-button:hover,.checkout-button:hover{background:#056353;transform:translateY(-1px)}.choice-button:active,.primary-button:active,.checkout-button:active{transform:translateY(0)}.choice-button.secondary,.secondary-button{background:#ffffffd9;color:var(--deep);border:1px solid #bed3c8;box-shadow:none}.choice-button.secondary:hover,.secondary-button:hover{background:#edf5ef}.choice-button small{font-size:.8rem;font-weight:400}.choices.stack{display:flex;flex-direction:column;align-items:flex-end}.choices.stack .choice-button{width:min(100%,360px)}.choices.amounts{display:grid;grid-template-columns:repeat(3,1fr);max-width:415px;margin-left:auto}.amounts .choice-button{padding:14px 10px;font-size:1.1rem;letter-spacing:-.025em;background:white;color:var(--deep);border:1px solid #b6cdc0;box-shadow:0 2px 2px #2535200a}.amounts .choice-button:hover{background:#d9f2e6;border-color:#087768}.offer-note{font-size:.8rem;color:#63796d;line-height:1.5;text-align:right;flex-basis:100%;grid-column:1/-1;margin:3px 0 0}
.composer-wrap{flex:none;padding:12px 19px;background:#f5f7f4;border-top:1px solid #d9e0d9;z-index:2}.composer{display:flex;align-items:flex-end;gap:10px}textarea{width:100%;min-height:48px;max-height:140px;resize:none;border:1px solid #e7eae5;border-radius:14px;padding:13px 15px;background:white;color:#173e32;line-height:1.4;outline:none;overflow:auto}textarea::placeholder{color:#81918a;opacity:1;font-size:.91rem}textarea:disabled{background:#ffffffa8;color:#8a9790}.send-button{display:grid;place-items:center;background:var(--green);color:white;width:47px;height:47px;border-radius:50%;flex:none}.send-button:disabled{background:#e4ece5;color:#779184}.send-button:not(:disabled):hover{background:#065d51}.input-error{margin:8px 0 0;color:#9b2929;font-size:.85rem}
.offer-banner{padding:21px 20px 18px;background:linear-gradient(125deg,#0a5045,#0b705d);color:#fff;border-radius:11px;margin:1px 1px 12px;position:relative;overflow:hidden}.offer-banner::after{content:'✦';position:absolute;right:7px;top:5px;font-size:5rem;color:#ffffff0c;line-height:1}.offer-banner .eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:#cdded1;margin:0 0 8px}.offer-banner h2{font-size:1.32rem;font-weight:600;letter-spacing:-.035em;line-height:1.3;margin:0 0 9px;max-width:260px}.offer-banner p{font-size:.85rem;line-height:1.6;color:#d6e6da}.offer-banner ul{display:grid;gap:7px;list-style:none;padding:13px 0 0;margin:12px 0 0;border-top:1px solid #ffffff26;font-size:.8rem;color:#eaf3ec}.offer-banner li:before{content:'✓';margin-right:8px;color:#b8d9b3}.summary-bubble{width:min(100% - 38px,420px);max-width:100%;padding:7px 7px 10px}.summary-details{padding:2px 13px 11px}.summary-details dl{margin:0 0 13px}.summary-details dl>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #e6ece7}.summary-details dt{color:#6b7e73;font-size:.85rem}.summary-details dd{margin:0;font-size:.95rem;font-weight:600;text-align:right}.summary-details dd.amount{font-size:1.6rem;color:#095f4a;letter-spacing:-.04em}.summary-details .billing-note{font-size:.8rem;line-height:1.5;color:#617267;margin:0 0 14px}.checkout-button{width:100%;min-height:51px}.checkout-subnote{font-size:.75rem!important;color:#87978c;line-height:1.5!important;text-align:center;margin:9px 0 0!important}.change-offer{padding:10px;border-radius:6px;background:none;color:#347663;font-size:.85rem;text-decoration:underline;text-underline-offset:3px}.change-offer:hover{background:#ffffff66}
dialog{border:1px solid #d8e7dd;border-radius:20px;color:#1e382d;max-width:430px;width:calc(100% - 34px);padding:27px;box-shadow:0 24px 80px #0837264a}dialog::backdrop{background:#0d2e2569;backdrop-filter:blur(3px)}.dialog-icon{background:#e8f3eb;border-radius:12px;color:var(--green);width:43px;height:43px;display:grid;place-items:center;font-size:1.7rem}.restart-content h2{font-size:1.3rem;letter-spacing:-.03em;margin:20px 0 9px}.restart-content p{font-size:.94rem;line-height:1.65;color:#65796b;margin:0 0 23px}.dialog-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.dialog-actions button{font-size:.84rem;min-height:44px;padding:11px 14px;border-radius:9px}.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}.noscript{position:fixed;inset:30% 10% auto;padding:25px;background:white;border:2px solid #075e54;z-index:5;border-radius:12px}
.checkout-button.retired{background:#e9eeea;color:#6b7e73;pointer-events:none;box-shadow:none}
@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,60%,100%{transform:translateY(0);opacity:.6}30%{transform:translateY(-4px);opacity:1}}
@media(min-width:1500px){.chat-shell{height:calc(100dvh - 80px);margin:40px auto}}
@media(max-width:700px){body{background:#efeae2}.chat-shell{width:100%;height:100dvh;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none}.chat-header{padding:13px 16px;padding-top:max(13px,env(safe-area-inset-top));background:var(--deep);color:#fff;gap:11px}.contact h1{font-size:1.05rem}.contact p{color:#d4e5df;font-size:.8rem}.header-avatar{width:43px;height:43px;border:1px solid #ffffff5e;box-shadow:none}.small-cross{color:#dcc79a}.icon-button{color:#d7e7df}.icon-button:hover{background:#ffffff13}.conversation-inner{padding:16px 13px 22px}.session-note{font-size:.75rem;margin-bottom:18px}.bubble{max-width:calc(100% - 38px);padding:11px 12px 7px}.bubble p{font-size:1rem;line-height:1.55}.message-row{gap:7px}.message-avatar{width:28px;height:28px}.photo-bubble{max-width:min(85%,285px);padding:4px}.welcome-image{max-height:none;object-position:center}.choices{padding-left:35px;gap:8px;margin-top:13px}.choice-button{font-size:.86rem;min-height:47px;padding:13px 15px}.choices.stack .choice-button{width:min(100%,340px)}.choices.amounts{padding-left:35px;max-width:380px;width:100%;gap:9px}.amounts .choice-button{font-size:1rem;padding:14px 7px}.composer-wrap{padding:10px 12px max(8px,env(safe-area-inset-bottom))}.composer{gap:8px}textarea{padding:12px;min-height:46px;font-size:1rem}.send-button{width:45px;height:45px}.summary-bubble{padding:6px 6px 9px;width:calc(100% - 35px);max-width:420px}.offer-banner{padding:20px 16px 17px}.offer-banner h2{font-size:1.23rem}.summary-details{padding:0 10px 9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.prayer-section-label{align-self:center;margin:18px 0 8px;padding:8px 16px;border-radius:10px;background:#f8fcf3dd;color:#235e46;border:1px solid #ccddc6;font-size:.875rem;font-weight:600;letter-spacing:.015em}.prayer-message .bubble{border-left:2px solid #98b79b}.prayer-message .bubble p{font-size:1.0625rem;line-height:1.7}

.choices.topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:540px;margin-left:auto}.choices.topics .choice-button{min-width:0;font-size:1rem;padding:13px 10px}.choices.topics .choice-button:last-child{grid-column:1/-1}
