:root{--bg-base:#0b0b0d;--bg-deep:#050507;--ruby-primary:#e11d48;--ruby-deep:#881337;--wine-spotlight:#6e0f2366;--ruby-glow:#e11d484d;--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-border-focus:#e11d4873;--glass-shadow:0 8px 32px 0 #0000005e;--glass-blur:blur(16px) saturate(180%);--font-calligraphy:"Great Vibes", "Alex Brush", cursive;--font-display:"Cormorant Garamond", Georgia, serif;--font-ui:"Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--text-primary:#fff;--text-muted:#ffffffb3;--text-subtle:#f3f4f666;--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px)}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overscroll-behavior:none;height:100%;font-size:16px;line-height:1.5;overflow-x:hidden}body{background-color:var(--bg-base);width:100%;min-height:-webkit-fill-available;color:var(--text-primary);overscroll-behavior-y:none;-webkit-user-select:none;user-select:none;position:relative;overflow-x:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.space-viewport{background-color:var(--bg-base);width:100%;max-width:430px;height:100dvh;margin:0 auto;position:relative;overflow:hidden}@media (width>=480px){.space-viewport{border-left:1px solid #ffffff0d;border-right:1px solid #ffffff0d;box-shadow:0 0 100px #000000e6}}.layer-background{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.silk-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.studio-spotlight{mix-blend-mode:screen;pointer-events:none;background:radial-gradient(circle at 50% 42%,#3a050eb3 0%,#2a040a59 45%,#0000 72%);position:absolute;inset:0}.layer-rose{z-index:1;pointer-events:auto;touch-action:manipulation;cursor:pointer;justify-content:center;align-items:center;transition:opacity .5s cubic-bezier(.16,1,.3,1),filter .5s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0}.rose-wrapper{perspective:1000px;will-change:transform;justify-content:center;align-items:flex-end;width:100%;height:67vh;min-height:420px;max-height:610px;display:flex;position:absolute;bottom:2.5vh}.rose-img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 20px 45px #000000d9);transform-origin:50% 30%;will-change:transform;width:auto;max-width:95vw;height:100%;display:block;-webkit-mask-image:linear-gradient(#000 75%,#0000 98%);mask-image:linear-gradient(#000 75%,#0000 98%)}.screens-container{z-index:2;scroll-snap-type:y mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;width:100%;height:100dvh;position:relative;overflow-y:auto}.screens-container::-webkit-scrollbar{display:none}.screen-section{scroll-snap-align:start;scroll-snap-stop:always;width:100%;height:100dvh;min-height:100dvh;padding-right:calc(var(--sar) + 1.25rem);padding-left:calc(var(--sal) + 1.25rem);flex-direction:column;justify-content:space-between;display:flex;position:relative}.screen-persona{pointer-events:none}.screen-persona .top-nav,.screen-persona .bottom-hint{pointer-events:auto}.top-nav{width:100%;padding-top:calc(var(--sat) + 1rem);justify-content:center;align-items:center;display:flex}.top-badge{font-family:var(--font-ui);letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:999px;padding:.45rem 1.15rem;font-size:.62rem;font-weight:500;box-shadow:0 4px 20px #0006}.hero-typography{text-align:center;flex-direction:column;align-items:center;gap:.25rem;margin-top:clamp(1.2rem,3.5vh,1.5rem);display:flex}.persona-title{font-family:var(--font-calligraphy);color:#fff;text-shadow:0 0 35px var(--ruby-glow);letter-spacing:.02em;font-size:clamp(3.8rem,12vw,5.2rem);font-weight:400;line-height:1.05}.persona-manifesto{font-family:var(--font-ui);letter-spacing:.04em;color:var(--text-muted);flex-direction:column;align-items:center;gap:.15rem;font-size:clamp(.74rem,2.3vw,.85rem);font-weight:400;line-height:1.6;display:flex}.stage-spacer{flex:1}.bottom-hint{font-family:var(--font-ui);letter-spacing:.2em;text-transform:uppercase;color:#ffffffa6;padding-bottom:calc(var(--sab) + 1.25rem);justify-content:center;align-items:center;font-size:.75rem;font-weight:500;animation:2.4s ease-in-out infinite hint-bounce;display:flex}@keyframes hint-bounce{0%,to{opacity:.65;transform:translateY(0)}50%{opacity:.95;transform:translateY(4px)}}.screen-content{height:100%;padding-top:calc(var(--sat) + 1.25rem);padding-bottom:calc(var(--sab) + 1.25rem);flex-direction:column;justify-content:space-between;display:flex}.section-header{flex-direction:column;gap:.25rem;margin-bottom:.85rem;display:flex}.section-tag{letter-spacing:.28em;text-transform:uppercase;color:var(--ruby-primary);font-size:.62rem;font-weight:600}.section-title{font-family:var(--font-display);letter-spacing:.14em;color:#fff;font-size:clamp(1.85rem,6.5vw,2.35rem);font-weight:300;line-height:1.15}.section-lead{font-family:var(--font-ui);color:#ffffffd9;margin-top:.25rem;font-size:clamp(.88rem,2.7vw,.95rem);font-style:italic;line-height:1.55}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:18px;margin-bottom:.85rem;padding:1.25rem 1.15rem;position:relative}.quote-card{border-left:2px solid var(--ruby-primary);position:relative;overflow:hidden}.quote-mark{font-family:var(--font-display);color:#e11d482e;pointer-events:none;font-size:3.5rem;line-height:1;position:absolute;top:-.2rem;right:.8rem}.quote-text{font-family:var(--font-display);color:#fff;opacity:.95;z-index:1;font-size:clamp(1.15rem,3.8vw,1.25rem);font-style:italic;font-weight:400;line-height:1.65;position:relative}.micro-tiles-grid{flex-direction:column;gap:.5rem;margin-bottom:auto;display:flex}.glass-tile{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:14px;flex-direction:column;gap:.2rem;padding:.75rem 1rem;transition:border-color .3s,transform .3s;display:flex}.glass-tile:active{border-color:var(--glass-border-focus);transform:translateY(-2px)}.tile-code{letter-spacing:.1em;color:var(--ruby-primary);text-transform:uppercase;font-size:.75rem;font-weight:700}.tile-desc{font-family:var(--font-ui);color:#ffffffd9;font-size:.85rem;font-weight:400;line-height:1.4}.scroll-indicator{letter-spacing:.16em;color:var(--text-subtle);text-align:center;text-transform:uppercase;padding-top:.6rem;font-size:.65rem}.academy-cards-list{flex-direction:column;gap:.55rem;margin-bottom:.85rem;display:flex}.direction-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:14px;padding:.8rem 1.05rem;transition:border-color .3s,transform .3s}.direction-card:active{border-color:var(--glass-border-focus);transform:translateY(-2px)}.direction-badge{letter-spacing:.2em;text-transform:uppercase;color:var(--ruby-primary);margin-bottom:.15rem;font-size:.65rem;font-weight:700}.direction-title{font-family:var(--font-display);color:#fff;letter-spacing:.03em;margin-bottom:.2rem;font-size:1.15rem;font-weight:500;line-height:1.25}.direction-desc{font-family:var(--font-ui);color:#ffffffd9;font-size:clamp(.9rem,2.8vw,.95rem);font-weight:400;line-height:1.48}.academy-action{width:100%}.btn-academy{width:100%;-webkit-backdrop-filter:var(--glass-blur);color:#fff;font-family:var(--font-ui);letter-spacing:.2em;text-transform:uppercase;background:linear-gradient(135deg,#e11d484d 0%,#88133766 100%);border:1px solid #e11d488c;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:.95rem 1.4rem;font-size:.78rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 0 30px #e11d4859}.btn-academy:active{transform:scale(.98);box-shadow:0 0 45px #e11d488c}.btn-arrow{color:#fff;transition:transform .3s}.btn-academy:hover .btn-arrow,.btn-ruby-hero:hover .btn-arrow{transform:translate(4px)}.screen-finale{flex-direction:column;justify-content:space-between;display:flex}.finale-content{flex-direction:column;justify-content:space-between;height:100%;display:flex}.finale-header{margin-bottom:.5rem}.finale-main-action{width:100%;margin:.4rem 0}.btn-ruby-hero{color:#fff;width:100%;font-family:var(--font-ui);letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(135deg,#e11d48 0%,#881337 100%);border:1px solid #ffffff40;border-radius:999px;justify-content:center;align-items:center;gap:.75rem;padding:1.15rem 1.4rem;font-size:.8rem;font-weight:700;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 0 35px #e11d4873,0 8px 24px #00000080}.btn-ruby-hero:active{transform:scale(.98);box-shadow:0 0 50px #e11d48b3}.contacts-grid{grid-template-columns:repeat(2,1fr);gap:.6rem;margin:.4rem 0;display:grid}.contact-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:14px;flex-direction:column;padding:.85rem .95rem;text-decoration:none;transition:border-color .25s,transform .25s;display:flex;position:relative}.contact-card:active{border-color:var(--glass-border-focus);transform:translateY(-2px)}.contact-channel{letter-spacing:.16em;color:var(--ruby-primary);text-transform:uppercase;font-size:.68rem;font-weight:700}.contact-name-row{align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.contact-name{font-family:var(--font-ui);color:#fff;font-size:.92rem;font-weight:500}.social-icon{color:currentColor;opacity:.85;vertical-align:middle;flex-shrink:0;width:16px;height:16px;transition:opacity .25s,transform .25s,filter .25s;display:inline-flex}.btn-ruby-hero .social-icon{color:#fff;opacity:.95;width:17px;height:17px}.btn-ruby-hero:hover .social-icon,.btn-ruby-hero:active .social-icon{opacity:1;filter:drop-shadow(0 0 6px #ffffffa6);transform:scale(1.08)}.contact-card .social-icon{color:#ffffffd9}.contact-card:hover .social-icon,.contact-card:active .social-icon{color:#fff;opacity:1;filter:drop-shadow(0 0 8px #e11d4899);transform:scale(1.08)}.contact-arrow{color:#ffffff59;font-size:.8rem;transition:transform .2s,color .2s;position:absolute;top:.75rem;right:.85rem}.contact-card:hover .contact-arrow{color:#fff;transform:translate(2px,-2px)}.finale-footer{text-align:center;padding-top:.4rem;padding-bottom:calc(var(--sab) + .25rem)}.footer-text{font-family:var(--font-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--text-subtle);opacity:.75;font-size:.65rem}.layer-film-grain{z-index:99;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");background-repeat:repeat;position:fixed;inset:0}.preloader{z-index:9999;background-color:var(--bg-base);opacity:1;visibility:visible;will-change:opacity;justify-content:center;align-items:center;transition:opacity .35s cubic-bezier(.16,1,.3,1),visibility .35s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0}.preloader.loaded{opacity:0;visibility:hidden;pointer-events:none}.preloader-content{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.preloader-badge{font-family:var(--font-ui);letter-spacing:.35em;text-transform:uppercase;color:var(--text-subtle);font-size:.65rem;font-weight:500;animation:1.8s ease-in-out infinite alternate preloader-fade}.preloader-track{background:#ffffff0d;border-radius:999px;width:140px;height:1.5px;position:relative;overflow:hidden}.preloader-ruby-line{background:linear-gradient(90deg, transparent 0%, var(--ruby-deep) 30%, var(--ruby-primary) 50%, var(--ruby-deep) 70%, transparent 100%);width:100%;height:100%;box-shadow:0 0 12px var(--ruby-glow);animation:1.8s cubic-bezier(.4,0,.2,1) infinite ruby-pulse-shimmer;position:absolute;top:0;left:0}@keyframes ruby-pulse-shimmer{0%{opacity:.4;transform:translate(-100%)}50%{opacity:1}to{opacity:.4;transform:translate(100%)}}@keyframes preloader-fade{0%{opacity:.3}to{opacity:.8}}
