/* v90: Rosi is a product narrator, not decorative filler. */
.master-v83 .dd-typed{display:inline-flex;justify-content:center;white-space:pre;animation:none!important;clip-path:none!important}
.master-v83 .dd-typed .dd-char{display:inline-block;opacity:0;transform:translateY(.18em) scale(.96);filter:blur(3px);animation:rosi-title-letter .62s cubic-bezier(.18,.74,.22,1) calc(.28s + var(--char-index)*.145s) both}
.master-v83 .dd-typed .dd-char-space{width:.27em}
.master-v83.rosi-title-ready .dd-really{display:inline-block;opacity:0;animation:rosi-title-really 1.05s cubic-bezier(.18,.74,.22,1) 2.45s both!important}
.test-suite-page.rosi-title-ready .test-title{animation:rosi-test-title 1.25s cubic-bezier(.18,.74,.22,1) .28s both!important}
.master-v83.rosi-title-ready .route-bridge{animation:rosi-route-draw .7s ease 3.65s both!important}
.master-v83.rosi-title-ready .dd-tools .dd-tool{animation:rosi-card-arrive .72s cubic-bezier(.18,.74,.22,1) 3.95s both!important}
.master-v83.rosi-title-ready .dd-tools .dd-tool:nth-child(2){animation-delay:4.14s!important}
.master-v83.rosi-title-ready .dd-couple-card{animation:rosi-card-arrive .72s cubic-bezier(.18,.74,.22,1) 4.3s both!important}
@keyframes rosi-title-letter{0%{opacity:0;transform:translateY(.18em) scale(.96);filter:blur(3px)}68%{opacity:1;transform:translateY(-.025em) scale(1.008);filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes rosi-title-really{0%{opacity:0;transform:translateY(.3em) scale(.94);filter:blur(7px)}62%{opacity:1;transform:translateY(-.025em) scale(1.012);filter:blur(0);text-shadow:0 0 20px #d8b67b36}100%{opacity:1;transform:none;filter:none;text-shadow:none}}
@keyframes rosi-test-title{0%{opacity:0;transform:translateY(.22em);filter:blur(7px)}62%{opacity:1;transform:translateY(-.02em);filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes rosi-route-draw{from{opacity:0;transform:scaleY(.12);transform-origin:top}to{opacity:1;transform:scaleY(1);transform-origin:top}}
@keyframes rosi-card-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.rosi-story{position:relative;display:block;width:100%;aspect-ratio:3/2;margin:0;overflow:hidden;border:1px solid #d8b67b30;border-radius:18px;background:#0a0f13;isolation:isolate}
.rosi-story>img,.rosi-story-base{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.rosi-story:after{content:"";position:absolute;inset:-40%;z-index:3;pointer-events:none;background:linear-gradient(112deg,transparent 42%,#fff1c21f 49%,transparent 56%);transform:translateX(-38%);opacity:0;transition:opacity .2s}
.rosi-story:hover:after,.rosi-story:focus-within:after{opacity:1;animation:rosi-story-glint 1.15s ease-out 1}
.rosi-story:hover>img,.rosi-story:focus-within>img{transform:scale(1.012);filter:brightness(1.035)}
.rosi-story figcaption{position:absolute;left:12px;right:12px;bottom:10px;z-index:5;display:flex;align-items:center;justify-content:center;gap:7px;min-height:30px;padding:5px 10px;border:1px solid #d8b67b4a;border-radius:99px;background:#090c11d9;backdrop-filter:blur(9px);color:#e9c78e;font-size:clamp(.62rem,1.05vw,.75rem);font-weight:720;line-height:1.25;letter-spacing:.07em;text-align:center;text-transform:uppercase}
.rosi-story figcaption i{color:#d7ff3f;font-style:normal}
.rosi-type-window{position:absolute;left:62.25%;top:8.2%;z-index:2;width:25.15%;height:62.6%;overflow:hidden;border-radius:50%;background:#0a0f13;box-shadow:inset 0 0 38px #000,0 0 18px #d7ff3f16;isolation:isolate}
.rosi-type-window:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,#090c116e 0,transparent 24%,transparent 72%,#090c11dc 100%)}
.rosi-type-window:after{content:"";position:absolute;inset:-15%;z-index:4;pointer-events:none;background:linear-gradient(105deg,transparent 42%,#d7ff3f38 50%,transparent 58%);transform:translateX(-70%)}
.rosi-type-window.is-playing:after{animation:rosi-mirror-scan 2.4s ease-in-out infinite}
.rosi-type-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;filter:saturate(.76) contrast(1.05);transition:opacity .32s ease,transform .32s ease}
.rosi-type-window.is-switching .rosi-type-frame{opacity:.12;transform:scale(.975)}
.rosi-type-badge{position:absolute;inset:6% 9% auto;z-index:3;text-align:center;color:#f5f0e8;text-shadow:0 2px 8px #000}
.rosi-type-badge b{display:block;color:#d7ff3f;font-size:clamp(.78rem,2.2vw,1.35rem);line-height:1;font-weight:820;letter-spacing:.08em}
.rosi-type-badge small{display:block;margin-top:5px;font-size:clamp(.44rem,.9vw,.63rem);font-weight:720;line-height:1.1;letter-spacing:.08em;text-transform:uppercase}
.rosi-type-dots{position:absolute;left:15%;right:15%;bottom:8.5%;z-index:3;height:3px;border-radius:9px;background:#d8b67b35;overflow:hidden}
.rosi-type-dots i{display:block;width:6.25%;height:100%;border-radius:inherit;background:#d7ff3f;transform:translateX(calc(var(--rosi-type-index,0) * 100%));transition:transform .2s ease}
.rosi-story-ai:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 74% 47%,#d7ff3f13,transparent 26%)}
.rosi-ai-providers{position:absolute;left:37%;top:7%;z-index:5;display:flex;gap:5px;padding:4px;border:1px solid #d8b67b45;border-radius:99px;background:#090c11df;backdrop-filter:blur(8px)}
.rosi-ai-providers span{padding:5px 8px;border-radius:99px;color:#b5ada1;font-size:clamp(.45rem,.9vw,.65rem);font-weight:760;line-height:1;letter-spacing:.035em;transition:background .25s,color .25s,box-shadow .25s}
.rosi-ai-providers span.is-active{background:#d8b67b;color:#090c11;box-shadow:0 0 14px #d8b67b45}
.rosi-ai-reveal{position:absolute;left:72%;top:41%;z-index:4;width:21%;min-height:30px;display:grid;place-items:center;padding:7px 8px;border:1px solid #d7ff3f7a;border-radius:99px;background:#090c11df;box-shadow:0 0 20px #d7ff3f26;color:#d7ff3f;font-size:clamp(.48rem,1vw,.7rem);font-weight:820;line-height:1.15;letter-spacing:.07em;text-align:center;text-transform:uppercase;transition:opacity .32s ease,transform .32s ease}
.rosi-ai-reveal.is-switching{opacity:.12;transform:scale(.94)}
.rosi-ai-keypulse{position:absolute;left:43.8%;top:70.5%;z-index:4;width:7px;height:7px;border-radius:50%;background:#d7ff3f;box-shadow:0 0 0 0 #d7ff3f80;opacity:0}
.rosi-story-ai.is-playing .rosi-ai-keypulse{animation:rosi-keypress .72s ease-out infinite}
.rosi-story-couple:before{content:"";position:absolute;left:50%;top:39%;z-index:4;width:9px;height:9px;border-radius:50%;background:#e89178;box-shadow:0 0 0 0 #e8917888,0 0 20px #e89178;transform:translate(-50%,-50%);animation:rosi-couple-pulse 3.8s ease-out infinite;animation-play-state:paused;pointer-events:none}
@keyframes rosi-story-glint{from{transform:translateX(-38%)}to{transform:translateX(38%)}}
@keyframes rosi-mirror-scan{0%,100%{transform:translateX(-70%)}50%{transform:translateX(70%)}}
@keyframes rosi-keypress{0%{opacity:0;box-shadow:0 0 0 0 #d7ff3f80}28%{opacity:1}100%{opacity:0;box-shadow:0 0 0 16px #d7ff3f00}}
@keyframes rosi-couple-pulse{0%,35%{opacity:.45;box-shadow:0 0 0 0 #e8917888,0 0 18px #e89178}72%,100%{opacity:1;box-shadow:0 0 0 18px #e8917800,0 0 28px #e89178}}

.rosi-scroll-companion{--rosi-y:82px;position:fixed;right:12px;top:0;z-index:48;width:76px;pointer-events:none;opacity:0;transform:translate3d(0,var(--rosi-y),0);transition:opacity .35s ease;will-change:transform;contain:layout paint}
.rosi-scroll-companion.is-visible{opacity:.92}
.rosi-scroll-companion img{display:block;width:100%;height:auto;filter:drop-shadow(0 7px 12px #0009);transform-origin:60% 80%;transition:transform .18s ease,filter .25s ease}
.rosi-scroll-companion.is-down img{transform:rotate(1.4deg)}
.rosi-scroll-companion.is-up img{transform:rotate(-1.8deg) scaleX(.985)}
.rosi-scroll-companion.is-stepping img{animation:rosi-side-step .3s ease-in-out infinite alternate}
@keyframes rosi-side-step{from{translate:0 0;scale:1 1}to{translate:0 -3px;scale:1.012 .988}}

.dd-couple-section{padding-top:0!important}
.dd-couple-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:clamp(24px,4vw,52px);align-items:center;padding:clamp(22px,3vw,38px);border:1px solid #494239;border-radius:20px;background:#14181e}
.dd-couple-card .rosi-story{min-width:0}
.dd-couple-copy{min-width:0}
.dd-couple-copy .dd-eyebrow{margin:0 0 12px;color:#e9c78e;font-size:.78rem;font-weight:760;letter-spacing:.1em;text-transform:uppercase}
.dd-couple-copy h2{margin:0 0 16px!important;font-size:clamp(2rem,4vw,3.6rem)!important;line-height:1.03!important;letter-spacing:-.045em!important}
.dd-couple-copy>p:not(.dd-eyebrow):not(.dd-meta){margin:0 0 22px;font-size:1.05rem;line-height:1.6;color:#c4bbae!important}
.dd-couple-copy .dd-button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 22px;border:1px solid #827767;border-radius:99px;background:transparent;color:#e9c78e;text-decoration:none}
.couple-hero-art{width:min(100%,720px);margin:24px auto 28px}
.couple-hero-art img{display:block;width:100%;height:auto;border-radius:18px}

@media(max-width:760px){
  .rosi-story{border-radius:14px}
  .rosi-story figcaption{left:8px;right:8px;bottom:7px;min-height:26px;padding:4px 8px;gap:5px;letter-spacing:.045em}
  .rosi-type-badge small{display:none}
  .rosi-ai-reveal{min-height:22px;padding:4px 5px;letter-spacing:.035em}
  .rosi-scroll-companion{right:8px;width:48px}
  .rosi-scroll-companion.is-visible{opacity:.74}
  .dd-couple-card{grid-template-columns:1fr;gap:22px}
  .dd-couple-copy .dd-button{width:100%;box-sizing:border-box}
}
@media(max-width:380px){.rosi-scroll-companion{display:none!important}}
@media(prefers-reduced-motion:reduce){
  .master-v83 .dd-typed .dd-char,.master-v83 .dd-really,.master-v83 .route-bridge,.master-v83.rosi-title-ready .dd-tools .dd-tool,.master-v83.rosi-title-ready .dd-couple-card,.test-suite-page.rosi-title-ready .test-title{opacity:1!important;animation:none!important;transform:none!important;filter:none!important}
  .rosi-story>img,.rosi-type-frame,.rosi-type-dots i{transition:none!important;transform:none!important}
  .rosi-story:after,.rosi-type-window:after,.rosi-story-couple:before,.rosi-scroll-companion{display:none!important;animation:none!important}
}

/* Infinite scenes remain controllable and stop consuming animation work offscreen. */
.rosi-story-couple.is-playing:before{animation-play-state:running}
.rosi-motion-toggle{position:absolute;right:8px;top:8px;z-index:8;display:grid;place-items:center;width:44px;height:44px;border:1px solid #d8b67b60;border-radius:50%;background:#090c11c9;color:#e9c78e;font:700 15px/1 sans-serif;cursor:pointer;transition:background .2s,border-color .2s}
.rosi-motion-toggle:hover{background:#29261f;border-color:#e9c78e}
.rosi-motion-toggle:focus-visible{outline:2px solid #e9c78e;outline-offset:3px}
.rosi-motion-toggle[hidden]{display:none}
/* v102.2: modern digital reflections. All raster layers retain their real alpha.
   One 3:2 coordinate space owns the Rosi art, display, portrait and labels. */
html[data-page="home"] .master-v83 .rosi-story-ai,
:is(html[data-page="home"] .master-v83 .rosi-story-types,.personality-intro-scene){aspect-ratio:3/2;background:transparent!important;border:0!important;border-radius:0!important;overflow:visible;isolation:isolate;container-type:inline-size}
.test-suite-page .personality-intro-scene{height:auto!important;aspect-ratio:3/2}
html[data-page="home"] .master-v83 .rosi-story-ai>img,
:is(html[data-page="home"] .master-v83 .rosi-story-types,.personality-intro-scene)>.rosi-story-base{width:100%;height:100%;object-fit:contain;mix-blend-mode:normal;mask-image:none!important;transform:none!important;filter:none!important;animation:none!important;transition:none!important}
html[data-page="home"] .master-v83 .rosi-story-ai>.rosi-ai-layer{position:absolute;inset:0;pointer-events:none}
html[data-page="home"] .master-v83 .rosi-story-ai>.rosi-ai-display{z-index:0}
html[data-page="home"] .master-v83 .rosi-story-ai>img:not(.rosi-ai-layer){position:relative;z-index:1}
html[data-page="home"] .master-v83 .rosi-story-ai>.rosi-ai-laptop{z-index:2}
html[data-page="home"] .master-v83 .rosi-story-ai .rosi-ai-providers{left:5%;top:6%;gap:4px;padding:3px;border-color:#d8b67b45}
html[data-page="home"] .master-v83 .rosi-ai-providers span{font-size:clamp(8px,2.3cqw,12px);padding:5px 7px}
html[data-page="home"] .master-v83 .rosi-story-ai .rosi-ai-reveal{left:67%;top:76%;width:24%;min-height:0;box-sizing:border-box;padding:6px 4px;border-radius:7px;font-size:clamp(7px,2cqw,11px);letter-spacing:.015em}
html[data-page="home"] .master-v83 .rosi-story-ai .rosi-ai-keypulse{left:39%;top:84%;z-index:4;width:5px;height:5px}
:is(html[data-page="home"] .master-v83 .rosi-story-types,.personality-intro-scene) .rosi-type-window{left:59%;top:10%;width:33%;height:64%;box-sizing:border-box;border:2px solid #252d31;border-radius:clamp(9px,3cqw,18px);background:linear-gradient(145deg,#1a2429,#0e151a);box-shadow:0 0 0 1px #bcaa90,0 6px 18px #0005;isolation:isolate;overflow:hidden}
:is(html[data-page="home"] .master-v83 .rosi-story-types,.personality-intro-scene) .rosi-type-window:before{background:linear-gradient(118deg,transparent 25%,#fff1 26%,transparent 57%)}
:is(html[data-page="home"] .master-v83 .rosi-story-types,.personality-intro-scene) .rosi-type-frame{inset:23% 4% auto;width:92%;height:65%;object-fit:contain;object-position:center;filter:none;mix-blend-mode:normal;mask-image:none}
:is(html[data-page="home"] .master-v83 .rosi-story-types,.personality-intro-scene) .rosi-type-badge{inset:8% 4% auto}
:is(html[data-page="home"] .master-v83 .rosi-story-types,.personality-intro-scene) .rosi-type-badge b{font-size:clamp(12px,4.2cqw,23px)!important;letter-spacing:.07em}
:is(html[data-page="home"] .master-v83 .rosi-story-types,.personality-intro-scene) .rosi-type-badge small{display:block;font-size:clamp(6px,1.7cqw,10px)!important;letter-spacing:.04em;margin-top:4px}
:is(html[data-page="home"] .master-v83 .rosi-story-types,.personality-intro-scene) .rosi-type-dots{left:12%;right:12%;bottom:7%;height:2px}
:is(html[data-page="home"] .master-v83,.personality-intro-scene) .rosi-display-stand{position:absolute;left:73%;top:74%;width:5%;height:6%;background:linear-gradient(90deg,#131a1f,#41494c,#131a1f);z-index:0}
:is(html[data-page="home"] .master-v83,.personality-intro-scene) .rosi-display-stand:after{content:"";position:absolute;left:-140%;right:-140%;bottom:-24%;height:34%;border-radius:50%;background:linear-gradient(#4b5255,#171e22);border-bottom:1px solid #bcaa90}
html[data-page="home"] .master-v83 .rosi-story-ai figcaption,
:is(html[data-page="home"] .master-v83 .rosi-story-types,.personality-intro-scene) figcaption{bottom:-3%;left:2%;right:2%;min-height:26px;box-sizing:border-box;font-size:clamp(8px,2.2cqw,12px);letter-spacing:.045em;background:#0e141be8}
.master-v83.rosi-title-ready .dd-hero .dd-button,.master-v83.rosi-title-ready .dd-hero [data-cta-priority="1"]{animation:rosi-card-arrive .8s ease 3.55s backwards,dd-primary-breathe 3.2s ease-in-out 4.35s infinite}
.master-v83.rosi-title-ready .dd-tool:focus-within,.master-v83.rosi-title-ready .dd-hero:focus-within .dd-button{animation:none!important;opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){
 .master-v83.rosi-title-ready .dd-hero .dd-button,.master-v83.rosi-title-ready .dd-hero [data-cta-priority="1"]{animation:none!important;opacity:1!important;transform:none!important}
 .rosi-story-ai .rosi-ai-keypulse{animation:none!important;opacity:0!important}
}
