html.home-welcome-pending body > header,
html.home-welcome-pending body > main,
html.home-welcome-pending body > footer {
  visibility: hidden;
}
.home-header { position: sticky; z-index: 9000; top: 0; max-width: none; padding-right: max(24px,calc((100vw - 1172px)/2)); padding-left: max(24px,calc((100vw - 1172px)/2)); border-bottom: 1px solid #e5e1f0cc; background: #faf9fff0; box-shadow: 0 7px 24px #30235f0b; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); transition: height .24s ease,background .24s ease,box-shadow .24s ease; }
.home-header .home-brand-mark,.home-header .home-brand strong,.home-header .home-brand small,.home-header nav,.home-header .home-button { transition: width .24s ease,height .24s ease,padding .24s ease,font-size .24s ease,box-shadow .24s ease; }
.home-header.is-compact { height: 60px; background: #fffefa; box-shadow: 0 9px 28px #30235f16; }
.home-header.is-compact .home-brand-mark { width: 35px; height: 35px; border-radius: 10px; font-size: .95rem; }
.home-header.is-compact .home-brand strong { font-size: .94rem; }
.home-header.is-compact .home-brand small { font-size: .64rem; }
.home-header.is-compact nav { gap: 20px; font-size: .82rem; }
.home-header.is-compact .home-button { padding: 9px 15px; }
.home-header nav a.nav-active { position: relative; color: var(--purple); }
.home-header nav a.nav-active::after { position: absolute; right: 0; bottom: -8px; left: 0; height: 3px; border-radius: 99px; background: linear-gradient(90deg,var(--purple),var(--pink)); content: ""; }

.home-welcome-open > header,
.home-welcome-open > main,
.home-welcome-open > footer {
  filter: blur(6px);
  pointer-events: none;
  user-select: none;
}

body.home-welcome-open { overflow: hidden; }
.home-share-trigger { position: fixed; z-index: 9998; right: 22px; bottom: max(22px,env(safe-area-inset-bottom)); display: inline-flex; align-items: center; gap: 7px; padding: 11px 15px; border: 1px solid #d9d2f1; border-radius: 12px; background: #fff; color: var(--purple); box-shadow: 0 10px 30px #30235f24; font: inherit; font-size: .8rem; cursor: pointer; opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(12px) translateY(4px); transition: opacity .2s,visibility .2s,transform .2s,background .18s,box-shadow .18s; }
.home-share-trigger.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(0); }
.home-share-trigger:hover,.home-share-trigger[aria-expanded="true"] { transform: translateY(-2px); background: #f7f4ff; box-shadow: 0 14px 35px #30235f32; }
.home-share-trigger span { font-size: 1rem; }
.home-scroll-signup { position: fixed; z-index: 9998; right: 137px; bottom: max(22px,env(safe-area-inset-bottom)); display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 10px 16px; border-radius: 12px; background: linear-gradient(135deg,#6849d2,#4f30af); color: #fff; box-shadow: 0 11px 28px #5234b343; font-size: .8rem; font-weight: 800; opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(12px) translateY(4px); transition: opacity .2s,visibility .2s,transform .2s,box-shadow .18s; }
.home-scroll-signup strong { font-size: .79rem; line-height: 1.1; }
.home-scroll-signup small { position: absolute; top: -10px; right: -9px; display: inline-flex; align-items: center; gap: 4px; width: max-content; padding: 4px 7px; border: 2px solid #fff; border-radius: 99px; background: linear-gradient(135deg,#f13b96,#d71975); color: #fff; box-shadow: 0 5px 13px #a4105838; font-size: .56rem; font-weight: 850; line-height: 1; letter-spacing: .01em; }
.home-scroll-signup small span { font-size: .55rem; font-weight: 900; }
.home-scroll-signup.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(0); }
.home-scroll-signup:hover { transform: translateY(-2px); box-shadow: 0 15px 34px #5234b354; }
.home-share-dialog { position: fixed; z-index: 9997; inset: auto 22px 78px auto; width: min(500px,calc(100% - 28px)); max-width: none; margin: 0; padding: 0; border: 1px solid #ddd7ef; border-radius: 20px; background: #fff; color: var(--ink); box-shadow: 0 24px 70px #17112638; }
.home-share-dialog::backdrop { display: none; }
.home-share-panel { padding: 27px; }
.home-share-head { display: flex; justify-content: space-between; gap: 20px; }
.home-share-head h2 { margin: 2px 0 8px; font-size: 1.65rem; }
.home-share-head p:last-child { max-width: 430px; margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.55; }
.home-share-close { flex: 0 0 auto; width: 36px; height: 36px; border: 0; border-radius: 10px; background: #f2f3f7; color: #5a6476; font-size: 1.3rem; cursor: pointer; }
.home-share-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 23px; }
.home-share-grid a,.home-share-grid button { display: flex; align-items: center; gap: 11px; min-height: 52px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); font: inherit; font-size: .82rem; cursor: pointer; transition: transform .16s,border-color .16s,box-shadow .16s; }
.home-share-grid a:hover,.home-share-grid button:hover { transform: translateY(-1px); border-color: #cfc5ef; box-shadow: 0 7px 18px #37287512; }
.home-share-grid a > span,.home-share-grid button > span:first-child { display: grid; place-items: center; flex: 0 0 auto; width: 31px; height: 31px; border-radius: 9px; color: #fff; font-weight: 900; }
.home-share-grid .facebook > span { background: #1877f2; }
.home-share-grid .linkedin > span { background: #0a66c2; font-size: .7rem; }
.home-share-grid .whatsapp > span { background: #1fa855; }
.home-share-grid .email > span { background: #7355d6; }
.home-share-grid .copy { grid-column: 1/-1; }
.home-share-grid .copy > span:first-child { background: #30394b; }

.home-welcome-dialog {
  width: min(900px, calc(100% - 28px));
  max-width: 900px;
  max-height: calc(100vh - 28px);
  padding: 0;
  border: 0;
  border-radius: 22px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 28px 100px #10182855;
  overflow: hidden;
}

.home-welcome-dialog:not([open]) { display: none; }
.home-welcome-dialog::backdrop { background: #1018288c; backdrop-filter: blur(5px); }
.home-welcome-panel { display: flex; max-height: calc(100vh - 28px); flex-direction: column; }
.home-welcome-header { display: flex; align-items: center; gap: 17px; padding: 24px 28px; border-bottom: 1px solid #ddd8ed; background: linear-gradient(130deg,#fff,#eee8ff); }
.home-welcome-logo { display: grid; place-items: center; flex: 0 0 auto; width: 62px; height: 62px; border-radius: 18px; background: linear-gradient(135deg,var(--purple),var(--pink)); color: #fff; font-size: 1.55rem; font-weight: 900; box-shadow: 0 10px 25px #5b3cc433; }
.home-welcome-header .home-eyebrow { margin-bottom: 3px; }
.home-welcome-header h2 { margin: 2px 0 6px; font-size: 1.65rem; }
.home-welcome-header p:last-child { margin: 0; color: var(--muted); font-size: .84rem; }
.home-welcome-content { display: grid; flex: 1 1 auto; min-height: 0; gap: 13px; padding: 20px 28px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.home-welcome-content section,
.home-welcome-medical { padding: 17px; border: 1px solid var(--line); border-radius: 14px; }
.home-welcome-content h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: .9rem; }
.home-welcome-content h3 span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; background: #eee8ff; color: var(--purple); }
.home-welcome-content p { margin: 0 0 9px; color: #4f5b6d; font-size: .77rem; line-height: 1.55; }
.home-welcome-content p:last-child { margin-bottom: 0; }
.home-welcome-nonprofit { background: #fff8fc; }
.home-welcome-nonprofit h3 span { background: #ffe8f3; color: #d92b82; }
.home-origin { display: grid; grid-template-columns: 74px minmax(0,1fr); align-items: start; gap: 24px; max-width: 1120px; margin: 80px auto; padding: 38px 44px; border: 1px solid #ead8e4; border-radius: 24px; background: linear-gradient(135deg,#fff,#fff7fb); box-shadow: 0 18px 55px #6e315512; }
.home-origin-mark { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 18px; background: #ffe8f3; color: #d92b82; font-size: 1.6rem; }
.home-origin h2 { margin: 3px 0 14px; font-size: clamp(1.65rem,3vw,2.35rem); letter-spacing: -.03em; }
.home-origin p:not(.home-eyebrow) { max-width: 900px; margin: 0 0 10px; color: var(--muted); font-size: .98rem; line-height: 1.7; }
@media (max-width: 700px) { .home-origin { grid-template-columns: 1fr; gap: 15px; margin: 48px 16px; padding: 26px 22px; } .home-origin-mark { width: 52px; height: 52px; border-radius: 15px; } .home-origin p:not(.home-eyebrow) { font-size: .9rem; } }
.home-feedback { display: grid; grid-template-columns: 74px minmax(0,1fr); align-items: start; gap: 24px; max-width: 1120px; margin: 80px auto; padding: 38px 44px; border: 1px solid #dcd5f4; border-radius: 24px; background: linear-gradient(135deg,#fff,#f7f4ff); box-shadow: 0 18px 55px #30235f12; }
.home-feedback-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 18px; background: #eee8ff; color: var(--purple); font-size: 1.55rem; }
.home-feedback h2 { max-width: 800px; margin: 3px 0 12px; font-size: clamp(1.55rem,3vw,2.25rem); letter-spacing: -.03em; }
.home-feedback > div > p:not(.home-eyebrow) { max-width: 820px; margin: 0; color: var(--muted); font-size: .98rem; line-height: 1.7; }
.home-feedback-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.home-donation { /*display: grid; grid-template-columns: 105px minmax(0,1fr) auto; */align-items: center; gap: 28px; max-width: 1120px; margin: 80px auto; padding: 34px 40px; border: 1px solid #f0d9a9; border-radius: 24px; background: linear-gradient(135deg,#fffdf8,#fff7e8); box-shadow: 0 18px 55px #8d611315; }
.home-donation-visual { display: flex; align-items: center; justify-content: center; flex-direction: column; width: 92px; height: 92px; border-radius: 25px; background: linear-gradient(145deg,#ffdf8c,#ffc95c); color: #6f4800; box-shadow: 0 12px 28px #9b691c22; }
.home-donation-visual span { font-size: 1.65rem; line-height: 1; }
.home-donation-visual small { margin-top: 7px; font-size: .62rem; font-weight: 850; text-transform: uppercase; }
.home-donation-copy h2 { margin: 3px 0 10px; font-size: clamp(1.5rem,2.7vw,2.1rem); letter-spacing: -.03em; }
.home-donation-copy > p:not(.home-eyebrow) { max-width: 720px; margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.65; }
.home-donation-copy .home-donation-note { margin-top: 8px !important; color: #8b641c !important; font-size: .72rem !important; font-weight: 750; }
.home-donation-button { gap: 8px; white-space: nowrap; background: #ffdd00; color: #302900; box-shadow: 0 10px 25px #947f0028; margin-top: 1rem; }
.home-donation-button:hover { box-shadow: 0 14px 30px #947f0038; }
.home-footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 18px; }
.home-footer-links a { color: var(--muted); font-weight: 700; }
.home-footer-links a:hover { color: var(--purple); }
@media (max-width: 700px) { .home-feedback { grid-template-columns: 1fr; gap: 15px; margin: 48px 16px; padding: 26px 22px; } .home-feedback-icon { width: 52px; height: 52px; border-radius: 15px; } .home-feedback > div > p:not(.home-eyebrow) { font-size: .9rem; } .home-feedback-actions { flex-direction: column; } .home-feedback-actions .home-button { justify-content: center; width: 100%; text-align: center; } .home-footer-links { justify-content: flex-start; } }
@media (max-width: 760px) { .home-donation { grid-template-columns: 1fr; gap: 18px; margin: 48px 16px; padding: 26px 22px; } .home-donation-visual { width: 70px; height: 70px; border-radius: 20px; } .home-donation-visual small { display: none; } .home-donation-button { width: 100%; } }
@media (max-width: 560px) { .home-share-trigger { right: 10px; bottom: max(10px,env(safe-area-inset-bottom)); } .home-scroll-signup { right: 126px; bottom: max(10px,env(safe-area-inset-bottom)); padding: 10px 12px; } .home-scroll-signup small { right: -5px; } .home-share-dialog { right: 10px; bottom: max(65px,calc(env(safe-area-inset-bottom) + 65px)); width: calc(100% - 20px); } .home-share-panel { padding: 21px; } .home-share-grid { grid-template-columns: 1fr 1fr; } .home-share-grid .copy { grid-column: 1/-1; } }
@media (max-width: 380px) { .home-header .home-brand small { display: none; } .home-header .home-brand-mark { width: 38px; height: 38px; } .home-header nav { gap: 5px; } .home-header nav .home-button { padding: 9px 10px; font-size: .76rem; } }
@media (max-width: 560px) { .home-header { padding-right: 16px; padding-left: 16px; } }
.home-welcome-conclusion { margin-top: 12px !important; padding-top: 10px; border-top: 1px dashed #e3cbd7; color: #8c4163 !important; font-weight: 700; }
.home-welcome-privacy { background: #f5fbff; }
.home-welcome-privacy h3 span { background: #e4f2ff; color: #0873c5; }
.home-welcome-privacy ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px 22px; margin: 0; padding-left: 18px; color: #40566c; font-size: .74rem; line-height: 1.45; }
.home-welcome-medical { display: flex; gap: 12px; background: #fff8e8; border-color: #f0dba7; }
.home-welcome-medical > span { font-size: 1.45rem; color: #9a6810; }
.home-welcome-medical strong { font-size: .8rem; color: #79510e; }
.home-welcome-medical p { margin: 4px 0 0; color: #765f36; }
.home-welcome-footer { display: flex; align-items: center; justify-content: center; flex-direction: row; gap: 0; max-width: none; margin: 0; padding: 15px 28px 20px; border-top: 1px solid var(--line); background: #fff; }
.home-welcome-footer .home-button { min-width: 190px; border: 0; cursor: pointer; }

@media (max-width: 700px) {
  .home-welcome-dialog { width: calc(100% - 16px); max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); border-radius: 18px; }
  .home-welcome-panel { height: calc(100vh - 16px); height: calc(100dvh - 16px); max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); }
  .home-welcome-header { align-items: flex-start; padding: 19px; }
  .home-welcome-logo { width: 48px; height: 48px; border-radius: 14px; }
  .home-welcome-header h2 { font-size: 1.3rem; }
  .home-welcome-content { padding: 14px 17px; }
  .home-welcome-privacy ul { grid-template-columns: 1fr; }
  .home-welcome-footer { align-items: center; flex-direction: row; padding: 12px 17px max(16px,env(safe-area-inset-bottom)); }
  .home-welcome-footer .home-button { width: 100%; min-height: 48px; }
}

@media (max-width: 480px) {
  .home-welcome-dialog { width: calc(100% - 8px); max-height: calc(100vh - 8px); max-height: calc(100dvh - 8px); border-radius: 15px; }
  .home-welcome-panel { height: calc(100vh - 8px); height: calc(100dvh - 8px); max-height: calc(100vh - 8px); max-height: calc(100dvh - 8px); }
  .home-welcome-header { gap: 11px; padding: 14px 15px; }
  .home-welcome-logo { width: 42px; height: 42px; border-radius: 12px; font-size: 1.15rem; }
  .home-welcome-header .home-eyebrow { margin-bottom: 1px; font-size: .65rem; }
  .home-welcome-header h2 { margin: 0 0 4px; font-size: 1.14rem; line-height: 1.2; }
  .home-welcome-header p:last-child { font-size: .74rem; line-height: 1.35; }
  .home-welcome-content { gap: 9px; padding: 10px; }
  .home-welcome-content section,
  .home-welcome-medical { padding: 13px; border-radius: 11px; }
  .home-welcome-content h3 { margin-bottom: 8px; font-size: .84rem; }
  .home-welcome-content h3 span { width: 25px; height: 25px; }
  .home-welcome-content p,
  .home-welcome-privacy ul { font-size: .78rem; line-height: 1.5; }
  .home-welcome-privacy ul { gap: 6px; padding-left: 17px; }
  .home-welcome-medical { gap: 9px; }
  .home-welcome-medical > span { font-size: 1.2rem; }
  .home-welcome-footer { padding: 9px 10px max(10px,env(safe-area-inset-bottom)); }
}
