/* RUBIN V11 / restrained cinematic movement + 180-degree interface turn. */
:root{--silk:cubic-bezier(.22,1,.36,1)}
/* Background lives across the hero viewport instead of fading before it is seen. */
body{background:#08090e!important}
.ambient-background{position:fixed!important;inset:-10vh -7vw!important;z-index:0!important;height:auto!important;width:auto!important;opacity:1!important;isolation:isolate;pointer-events:none;contain:paint}
.ambient-background::before{content:"";position:absolute;inset:-20%;background:radial-gradient(ellipse 38% 40% at 20% 32%,rgba(124,26,80,.43),transparent 73%),radial-gradient(ellipse 38% 34% at 76% 45%,rgba(129,24,63,.46),transparent 78%),radial-gradient(ellipse 34% 38% at 50% 77%,rgba(71,37,109,.34),transparent 70%);transform:translate3d(0,0,0);animation:rubinV11Veil 27s ease-in-out infinite alternate!important;will-change:transform;opacity:.94}
.ambient-orb{opacity:.70!important;filter:blur(45px)!important;mix-blend-mode:screen;animation-name:rubinV11Orb!important;animation-timing-function:ease-in-out!important;animation-iteration-count:infinite!important;animation-direction:alternate!important;will-change:transform}
.ambient-orb--one{left:-10%!important;top:12%!important;width:65vw!important;min-width:480px!important;height:55vh!important;min-height:360px!important;background:radial-gradient(ellipse at center,rgba(168,29,75,.60) 0%,rgba(116,27,80,.24) 39%,transparent 73%)!important;animation-duration:23s!important}
.ambient-orb--two{right:-14%!important;top:6%!important;width:63vw!important;min-width:470px!important;height:70vh!important;min-height:420px!important;background:radial-gradient(ellipse at center,rgba(102,49,154,.38) 0%,rgba(149,31,67,.29) 39%,transparent 75%)!important;animation-duration:29s!important;animation-delay:-11s!important}
.ambient-orb--three{left:20%!important;top:51%!important;width:62vw!important;height:60vh!important;background:radial-gradient(ellipse at center,rgba(200,35,81,.30),rgba(72,27,100,.18) 42%,transparent 74%)!important;animation-duration:33s!important;animation-delay:-16s!important}
.ambient-mesh{opacity:.025!important;mask-image:linear-gradient(180deg,transparent,#000 36%,transparent 96%)}
@keyframes rubinV11Veil{0%{transform:translate3d(-7%,-3%,0) rotate(-5deg) scale(1)}50%{transform:translate3d(6%,5%,0) rotate(3deg) scale(1.09)}100%{transform:translate3d(-3%,9%,0) rotate(-3deg) scale(1.03)}}
@keyframes rubinV11Orb{0%{transform:translate3d(-8%,-3%,0) scale(.9)}48%{transform:translate3d(12%,7%,0) scale(1.18)}100%{transform:translate3d(-5%,13%,0) scale(1.03)}}
/* Preserve contrast without darkening the entire background to black. */
.hero{background:transparent!important;position:relative;isolation:isolate}
.hero::before{z-index:0!important;background:linear-gradient(90deg,rgba(8,9,14,.67) 0%,rgba(8,9,14,.17) 59%,rgba(8,9,14,.14)),linear-gradient(0deg,#0a0a10 0%,transparent 26%)!important}
.hero-grid{position:relative;z-index:2}
.hero-copy-block h1{letter-spacing:-.062em!important}
/* Distinct atmospheric movement in the featured section. */
.spotlight-section{background:linear-gradient(180deg,rgba(11,10,17,.88),rgba(15,10,20,.88))!important;overflow:hidden}
.spotlight-section:before{content:"";pointer-events:none;position:absolute;inset:-35% -15%;z-index:0;background:radial-gradient(ellipse 31% 49% at 76% 33%,rgba(158,28,85,.24),transparent 77%),radial-gradient(ellipse 34% 46% at 16% 78%,rgba(83,40,130,.17),transparent 78%);animation:rubinV11Veil 23s ease-in-out infinite alternate;will-change:transform}
.spotlight-section>.container{position:relative;z-index:1}
.spotlight-display{isolation:isolate;overflow:hidden}
.spotlight-display:before{content:"";position:absolute;inset:-35% -25%;z-index:0;pointer-events:none;background:radial-gradient(ellipse 42% 44% at 37% 50%,rgba(201,39,95,.33),transparent 72%),radial-gradient(ellipse 38% 38% at 74% 40%,rgba(113,41,150,.23),transparent 72%);animation:rubinV11Veil 19s ease-in-out infinite alternate;will-change:transform}
.spotlight-display:after{z-index:1!important;pointer-events:none}
/* Turn the real screenshot like a physical two-sided glass card. */
.spotlight-window.rubin-flip-card,.spotlight-card:hover .spotlight-window.rubin-flip-card{width:min(100%,710px)!important;aspect-ratio:998/696!important;position:relative;z-index:2;background:transparent!important;border:0!important;border-radius:13px!important;overflow:visible!important;transform:perspective(1300px) rotate(-2deg)!important;box-shadow:none!important;cursor:pointer;perspective:1500px;transform-style:preserve-3d}
.rubin-flip-inner{position:relative;width:100%;height:100%;border-radius:13px;transform-style:preserve-3d;transition:transform 1.28s cubic-bezier(.23,.68,.19,1);will-change:transform;box-shadow:0 25px 74px rgba(0,0,0,.48),0 0 44px rgba(210,48,94,.15)}
.rubin-flip-face{position:absolute;inset:0;border:1px solid rgba(225,118,158,.43);border-radius:13px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#0e0e14}
.rubin-flip-front img{display:block;width:100%!important;height:100%!important;object-fit:contain!important;background:#101015;filter:none!important;padding:0!important}
.rubin-flip-back{transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:space-between;gap:12px;background:linear-gradient(132deg,#20101d 0%,#101017 48%,#120b15 100%);padding:clamp(17px,3vw,32px);color:#f6f1f5}
.rubin-flip-back:before{content:"";pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse 60% 75% at 95% 12%,rgba(199,39,88,.19),transparent 74%)}
.rubin-flip-back-head,.rubin-flip-back-foot{position:relative;z-index:1;display:flex;justify-content:space-between;gap:12px;align-items:center;font:700 clamp(8px,1vw,11px)/1.4 Manrope,sans-serif;letter-spacing:.16em;color:#ce93a9}
.rubin-flip-back-head{padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.12)}
.rubin-flip-back-foot{padding-top:12px;border-top:1px solid rgba(255,255,255,.12);color:#8d8190;font-size:clamp(7px,.75vw,9px)}
.rubin-flip-back-body{position:relative;z-index:1;display:grid;grid-template-columns:.88fr 1.12fr;column-gap:clamp(10px,3vw,35px);align-items:end}
.rubin-flip-eyebrow{grid-column:1/-1;color:#f67a9d;letter-spacing:.17em;font:800 clamp(8px,1vw,11px)/1.4 Manrope,sans-serif;margin-bottom:8px}
.rubin-flip-back h3{font:700 clamp(42px,6vw,85px)/.92 'Space Grotesk',Manrope,sans-serif;letter-spacing:-.075em;margin:0;color:#f8f0f5}
.rubin-flip-back h3 em{font-style:normal;color:#f04470}
.rubin-flip-features{display:grid;gap:0;font:650 clamp(10px,1.05vw,13px)/1.25 Manrope,sans-serif}
.rubin-flip-features span{display:flex;align-items:center;gap:14px;padding:clamp(8px,1.35vw,15px) 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:clamp(9px,.85vw,11px);letter-spacing:.06em;color:#bc829a;white-space:nowrap}
.rubin-flip-features span b{color:#f5edf2;font-size:clamp(12px,1.25vw,15px);letter-spacing:0}
/* Hover turns all the way around; button provides tap/keyboard alternative. */
@media(hover:hover) and (pointer:fine){.rubin-flip-card:hover .rubin-flip-inner{transform:rotateY(180deg)}}
.rubin-flip-card.is-flipped .rubin-flip-inner{transform:rotateY(180deg)}
.rubin-flip-toggle{position:absolute;z-index:4;right:clamp(15px,4%,32px);bottom:17px;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:39px;padding:9px 13px;border:1px solid rgba(249,169,196,.47);border-radius:8px;background:rgba(15,12,21,.86);color:#f8dce6;font:800 10px/1.2 Manrope,sans-serif;letter-spacing:.06em;cursor:pointer;backdrop-filter:blur(15px);transition:border-color .27s,background .27s,transform .4s var(--silk)}
.rubin-flip-toggle:hover,.rubin-flip-toggle[aria-pressed="true"]{border-color:#fa6792;background:rgba(100,28,56,.92)}
.rubin-flip-toggle:hover{transform:translateY(-2px)}
.rubin-flip-toggle:focus-visible{outline:2px solid #fc7397;outline-offset:4px}
.rubin-flip-arrow{display:inline-block;color:#fc7295;font-size:21px;line-height:16px;transition:transform .7s var(--silk)}
.rubin-flip-toggle:hover .rubin-flip-arrow,.rubin-flip-toggle[aria-pressed="true"] .rubin-flip-arrow{transform:rotate(180deg)}
/* The interface section also receives a slow, low contrast bloom, not flickering particles. */
.interface-section{background:#0d0b13!important;position:relative;isolation:isolate}
.interface-ambient{z-index:-1!important;opacity:.65;animation:rubinV11Veil 28s ease-in-out infinite alternate;will-change:transform}
@media(max-width:860px){.spotlight-window.rubin-flip-card,.spotlight-card:hover .spotlight-window.rubin-flip-card{width:100%!important;margin-inline:auto!important}.rubin-flip-back-body{column-gap:17px}.rubin-flip-back h3{font-size:clamp(36px,9vw,68px)}}
@media(max-width:720px){.ambient-background{inset:-10vh -18vw!important}.ambient-orb{filter:blur(38px)!important;opacity:.58!important}.ambient-orb--one{left:-42%!important;min-width:410px!important}.ambient-orb--two{right:-52%!important;min-width:390px!important}.spotlight-display{padding:30px 16px 70px!important}.rubin-flip-back{padding:17px}.rubin-flip-back-head,.rubin-flip-back-foot{font-size:7px}.rubin-flip-back-body{column-gap:9px}.rubin-flip-back h3{font-size:clamp(34px,9vw,57px)}.rubin-flip-features span{gap:7px;padding:7px 0;font-size:8px}.rubin-flip-features span b{font-size:10px}.rubin-flip-toggle{bottom:15px;right:50%;transform:translateX(50%);white-space:nowrap}.rubin-flip-toggle:hover{transform:translateX(50%)} }
@media(max-width:370px){.rubin-flip-back{padding:11px}.rubin-flip-back-body{column-gap:7px}.rubin-flip-back h3{font-size:32px}.rubin-flip-features span{padding:5px 0;font-size:7px}.rubin-flip-features span b{font-size:9px}}
@media(prefers-reduced-motion:reduce){.ambient-background:before,.ambient-orb,.spotlight-section:before,.spotlight-display:before,.interface-ambient{animation:none!important;will-change:auto!important}.rubin-flip-inner{transition:none!important;will-change:auto!important}}
