/* Tree of Hope: original interactive Cruelfang charity feature */
.hope-main{overflow:hidden;position:relative;padding-bottom:45px;background:radial-gradient(ellipse 65% 45% at 49% 42%,rgba(12,65,56,.26),transparent 85%)}
.hope-intro{text-align:center;max-width:900px;margin:0 auto;padding:66px 24px 14px;position:relative;z-index:2}
.hope-eyebrow{font-size:11px;letter-spacing:.28em;font-weight:800;color:#e5bd7e}
.hope-eyebrow span{margin-left:8px;color:#fbe9c0}
.hope-intro h1{margin:15px 0 16px;font:normal clamp(50px,6.2vw,92px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-.047em;color:#f7efe4;text-shadow:0 8px 35px rgba(0,0,0,.4)}
.hope-intro h1 em{font-weight:normal;font-style:italic;background:linear-gradient(115deg,#e5bc71,#fff1c7,#e4b870);-webkit-background-clip:text;background-clip:text;color:transparent}
.hope-intro>p{font-size:clamp(15px,1.4vw,19px);line-height:1.65;color:#c8c7cb;max-width:730px;margin:0 auto}
.hope-instruction{margin-top:23px;font-size:12px;letter-spacing:.09em;color:#d7bc85}
.hope-stage{max-width:1360px;margin:0 auto;min-height:710px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.83fr);align-items:center;gap:0;position:relative;padding:0 36px}
.hope-stars{position:absolute;inset:0;pointer-events:none}
.hope-stage:before{content:'';position:absolute;left:0;right:0;bottom:3%;height:130px;background:radial-gradient(ellipse,rgba(59,151,119,.12),transparent 63%);pointer-events:none}
.hope-tree-wrap{height:min(67vw,735px);min-height:610px;position:relative;z-index:1;margin-left:-40px}
.hope-tree-art{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 0 38px rgba(70,158,116,.2));user-select:none;pointer-events:none}
.hope-orb{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:47px;height:47px;border-radius:50%;border:1px solid color-mix(in srgb,var(--orb) 90%,white);background:radial-gradient(circle at 45% 37%,#fff8df 0 8%,var(--orb) 12%,color-mix(in srgb,var(--orb) 45%,#3b253b) 38%,rgba(26,27,37,.6) 72%);box-shadow:0 0 0 7px color-mix(in srgb,var(--orb) 9%,transparent),0 0 32px 8px color-mix(in srgb,var(--orb) 48%,transparent),inset 0 0 8px #fff5e4;display:flex;align-items:center;justify-content:center;color:#fff8e7;cursor:pointer;z-index:4;animation:hope-breathe 3.6s ease-in-out infinite;animation-delay:calc(var(--x) * -0.01);transition:scale .2s ease,box-shadow .2s ease}
.hope-orb:hover,.hope-orb:focus-visible,.hope-orb.selected{scale:1.18;box-shadow:0 0 0 9px color-mix(in srgb,var(--orb) 16%,transparent),0 0 48px 13px color-mix(in srgb,var(--orb) 60%,transparent),inset 0 0 12px #fff;outline:0}
.orb-dot{font-size:21px;text-shadow:0 0 10px #fff}
.orb-label{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:.03em;white-space:nowrap;font-weight:700;color:#faf0df;text-shadow:0 1px 7px #000,0 1px 16px #000;background:rgba(5,17,18,.65);border:1px solid rgba(255,255,255,.10);border-radius:14px;padding:4px 8px}
.hope-story{z-index:2;position:relative;margin-left:-20px;padding:38px 38px 34px;background:linear-gradient(140deg,rgba(20,34,35,.96),rgba(18,24,34,.95));border:1px solid rgba(225,188,115,.39);border-radius:24px;box-shadow:0 20px 75px rgba(0,0,0,.52),0 0 65px rgba(84,138,109,.09),inset 0 1px 0 rgba(255,255,255,.07);max-width:460px;min-height:405px}
.story-sparkle{font-size:32px;color:#f0ce87;margin-bottom:12px}.story-kicker{font-size:11px;font-weight:800;letter-spacing:.22em;color:#d6ad70}
.hope-story h2{font:normal clamp(25px,2.6vw,36px)/1.22 Georgia,serif;color:#f7f0e5;margin:19px 0}.hope-story h2 em{font-style:italic;font-weight:normal;color:#eac48b}
.hope-story>p:not(.story-hint){font-size:15px;color:#cfd0d0;line-height:1.8;margin:0 0 20px}
.story-message{padding:14px 17px;border-left:2px solid #eac38a;background:rgba(226,187,117,.07);border-radius:0 9px 9px 0;color:#f3d7ab;font:italic 16px/1.5 Georgia,serif}
.story-dots{display:flex;gap:8px;margin-top:24px}.story-dots span{width:19px;height:4px;background:#626a67;border-radius:4px}.story-dots span.on{width:36px;background:#f0ce8d;box-shadow:0 0 10px #e9be74}
.story-hint{font-size:12px!important;color:#8f9f9e!important;margin-top:15px!important}
.hope-closing{text-align:center;margin:0 auto 40px;max-width:820px;padding:20px 25px 56px;position:relative}.hope-heart{color:#ecb8a6;font-size:29px;text-shadow:0 0 30px #b67e68}.hope-closing h2{font:normal clamp(28px,3.2vw,44px)/1.2 Georgia,serif;color:#f1d6a3;margin:9px 0 15px}.hope-closing>p{color:#cecbd0;line-height:1.7;max-width:650px;margin:0 auto 15px}.hope-closing .hope-signature{font:italic 20px Georgia,serif;color:#dfbf9d}.hope-actions{display:flex;gap:13px;align-items:center;justify-content:center;flex-wrap:wrap;margin:27px 0}.hope-donate{border:1px solid #9bc0a5;border-radius:13px;color:#d0edda;padding:13px 20px;font-weight:700;background:rgba(36,97,66,.15)}.hope-closing small{display:block;font-size:11px;line-height:1.5;color:#8c949a}
@keyframes hope-breathe{0%,100%{filter:brightness(.85)}50%{filter:brightness(1.24)}}
@media(max-width:920px){.hope-stage{display:flex;flex-direction:column;min-height:0;padding:0 16px}.hope-tree-wrap{width:100%;max-width:680px;height:680px;min-height:0;margin:0}.hope-story{max-width:670px;width:100%;margin:-15px 0 38px;min-height:0}.hope-intro{padding-top:53px}}
@media(max-width:570px){.hope-intro h1{font-size:53px}.hope-instruction{font-size:10px}.hope-tree-wrap{height:490px}.hope-orb{width:34px;height:34px}.orb-dot{font-size:17px}.orb-label{font-size:10px;padding:3px 5px}.hope-story{padding:28px 24px}.hope-stage{padding:0 10px}.hope-intro{padding-left:15px;padding-right:15px}}
@media(prefers-reduced-motion:reduce){.hope-orb{animation:none}}
