/* Motion R11: short copy, word entrances and tactile controls. */
.kinetic-title .title-line{display:block;white-space:normal}
.title-word{display:inline-block;will-change:transform,opacity}
.kinetic-title.is-revealed .title-word{animation:word-arrive .85s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--word)*.085s)}
@keyframes word-arrive{from{opacity:0;transform:translate3d(0,45px,0) rotate(3deg);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
.hero h1{font-size:clamp(62px,8.2vw,122px);max-width:760px;line-height:.98;letter-spacing:-.065em}
.hero-copy{max-width:800px;transform:translateY(-34%)}
.hero-lede{font-size:clamp(16px,1.6vw,21px);line-height:1.45;max-width:410px}
.hero-actions{margin-top:32px}
.hero-actions .primary{min-height:54px;padding:14px 24px;font-size:14px}
.primary,.text-action,.round-play,.film-card,.expand-film,.world-tabs button,.look-picker button,.enter{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,background .28s,color .28s}
.primary{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 5px 0 #0003,0 12px 30px #0002}
.primary::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 25%,#fff7 50%,transparent 75%);transform:translateX(-120%);transition:transform .65s}
.primary:is(:hover,:focus-visible)::before{transform:translateX(120%)}
.primary:is(:hover,:focus-visible){transform:translateY(-4px);box-shadow:0 8px 0 #0003,0 18px 36px #0004;filter:none}
.primary:active,.enter:active{transform:translateY(2px);box-shadow:none}
.text-action>span:last-child,.tab-arrow,.enter>span:last-child{display:inline-block;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.text-action:is(:hover,:focus-visible)>span:last-child{transform:translateY(5px)}
.round-play:is(:hover,:focus-visible){transform:scale(1.12);background:var(--accent,#f3ead7);color:#171411;box-shadow:0 0 0 7px #ffffff17}
.world-tabs button:is(:hover,:focus-visible) .tab-arrow{transform:translate(5px,-5px);opacity:1}
.film-card:is(:hover,:focus-visible){transform:translateY(-5px)}
.look-picker button:is(:hover,:focus-visible){transform:translateY(-3px);color:var(--ink)}
.portal .choose-title{font-size:clamp(36px,6.5vw,86px);line-height:1;letter-spacing:-.065em;margin:32px 5%}
.portal .worlds{gap:12px;min-height:calc(100svh - 285px)}
.portal .world-choice{min-height:480px;border:1px solid #fff2;transition:transform .45s,box-shadow .45s,border-color .45s}
.portal .world-choice::before{z-index:-3}
.portal-ambient{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.portal .world-choice::after{background:linear-gradient(0deg,#100e0fea,#100e0f50 60%,#100e0f30)}
.portal .choice-content{margin:55px 0 32px}
.portal .choice-content p{font-size:clamp(18px,2vw,25px);line-height:1.3;max-width:325px;letter-spacing:-.035em;margin-bottom:28px}
.portal .enter{background:#f3ead7;color:#211b17;padding:13px 17px;min-height:50px;border:0;gap:22px;font-weight:600;box-shadow:0 5px 0 #0004}
.portal .red .enter{background:#ee4c43;color:#fff7ef}
.portal .enter>span:last-child{font-size:22px;line-height:1}
.portal .world-choice:is(:hover,:focus-visible) .enter{transform:translateY(-4px);box-shadow:0 9px 0 #0004,0 10px 28px #0004}
.portal .world-choice:is(:hover,:focus-visible) .enter>span:last-child{transform:translate(4px,-3px)}
.portal .world-choice:is(:hover,:focus-visible){border-color:#f3ead78c;box-shadow:0 16px 46px #0005;transform:translateY(-3px)}
.portal .world-choice:is(:hover,:focus-visible) .portal-ambient{transform:scale(1.055)}
.portal .tools{display:flex;align-items:center;gap:20px}
#portal-motion{display:flex;align-items:center;gap:9px;background:none;border:1px solid #fff3;color:#eee5db;min-height:40px;padding:8px 12px;font-size:10px}
#portal-motion i{width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
#portal-motion[aria-pressed=true] i{border:0;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor}
#portal-motion:is(:hover,:focus-visible){background:#f3ead7;color:#211b17}
@media(max-width:760px){.hero h1{font-size:clamp(54px,12vw,85px);max-width:100%;margin:20px 0}.hero-copy{transform:none}.hero-lede{font-size:17px;max-width:310px}.hero-actions .primary{min-height:50px;font-size:13px;padding:13px 20px}.portal .world-choice{min-height:400px}.portal .choice-content{margin:42px 0 24px}.portal .choice-content p{font-size:22px}.portal .choose-title{margin:27px 5%}.portal .tools{gap:10px}}
@media(max-width:390px){.hero h1{font-size:49px}.hero-lede{font-size:16px}.hero-actions{gap:20px}.portal .choice-content p{font-size:20px}.portal .site-address{font-size:8px;letter-spacing:.08em}#portal-motion{font-size:9px;padding:8px;gap:6px}.portal .languages button{min-width:28px}}
@media(prefers-reduced-motion:reduce){.title-word{will-change:auto}*,*::before,*::after{animation:none!important;transition:none!important}.portal .world-choice:is(:hover,:focus-visible),.portal .world-choice:is(:hover,:focus-visible) .portal-ambient,.portal .world-choice:is(:hover,:focus-visible) .enter,.primary:is(:hover,:focus-visible),.film-card:is(:hover,:focus-visible),.round-play:is(:hover,:focus-visible){transform:none}}
body[data-edition=red] .hero h1{font-size:clamp(54px,6.9vw,100px)}
.portal .choice-content p{font-family:Sora,Arial,sans-serif;font-size:clamp(24px,2.65vw,38px);font-weight:500;line-height:1.1;letter-spacing:-.055em;max-width:390px}
@media(max-width:760px){body[data-edition=red] .hero h1{font-size:clamp(34px,8.4vw,62px)}.portal .choice-content p{font-size:31px}}
@media(max-width:390px){.portal .choice-content p{font-size:26px}}
/* Pearl R12: the key phrases carry the existing pearl identity. */
.kinetic-title .title-word{color:#f7e7d7}
.style-section .kinetic-title .title-word{color:#493342}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
 .kinetic-title .title-word{background-image:linear-gradient(115deg,#fff9e8 0%,#edc9d6 19%,#cdb6c9 31%,#fffdf5 44%,#eed7a5 58%,#d8bdd3 75%,#fff4dd 100%);background-size:200% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 9px #170f173b)}
 .style-section .kinetic-title .title-word{background-image:linear-gradient(115deg,#33272f 0%,#6f435c 23%,#433329 43%,#7b5934 61%,#493342 83%,#33272f 100%);filter:none}
 .kinetic-title.is-revealed .title-word{animation:word-arrive .85s cubic-bezier(.16,1,.3,1) calc(var(--word)*.085s) both,pearl-sweep 2.4s ease-out .8s both}
}
@keyframes pearl-sweep{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.kinetic-title.is-revealed .title-word{animation:none!important}}
@media(forced-colors:active){.kinetic-title .title-word{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText;filter:none}}
