.home-page{font-family:Inter,"Segoe UI",Arial,sans-serif;background:#141414;color:#f3f0eb}.home-shell{max-width:1190px;padding:0 44px;margin:auto}.home-intro{padding:48px 0 34px}.home-intro h1{font-size:clamp(36px,4.5vw,56px);font-weight:700;letter-spacing:-2px;line-height:1.08;margin:0}.home-intro h1>span{color:#e15b5b}.effect-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.effect-card{position:relative;min-width:0;border:1px solid #3c3a39;border-radius:18px;background:#1d1d1d;overflow:hidden;transition:border-color .2s}.effect-card:hover,.effect-card:focus-within{border-color:#b86e69}.effect-link{display:flex;flex-direction:column;height:100%}.effect-link:focus-visible{outline-offset:-5px;border-radius:17px}.effect-demo{height:222px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #383635}.effect-details{padding:25px 27px 23px;display:flex;flex:1;flex-direction:column}.effect-heading{display:flex;justify-content:space-between;gap:18px;align-items:start}.effect-heading h2{font-size:24px;font-weight:700;line-height:1.25;letter-spacing:-.6px;max-width:280px}.effect-price{margin:0;white-space:nowrap;font-size:25px;font-weight:700;letter-spacing:-.6px;line-height:1.2;text-align:right}.effect-price span{display:block;font-size:12px;font-weight:400;color:#bab3ad;letter-spacing:0;margin-top:6px}.effect-details>p{color:#c0b9b3;font-size:15px;line-height:1.6;margin:12px 0 23px}.effect-action{display:flex;align-items:center;gap:12px;color:#f1b8b2;font-size:15px;font-weight:600;margin-top:auto}.effect-action>span:last-child{margin-left:auto;font-size:23px;font-weight:400}.planned-badge{font-size:11px;color:#d6c4a6;border:1px solid #61533e;background:#2c2821;border-radius:6px;padding:5px 7px;white-space:nowrap}
.message-demo{background:#252020;padding:28px}.mini-alert{width:100%;max-width:420px;border:1px solid #6b3b39;border-bottom:3px solid #c52d2d;border-radius:11px;background:#2b2a2a;box-shadow:0 12px 30px #0003;padding:15px 17px;transform:rotate(-2deg);transition:transform .3s}.effect-card:hover .mini-alert,.effect-card:focus-within .mini-alert{transform:rotate(0)}.mini-top{display:flex;align-items:center;gap:10px}.mini-top img{border-radius:8px;background:white;padding:2px;object-fit:contain}.mini-top span{font-size:9px;font-weight:700;letter-spacing:.7px;display:block;color:#c7c3bf}.mini-top strong{font-size:17px;display:block;margin-top:2px;font-weight:700}.mini-top b{margin-left:auto;font-size:18px}.mini-alert p{min-height:57px;color:#eee9e4;font-size:14px;line-height:1.6;margin:12px 0 0;padding-top:10px;border-top:1px solid #ffffff13}.typing-caret{display:none;width:2px;height:14px;background:#ffb1aa;vertical-align:-2px;margin-left:2px}.is-typing .typing-caret{display:inline-block;animation:caret .6s steps(1) infinite}
.sound-demo{background:#262625;gap:30px}.bonk-art{position:relative;width:188px;height:188px;background:white;border-radius:12px;overflow:hidden;transform:rotate(-5deg);transition:transform .2s}.bonk-art img{width:100%;height:100%;display:block;object-fit:contain}.bonk-word-cover{position:absolute;inset:0;background:white;clip-path:polygon(60% 15%,99% 4%,99% 24%,60% 37%);transition:opacity .15s}.bonk-caption{font-size:36px;font-weight:800;letter-spacing:-1px;color:#ffe4b3;transform:rotate(8deg) scale(.85);opacity:0;transition:opacity .15s,transform .2s}.sound-rings{position:absolute;right:19%;top:28%;display:flex;align-items:center;gap:5px;opacity:0}.sound-rings i{display:block;width:5px;height:20px;border-radius:4px;background:#ffd99c}.sound-rings i:nth-child(2){height:33px}.sound-rings i:nth-child(3){height:14px}.sound-effect:hover .bonk-art,.sound-effect:focus-within .bonk-art,.sound-effect.is-playing .bonk-art{transform:rotate(2deg)}.sound-effect:hover .bonk-word-cover,.sound-effect:focus-within .bonk-word-cover{opacity:0}.sound-effect:hover .bonk-caption,.sound-effect:focus-within .bonk-caption,.sound-effect.is-playing .bonk-caption{opacity:1;transform:rotate(8deg) scale(1)}.sound-effect.is-playing .sound-rings{opacity:1}.home-sound-preview{position:absolute;right:15px;top:174px;display:flex;align-items:center;gap:5px;background:#3a3935;color:#f6eee3;border:1px solid #696257;border-radius:7px;padding:7px 9px;min-height:40px;font-size:12px;font-weight:600}.home-sound-preview:hover{background:#514a3f}.home-sound-preview svg{width:16px;height:16px}
.voice-demo{background:#212327;gap:23px;padding:25px}.speech-bubble{position:relative;background:#303a46;border:1px solid #536171;border-radius:15px 15px 4px 15px;padding:18px 20px;font-size:20px;font-weight:600;line-height:1.4;transform:rotate(-4deg);transition:transform .3s}.speech-flow{display:flex;gap:4px}.speech-flow i{height:4px;width:4px;background:#96a9bd;border-radius:50%}.voice-wave{height:85px;display:flex;align-items:center;gap:5px}.voice-wave i{width:5px;height:24px;background:#90bddb;border-radius:4px;transform-origin:center}.voice-wave i:nth-child(2n){height:46px}.voice-wave i:nth-child(3n){height:70px}.voice-wave i:nth-child(4n){height:36px}.voice-wave i:nth-child(5n){height:57px}.voice-labels{position:absolute;bottom:19px;left:0;right:0;display:flex;justify-content:center;gap:8px}.voice-labels span{border:1px solid #4d5966;color:#b8cad9;background:#272d35;border-radius:20px;padding:5px 12px;font-size:12px}.voice-effect:hover .speech-bubble,.voice-effect:focus-within .speech-bubble{transform:rotate(0) translateX(4px)}.voice-effect:hover .voice-wave i,.voice-effect:focus-within .voice-wave i{animation:speak-wave .55s ease-in-out infinite alternate}.voice-wave i:nth-child(2n){animation-delay:-.25s!important}.voice-wave i:nth-child(3n){animation-delay:-.4s!important}.voice-effect:hover .speech-flow i,.voice-effect:focus-within .speech-flow i{animation:flow .8s ease-in-out infinite}.speech-flow i:nth-child(2){animation-delay:.15s!important}.speech-flow i:nth-child(3){animation-delay:.3s!important}
.lighting-demo{background:#1d1b22}.shelf-scene{position:relative;width:220px;height:190px;display:grid;place-items:center}.shelf-unit{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);gap:5px;width:155px;height:174px;background:#5a4e47;padding:6px;border-radius:4px;box-shadow:8px 8px 0 #0e0d10}.shelf-cubby{background:#25242a;position:relative;display:flex;justify-content:center;align-items:flex-end;overflow:hidden}.shelf-light{position:absolute;inset:10px 29px 0;border-radius:9px;background:#a2000030;box-shadow:0 0 40px 13px #a2000080;animation:shelf-colours 8s linear infinite;animation-play-state:paused}.lighting-effect:hover .shelf-light,.lighting-effect:focus-within .shelf-light{animation-play-state:running}.lighting-caption{position:absolute;bottom:11px;right:17px;font-size:11px;font-weight:500;color:#c4babd}.shelf-headphones{position:absolute;bottom:8px;width:23px;height:25px;border:4px solid #8c8a92;border-bottom:0;border-radius:17px 17px 5px 5px}.shelf-headphones:after{content:"";position:absolute;left:2px;right:2px;bottom:0;height:11px;border-left:4px solid #8c8a92;border-right:4px solid #8c8a92}.shelf-books{display:flex;gap:3px;align-items:flex-end;padding-bottom:2px}.shelf-books i{display:block;width:9px;height:28px;background:#87635e}.shelf-books i:nth-child(2){height:35px;background:#78868d;transform:rotate(9deg)}.shelf-books i:nth-child(3){height:25px;background:#b0a086}.shelf-controller{width:40px;height:21px;background:#aaa4a1;border-radius:12px 12px 6px 6px;position:absolute;bottom:7px;color:#39353a;text-align:center;font-size:15px;font-weight:bold}.shelf-plant{position:absolute;bottom:0;width:20px;height:16px;background:#a98570;border-radius:1px 1px 6px 6px}.shelf-plant i{position:absolute;background:#667c6b;width:8px;height:19px;border-radius:50%;top:-17px;left:6px}.shelf-plant i:nth-child(2){transform:rotate(-38deg);left:0;top:-15px}.shelf-plant i:nth-child(3){transform:rotate(38deg);left:12px;top:-15px}.shelf-camera{width:35px;height:24px;background:#79767b;border-radius:3px;position:absolute;bottom:5px}.shelf-camera:before{content:"";position:absolute;left:5px;top:-5px;background:#79767b;width:12px;height:7px;border-radius:2px}.shelf-camera i{width:16px;height:16px;border:3px solid #3b3a42;border-radius:50%;position:absolute;top:4px;left:10px;background:#566878}.shelf-mug{position:absolute;bottom:5px;width:22px;height:27px;background:#b4a99f;border-radius:2px 2px 6px 6px}.shelf-mug:after{content:"";position:absolute;right:-9px;top:3px;width:9px;height:14px;border:3px solid #b4a99f;border-left:0;border-radius:0 6px 6px 0}
.donation-journey{padding:55px 0 48px}.donation-journey>h2,.home-faq>h2{font-size:27px;font-weight:700;letter-spacing:-.7px;margin:0 0 25px}.journey-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none;margin:0;padding:0}.journey-steps li{position:relative;background:#202020;border:1px solid #403b38;border-radius:15px;padding:25px 23px;min-width:0}.journey-steps li:not(:last-child):after{content:"→";position:absolute;right:-25px;top:47%;color:#d3aaa4;font-size:25px;line-height:1}.journey-number{position:absolute;right:20px;top:20px;color:#a8a19b;font-size:15px;font-weight:600}.journey-steps svg{display:block;height:35px;width:35px;color:#e3b2ac;margin-bottom:20px}.journey-steps h3{font-size:18px;font-weight:650;line-height:1.35;margin:0 0 12px;letter-spacing:-.3px}.journey-steps p{font-size:15px;line-height:1.65;color:#bfb8b2;margin:0}.journey-steps strong{font-weight:600;color:#eee5df}.home-faq{padding:3px 0 55px}.faq-list{border-top:1px solid #403b38}.faq-list details{border-bottom:1px solid #403b38}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:21px 0;font-size:17px;font-weight:600;line-height:1.4}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:#d5aba5;font-size:24px;font-weight:400;line-height:1}.faq-list details[open] summary:after{content:"−"}.faq-list p{margin:0;padding:0 35px 23px 0;max-width:800px;color:#bfb7b0;font-size:15px;line-height:1.75}
@keyframes caret{50%{opacity:0}}@keyframes speak-wave{to{transform:scaleY(.3)}}@keyframes flow{50%{transform:translateX(4px);opacity:.25}}@keyframes shelf-colours{0%,100%{background:#d8333333;box-shadow:0 0 40px 13px #cf333385}25%{background:#b235ed33;box-shadow:0 0 40px 13px #b235ed85}50%{background:#3c89e033;box-shadow:0 0 40px 13px #3c89e085}75%{background:#37cd8b33;box-shadow:0 0 40px 13px #37cd8b85}}
@media(max-width:950px){.effect-heading{display:block}.effect-price{text-align:left;margin-top:11px;font-size:23px}.effect-price span{display:inline;font-size:12px;margin-left:5px}.effect-demo{height:210px}.home-sound-preview{top:162px}.sound-demo{gap:14px}.bonk-art{width:164px;height:164px}.bonk-caption{font-size:30px}.voice-demo{gap:14px;padding:20px}.speech-bubble{font-size:17px;padding:16px}.voice-wave{gap:4px}.voice-wave i{width:4px}.effect-heading h2{font-size:23px}}
@media(max-width:760px){.home-shell{max-width:590px;padding:0 23px}.home-intro{padding:32px 0 26px}.home-intro h1{font-size:39px;letter-spacing:-1.6px;line-height:1.1}.effect-menu{grid-template-columns:1fr;gap:20px}.effect-demo{height:215px}.effect-details{padding:23px}.effect-heading{display:flex}.effect-heading h2{font-size:23px;max-width:210px}.effect-price{margin:0;text-align:right;white-space:nowrap;font-size:24px}.effect-price span{display:block;font-size:11px;margin:6px 0 0}.effect-details>p{font-size:15px;margin:12px 0 20px}.effect-action{font-size:14px;gap:10px}.message-demo{padding:23px}.mini-alert{padding:14px}.mini-alert p{font-size:13px;min-height:56px}.sound-demo{gap:23px}.bonk-art{width:177px;height:177px}.home-sound-preview{top:167px}.bonk-caption{font-size:33px}.voice-demo{gap:18px}.speech-bubble{font-size:19px}.voice-wave{gap:4px}.voice-wave i{width:4px}.donation-journey{padding:38px 0 35px}.donation-journey>h2,.home-faq>h2{font-size:25px;margin-bottom:23px}.journey-steps{grid-template-columns:1fr;gap:31px}.journey-steps li{padding:23px;min-height:190px}.journey-steps li:not(:last-child):after{content:"↓";right:auto;left:calc(50% - 6px);top:auto;bottom:-29px;font-size:25px}.journey-steps svg{margin-bottom:17px}.journey-steps h3{font-size:19px}.journey-steps p{font-size:15px}.home-faq{padding-bottom:35px}.faq-list summary{font-size:16px;padding:20px 0}.faq-list p{font-size:15px;padding-right:12px}.lighting-caption{font-size:10px;right:12px;bottom:10px}}
@media(max-width:365px){.home-shell{padding:0 17px}.home-intro h1{font-size:35px}.effect-details{padding:21px}.effect-heading{display:block}.effect-price{margin-top:9px;text-align:left}.effect-price span{display:inline;margin-left:5px;font-size:12px}.effect-demo{height:205px}.home-sound-preview{top:158px;font-size:11px}.bonk-art{width:153px;height:153px}.bonk-caption{font-size:28px}.sound-demo{gap:18px}.voice-demo{gap:12px;padding:18px}.speech-bubble{font-size:16px;padding:15px}.voice-wave{gap:3px}.voice-wave i{width:3px}.speech-flow{gap:3px}.speech-flow i{height:3px;width:3px}.planned-badge{font-size:10px}}
@media(prefers-reduced-motion:reduce){.typing-caret{display:none!important}.shelf-light{animation:none!important}.bonk-caption{transform:none!important}.mini-alert,.speech-bubble{transform:none!important}.home-page *, .home-page *:before,.home-page *:after{animation:none!important;transition:none!important}}
/* Dark-to-lit shelf preview. The heart grows once per hover/focus, then resets. */
.room-frame{position:absolute;width:100%;aspect-ratio:726/935;left:0;top:50%;transform:translateY(-50%)}.room-photo{display:block;width:100%;height:auto;filter:brightness(.28) saturate(.05);transition:filter .55s ease}.room-colour-wash{position:absolute;left:0;top:9%;width:63%;height:84%;mix-blend-mode:color;background:#bd43e0;opacity:0;mask-image:radial-gradient(ellipse at 40% 50%,#000 35%,transparent 73%);animation:room-colours 9s linear infinite paused;transition:opacity .55s ease}.pixel-light-preview{position:absolute;left:16.3%;top:45.2%;width:14.9%;height:6.2%;border-radius:2px;background:#080b10;transform:rotate(-2deg);display:grid;place-items:center;overflow:hidden;border:1px solid #1c222b;box-shadow:0 0 0 transparent;transition:box-shadow .55s}.pixel-heart{width:47%;height:62%;background:#f3679d;clip-path:polygon(0 16%,16% 16%,16% 0,37% 0,37% 16%,63% 16%,63% 0,84% 0,84% 16%,100% 16%,100% 50%,84% 50%,84% 66%,66% 66%,66% 84%,50% 100%,34% 84%,34% 66%,16% 66%,16% 50%,0 50%);transform:scale(0);transform-origin:center;opacity:0;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .25s;animation:pixel-colours 9s linear infinite paused;image-rendering:pixelated}.lighting-caption{padding:5px 8px;background:#17151bd9;border-radius:5px;color:#fff}.lighting-demo:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -30px 30px #0003}
.lighting-effect:has(.effect-link:focus-visible) .room-photo,.lighting-effect.is-light-preview .room-photo{filter:brightness(1) saturate(1)}.lighting-effect:has(.effect-link:focus-visible) .room-colour-wash,.lighting-effect.is-light-preview .room-colour-wash{opacity:.45;animation-play-state:running}.lighting-effect:has(.effect-link:focus-visible) .pixel-heart,.lighting-effect.is-light-preview .pixel-heart{transform:scale(1);opacity:1;animation-play-state:running}.lighting-effect:has(.effect-link:focus-visible) .pixel-light-preview,.lighting-effect.is-light-preview .pixel-light-preview{box-shadow:0 0 12px #ff4c9c88}
@media(hover:hover){.lighting-effect:hover .room-photo{filter:brightness(1) saturate(1)}.lighting-effect:hover .room-colour-wash{opacity:.45;animation-play-state:running}.lighting-effect:hover .pixel-heart{transform:scale(1);opacity:1;animation-play-state:running}.lighting-effect:hover .pixel-light-preview{box-shadow:0 0 12px #ff4c9c88}}
.lighting-toggle{display:none;position:absolute;right:15px;top:167px;background:#292732ee;color:#fff;border:1px solid #6d637a;border-radius:7px;min-height:40px;padding:8px 11px;font-size:12px;font-weight:600}@media(hover:none){.lighting-toggle{display:block}.lighting-caption{display:none}}@media(max-width:365px){.lighting-toggle{top:157px}}
@keyframes room-colours{0%,100%{background:#bd43e0}33%{background:#379fff}66%{background:#4cdd91}}@keyframes pixel-colours{0%,100%{background:#f3679d}33%{background:#68caff}66%{background:#73f1a0}}@media(prefers-reduced-motion:reduce){.room-photo,.room-colour-wash,.pixel-heart,.pixel-light-preview{animation:none!important;transition:none!important}}

/* October review: concise cards, centred icons and shelf-only crop. */
.effect-details{padding:25px 27px}.effect-heading h2{max-width:340px}.effect-details>.planned-badge{align-self:flex-start;margin-top:16px}.sound-demo{gap:0}.bonk-art{flex:none}.sound-rings{right:15%}.journey-steps li{text-align:center;padding:27px 23px;min-height:130px}.journey-steps svg{margin:0 auto 17px}.journey-steps h3{margin:0}.room-frame{width:181.5%;left:-2%}.voice-demo{padding-bottom:25px}
@media(max-width:760px){.effect-details{padding:23px}.journey-steps li{min-height:120px;padding:25px 23px}.effect-heading h2{max-width:300px}}@media(max-width:365px){.effect-details{padding:21px}}

.sound-effect.is-playing .bonk-word-cover{opacity:0}
