*{box-sizing:border-box}.scene-shell{position:relative;width:100%;height:100vh;overflow:hidden;background:#25368f radial-gradient(ellipse 75% 70% at 50% 42%,#8a9cff,#5d74ee 55%,#3a50cc);color:#fff}#scene{display:block;width:100%;height:100%;outline:none}.hint{position:absolute;z-index:3;bottom:24px;left:50%;transform:translate(-50%);color:#fff;font-size:13px;padding:7px 16px;border:1.5px solid rgba(255,255,255,.7);border-radius:999px;pointer-events:none;white-space:nowrap}.veil{position:fixed;z-index:5;top:0;right:0;bottom:0;left:0;background:#14184680;opacity:0;pointer-events:none;transition:opacity .25s ease}.veil.open{opacity:1;pointer-events:auto}.panel{position:fixed;z-index:6;left:50%;top:50%;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 64px);overflow:auto;transform:translate(-50%,-46%) scale(.92);opacity:0;pointer-events:none;background:#fff;color:#1d2150;border-radius:22px;padding:30px 30px 26px;box-shadow:0 30px 80px #14185a59;transition:transform .38s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}.panel.open{transform:translate(-50%,-50%) scale(1);opacity:1;pointer-events:auto}.panel h2{margin:0 0 6px;font-size:26px}.panel p{font-size:14px;line-height:1.65;color:#3a3f6b;margin:0 0 14px}.panel p.lead{margin:0 0 18px;color:#5a5f8a;font-size:14px}.chip{display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:10px;vertical-align:1px}.card{border:1.5px solid #e6e8f7;border-radius:14px;padding:14px 16px;margin-bottom:10px}.card b{display:block;font-size:15px}.card span{font-size:13px;color:#6b70a0}.close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:0;border-radius:50%;background:#eef0ff;color:#3b42b8;font-size:20px;cursor:pointer}.contact-form label{display:block;font-size:13px;font-weight:600;margin:10px 0 4px}.contact-form input,.contact-form textarea{width:100%;border:1.5px solid #e1e4f6;border-radius:12px;padding:10px 12px;font-size:14px}.contact-form textarea{min-height:90px;resize:vertical}.contact-form button{margin-top:14px;width:100%;border:0;border-radius:12px;padding:12px;background:#4a64dc;color:#fff;font-weight:600;cursor:pointer}.player{position:fixed;z-index:7;left:24px;bottom:70px;width:min(340px,calc(100vw - 48px));background:#1d1f24;color:#fff;border-radius:18px;padding:12px 12px 10px;box-shadow:0 20px 50px #0a0c2873;transform:translateY(20px) scale(.95);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}.player.open{transform:none;opacity:1;pointer-events:auto}.player-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;margin:0 4px 8px}.eq{display:inline-flex;gap:3px;align-items:flex-end;height:14px;margin-right:8px;vertical-align:-2px}.eq i{width:3px;background:#1ed760;border-radius:2px;animation:eq .9s ease-in-out infinite}.eq i:nth-child(2){animation-delay:.2s}.eq i:nth-child(3){animation-delay:.4s}.eq i:nth-child(4){animation-delay:.1s}@keyframes eq{0%,to{height:4px}50%{height:14px}}.player-close{background:none;border:0;color:#aab;font-size:18px;cursor:pointer}.catphoto{width:100%;aspect-ratio:4 / 3;border-radius:16px;object-fit:cover;background:#f3eefe;display:block}.catphoto-auto{height:auto;aspect-ratio:auto;margin-bottom:16px}.books{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.book{border:1.5px solid #e6e8f7;border-radius:14px;padding:10px;text-align:center}.book img{width:100%;aspect-ratio:3 / 4;object-fit:contain;background:#f6f6fb;border-radius:8px;display:block;margin-bottom:8px}.book b{display:block;font-size:13px;line-height:1.3}.book span,.book em{display:block;font-size:12px;color:#6b70a0;margin-top:2px}.book em{color:#3a3f6b;font-style:normal;margin-top:6px;line-height:1.4}.proj{display:block;border:1.5px solid #e6e8f7;border-radius:14px;overflow:hidden;margin-bottom:12px;color:inherit;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.proj:hover{transform:translateY(-2px);box-shadow:0 10px 24px #14185a1f}.proj img{width:100%;aspect-ratio:2 / 1;object-fit:cover;object-position:top;display:block}.proj div{padding:12px 16px 14px}.proj b{display:block;font-size:15px}.proj span{display:block;font-size:13px;color:#6b70a0;margin-top:2px}.proj i{display:block;font-style:normal;font-size:13px;font-weight:600;color:#4a64dc;margin-top:6px}.game{display:grid;grid-template-columns:132px 1fr;gap:14px;align-items:center;border:1.5px solid #e6e8f7;border-radius:14px;padding:10px;margin-bottom:10px}.game img{width:132px;aspect-ratio:460 / 215;object-fit:cover;border-radius:9px;display:block;background:#eef0ff}.game b{display:block;font-size:14px}.game span{display:block;font-size:12.5px;color:#6b70a0;line-height:1.45;margin-top:2px}.loader{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;display:grid;align-content:center;justify-items:center;gap:14px;background:#25368f;transition:opacity .45s ease,visibility .45s ease}.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-brand{font-weight:700;font-size:24px}.loader-track{width:min(220px,60vw);height:4px;overflow:hidden;background:#ffffff3d;border-radius:99px}.loader-track span{display:block;width:40%;height:100%;background:#fff;border-radius:inherit;animation:loading 1.2s ease-in-out infinite}.loader p{margin:0;font-size:13px;opacity:.8}@keyframes loading{0%{transform:translate(-110%)}to{transform:translate(260%)}}.scene-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#25368f;text-align:center}.scene-fallback[hidden],.no-3d[hidden]{display:none}.no-3d{position:absolute;z-index:3;right:18px;bottom:18px;color:#fff;font-size:12px;opacity:.65}@media(max-width:420px){.game{grid-template-columns:1fr}.game img{width:100%}}@media(max-width:640px){.hint{bottom:16px;font-size:12px;white-space:normal;text-align:center;width:max-content;max-width:calc(100vw - 32px)}.panel{top:auto;bottom:0;left:0;width:100vw;max-height:82vh;border-radius:22px 22px 0 0;padding:26px 18px 22px;transform:translateY(40px)}.panel.open{transform:none}.panel h2{font-size:22px;padding-right:40px}.books{grid-template-columns:1fr 1fr;gap:10px}.player{left:12px;bottom:64px;width:calc(100vw - 24px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.social-hero{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:center;margin-bottom:16px}.social-hero img,.social-hero .social-badge{width:112px;height:112px;border-radius:22px;object-fit:cover;display:block;background:#eef0ff}.social-badge{display:grid!important;place-items:center;color:#fff;font:800 52px/1 Poppins,sans-serif}.social-hero b{display:block;font-size:17px}.social-hero span{display:block;font-size:13px;color:#6b70a0;margin-top:2px}.social-points{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px}.social-points li{border:1.5px solid #e6e8f7;border-radius:12px;padding:10px 14px;font-size:14px}.social-cta{display:block;text-align:center;border-radius:12px;padding:13px;color:#fff;font-weight:600;text-decoration:none;transition:transform .15s ease,filter .15s ease}.social-cta:hover{transform:translateY(-2px);filter:brightness(1.06)}.social-cta.youtube{background:#e62117}.social-cta.instagram{background:linear-gradient(45deg,#feda75,#fa7e1e 25%,#d62976,#962fbf 75%,#4f5bd5)}.social-cta.linkedin{background:#0a66c2}@media(max-width:420px){.social-hero{grid-template-columns:80px 1fr}.social-hero img,.social-hero .social-badge{width:80px;height:80px;font-size:38px}}.scroll-cue{position:absolute;z-index:3;left:50%;bottom:72px;transform:translate(-50%);display:inline-flex;flex-direction:column;align-items:center;gap:2px;color:#fff;font-size:13px;font-weight:600;text-decoration:none;padding:4px 10px;border-radius:999px;text-shadow:0 1px 6px rgba(20,24,70,.8)}.scroll-cue span{font-size:16px;animation:cue 1.6s ease-in-out infinite}@keyframes cue{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@media(max-width:640px){.scroll-cue{bottom:84px}}#scene.orbitable{cursor:grab}#scene.orbiting{cursor:grabbing!important}.zoom-controls{position:absolute;z-index:3;right:22px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px}.zoom-controls[hidden]{display:none}.zoom-controls button{width:40px;height:40px;display:grid;place-items:center;padding:0;background:#fff;color:#14163a;border:3px solid #14163a;border-radius:10px;box-shadow:3px 3px #14163a;font:700 22px/1 Poppins,sans-serif;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .2s ease}.zoom-controls button:hover{transform:translate(-1px,-1px);box-shadow:4px 4px #14163a}.zoom-controls button:active{transform:translate(2px,2px);box-shadow:1px 1px #14163a}.zoom-controls button:disabled{opacity:.45;cursor:default;transform:none;box-shadow:3px 3px #14163a}.zoom-controls button:focus-visible{outline:3px solid #ffd23f;outline-offset:2px}@media(max-width:640px){.zoom-controls{top:auto;bottom:150px;right:12px;transform:none;flex-direction:row;gap:8px}.zoom-controls button{width:36px;height:36px;font-size:20px}}.panel .form-status{margin:10px 0 0;font-size:13px}.panel-more{font-size:13px!important;margin-top:14px!important}.panel-more a{color:#3b42b8;font-weight:600}.veil{background:#14163a8c}.panel{border:3px solid #14163a;border-radius:18px;box-shadow:10px 10px #14163a;color:#14163a}.panel h2{font-family:Luckiest Guy,Poppins,sans-serif;font-weight:400;font-size:30px;letter-spacing:.5px;line-height:1.1}.panel p{color:#23264f}.panel p.lead{color:#23264f;font-weight:600}.close{border:2.5px solid #14163a;background:#f6c21c;color:#14163a;font-weight:700;box-shadow:3px 3px #14163a;transition:transform .12s ease,box-shadow .12s ease}.close:hover{transform:translate(-1px,-1px);box-shadow:4px 4px #14163a}.close:active{transform:translate(2px,2px);box-shadow:1px 1px #14163a}.card,.book,.game,.proj,.social-points li{border:2.5px solid #14163a;box-shadow:4px 4px #14163a;border-radius:10px}.card span,.book span,.game span,.proj span{color:#3a3f6b}.proj:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #14163a}.proj img{border-bottom:2.5px solid #14163a}.proj i{color:#2f55d4}.social-hero img,.social-hero .social-badge{border:3px solid #14163a;box-shadow:4px 4px #14163a}.social-cta{border:3px solid #14163a;border-radius:10px;box-shadow:4px 4px #14163a;font-family:Luckiest Guy,Poppins,sans-serif;font-weight:400;font-size:18px;letter-spacing:.5px}.social-cta:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #14163a;filter:none}.catphoto{border:3px solid #14163a}.player{border:3px solid #14163a;box-shadow:6px 6px #14163a}@media(max-width:640px){.panel{box-shadow:0 -6px #14163a;border-bottom:0}}.hint,.scroll-cue{z-index:5}.scene-facade{display:none}.facade-on .scene-facade{position:absolute;z-index:6;top:0;right:0;bottom:0;left:0;display:block;overflow:hidden;color:#14163a;font-family:Poppins,sans-serif;background:#5b7bff radial-gradient(rgba(255,255,255,.14) 1.6px,transparent 2px) 0 0 / 16px 16px}.facade-on .loader,.facade-on .hint,.facade-on .scroll-cue{display:none}.facade-cap{position:absolute;left:22px;top:calc(70px + 2vh);margin:0;padding:8px 14px 4px;background:#fff;border:4px solid #14163a;box-shadow:5px 5px #14163a;font-family:Luckiest Guy,Poppins,sans-serif;font-size:16px;letter-spacing:.8px;transform:rotate(-3deg)}.facade-title{position:absolute;left:20px;right:20px;top:calc(118px + 2vh);margin:0;font-family:Luckiest Guy,Poppins,sans-serif;font-size:clamp(30px,9.4vw,38px);line-height:1.02;letter-spacing:1px;color:#f6c21c;-webkit-text-stroke:3px #14163a;paint-order:stroke fill;text-shadow:5px 5px 0 #14163a}.facade-room{position:absolute;left:0;right:0;top:calc(240px + 3vh);bottom:190px}.facade-room img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 45%;-webkit-mask:radial-gradient(ellipse 62% 60% at 50% 50%,#000 72%,transparent 100%);mask:radial-gradient(ellipse 62% 60% at 50% 50%,#000 72%,transparent 100%)}.facade-bubble{position:absolute;left:38%;top:8%;width:56%;max-width:230px;margin:0;padding:10px 14px 7px;background:#fff;border:4px solid #14163a;border-radius:20px;box-shadow:4px 4px #14163a;font-family:Luckiest Guy,Poppins,sans-serif;font-size:16px;letter-spacing:.6px;line-height:1.15;text-align:center;transform:rotate(2deg);animation:facade-bubble 3s ease-in-out infinite}.facade-bubble:before,.facade-bubble:after{content:"";position:absolute;top:100%;border-style:solid;border-color:transparent}.facade-bubble:before{left:60px;border-width:18px 0 0 16px;border-top-color:#14163a}.facade-bubble:after{left:63.5px;border-width:11px 0 0 10px;border-top-color:#fff;margin-top:-1px}@keyframes facade-bubble{0%,to{transform:rotate(2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-4px)}}.facade-play{position:absolute;left:50%;bottom:112px;transform:translate(-50%);display:flex;align-items:center;gap:14px;padding:15px 22px 12px 16px;border:4px solid #14163a;border-radius:14px;background:#d6322b;color:#fff;box-shadow:7px 7px #14163a;font-family:Luckiest Guy,Poppins,sans-serif;font-size:19px;letter-spacing:.8px;line-height:1.05;text-align:left;white-space:nowrap;cursor:pointer;animation:facade-pulse 2.2s ease-in-out infinite}.facade-play:before{content:"";position:absolute;left:16px;right:16px;top:-16px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='14'%3E%3Crect x='5' y='1.5' width='20' height='18' rx='3.5' fill='%23d6322b' stroke='%2314163a' stroke-width='3'/%3E%3C/svg%3E") 0 0 / 30px 14px space no-repeat}.facade-play small{display:block;margin-top:3px;font-family:Poppins,sans-serif;font-weight:700;font-size:12px;letter-spacing:0}.facade-play:active{transform:translate(-50%) translate(4px,4px);box-shadow:2px 2px #14163a}.facade-play:focus-visible{outline:3px solid #f6c21c;outline-offset:4px}.facade-tri{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border:3px solid #14163a;border-radius:50%;background:#fff}.facade-tri:after{content:"";margin-left:4px;border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent #d6322b}@keyframes facade-pulse{0%,to{box-shadow:7px 7px #14163a}50%{box-shadow:7px 7px #14163a,0 0 0 8px #f6c21c8c}}.facade-tags{position:absolute;left:0;right:0;bottom:52px;display:flex;justify-content:center;gap:8px;margin:0;padding:0;list-style:none}.facade-tags li{padding:6px 10px 4px;border:3px solid #14163a;border-radius:8px;background:#f6c21c;box-shadow:3px 3px #14163a;font-family:Luckiest Guy,Poppins,sans-serif;font-size:12.5px;letter-spacing:.5px}.facade-tags li:nth-child(2){background:#36aebf}.facade-tags li:nth-child(3){background:#fff}.facade-scroll{position:absolute;left:0;right:0;bottom:14px;color:#fff;font-size:13px;font-weight:700;text-align:center;text-decoration:none;text-shadow:0 1px 4px rgba(20,22,70,.8)}@media(max-height:700px){.facade-title{font-size:28px}.facade-tags{display:none}.facade-play{bottom:56px}.facade-room{bottom:130px}}@media(prefers-reduced-motion:reduce){.facade-bubble,.facade-play{animation:none}}.facade-on .scene-facade{z-index:4}@media(max-width:640px){.hint{bottom:78px}.scroll-cue{bottom:150px}}.orbit-ring{position:absolute;z-index:5;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;pointer-events:none;opacity:0;background:conic-gradient(#f6c21c var(--fill, 0deg),rgba(255,255,255,.35) 0);-webkit-mask:radial-gradient(circle,transparent 23px,#000 24px);mask:radial-gradient(circle,transparent 23px,#000 24px)}.orbit-ring.is-filling{opacity:1;animation:orbit-fill .32s linear forwards}.orbit-ring.is-armed{opacity:1;--fill: 360deg;-webkit-mask:none;mask:none;background:#f6c21c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 12a8 8 0 1 1-2.3-5.6M20 4v5h-5' fill='none' stroke='%2314163a' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 30px no-repeat;border:3px solid #14163a;box-shadow:3px 3px #14163a;transform:scale(.8)}@property --fill{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes orbit-fill{0%{--fill: 0deg}to{--fill: 360deg}}#scene{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.hint-touch{display:none}@media(pointer:coarse){.hint-touch{display:inline}}
