/* Main portal: shared with Chotopia's arrival-screen visual language.
   All shared-layout overrides are scoped to this homepage. */

.worlds-intro { position:relative; isolation:isolate; display:flex; min-height:510px; overflow:hidden; border:3px solid #83c6cd; border-radius:28px; background:#2d28ac; box-shadow:0 7px 0 #10264166; }
.worlds-intro__art { position:absolute; inset:0; z-index:-2; background:url('../images/worlds/arrival.webp') center 61%/cover no-repeat; transform:scaleX(-1); }
.worlds-intro::after { position:absolute; inset:0; z-index:-1; content:''; background:linear-gradient(90deg,#16365e55,transparent 75%); pointer-events:none; }
.arrival-ticket { align-self:center; flex:none; position:relative; z-index:3; width:465px; margin:30px 0 30px 32px; overflow:hidden; border:3px solid #33596a; border-radius:23px; background:var(--world-paper); color:var(--world-ink); transform:rotate(-1deg); box-shadow:6px 7px 0 #132d4c55; }
.arrival-ticket__top { display:flex; gap:12px; align-items:center; padding:13px 19px; border-bottom:2px solid #89c3bd; background:var(--world-mint); color:#426c71; font-size:9px; font-weight:bold; letter-spacing:1.2px; }
.arrival-mark { display:grid; place-items:center; width:29px; height:29px; flex:none; border:2px solid #54756c; border-radius:9px; background:#ffe29c; color:#716245; font-size:23px; transform:rotate(-9deg); }
.arrival-dots { margin-left:auto; font-size:13px; letter-spacing:3px; }
.arrival-ticket__body { padding:25px 28px 20px; }
.arrival-ticket .eyebrow { color:#4e8a8a; font-size:9px; }
.worlds-intro h1 { margin:11px 0 17px; font-size:clamp(38px,4.6vw,49px); line-height:1.03; letter-spacing:-2px; color:#2b5065; }
.worlds-intro h1 span { color:#46847d; }
.worlds-lead { margin:0 0 22px; color:#647b82; font-size:14px; line-height:1.7; }
.arrival-button { display:flex; align-items:center; justify-content:space-between; gap:15px; min-height:50px; padding:11px 17px; border:2px solid #375d65; border-radius:13px; background:#a9e8cf; box-shadow:0 4px 0 #375d65; color:#2b535d; font-size:17px; font-weight:bold; text-decoration:none; }
.arrival-button:hover { background:#c5f2df; }
.arrival-ticket__note { margin:18px 0 0; color:#6f837a; text-align:center; font-size:10px; }
.arrival-ticket__foot { display:flex; align-items:center; justify-content:space-between; padding:12px 24px; border-top:2px dashed #cbdcc9; background:#f0f3df; color:#66867c; font-size:9px; letter-spacing:1px; }
.arrival-scene { position:absolute; inset:0 0 0 44%; }
.arrival-scene__stamp { position:absolute; top:27px; right:26px; margin:0; padding:8px 12px; border:1px solid #b8e8de88; border-radius:22px; background:#24376f99; color:#e5f4db; font-size:8px; font-weight:bold; letter-spacing:1.1px; }
.arrival-scene__stamp span { color:#ffe4a1; margin-right:6px; }
.arrival-friend { position:absolute; bottom:65px; left:42%; width:260px; height:340px; transform:translateX(-50%); }
.arrival-friend img { position:absolute; z-index:2; bottom:51px; left:50%; width:145px; height:272px; object-fit:contain; transform:translateX(-50%); filter:drop-shadow(0 9px 5px #2e317733); }
.arrival-platform { position:absolute; bottom:31px; left:50%; width:250px; height:51px; transform:translateX(-50%); border:7px solid #ffe49d; border-bottom-color:#e4b14a; border-radius:50%; background:radial-gradient(ellipse,#dcfcee,#97dddc 55%,#4a96ac 65%,#c1eee1 70%); box-shadow:0 6px 0 #c99642,0 13px 0 #8a6bad,0 17px 20px #25367355; }
.arrival-orbit { position:absolute; inset:3px 0 33px; border:2px solid #cbf5dd66; border-radius:50%; transform:rotate(-17deg); background:radial-gradient(ellipse,#c9ffdf22,transparent 70%); }
.arrival-label { position:absolute; bottom:-12px; left:50%; transform:translateX(-50%); padding:7px 13px; border:2px solid #9cccc1; border-radius:20px; background:#fff7df; color:#4c6b72; font-size:11px; font-weight:bold; white-space:nowrap; }
.arrival-friend--small { left:auto; right:5%; bottom:198px; width:130px; height:195px; transform:none; }
.arrival-friend--small img { width:90px; height:169px; bottom:28px; }
.arrival-friend--small .arrival-platform { bottom:15px; width:135px; height:29px; border-width:4px; box-shadow:0 4px 0 #c99642,0 8px 0 #8a6bad; }
.arrival-rock { position:absolute; width:54px; height:36px; border:2px solid #6b9b9e; border-top:5px solid #d4ebbd; border-radius:50% 45% 35% 35%; background:linear-gradient(135deg,#8eafad,#667a99); animation:arrival-float 9s ease-in-out infinite; }
.arrival-rock--one { top:65px; left:5%; rotate:-14deg; }
.arrival-rock--two { right:12%; bottom:72px; width:37px; height:25px; animation-delay:-4s; }
.arrival-scene__caption { position:absolute; bottom:17px; right:21px; padding:6px 10px; border:1px solid #c0e9dc66; border-radius:11px; background:#234a6dcc; color:#f5f2de; font-size:10px; }
@keyframes arrival-float { 0%,100% { translate:0 0; } 50% { translate:0 -9px; } }
.worlds-section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin:42px 0 21px; }
.worlds-section-heading h2 { margin:0; color:#fff8e7; font-size:30px; line-height:1.15; letter-spacing:-.8px; }
.worlds-section-heading__note { padding:8px 12px; border:1px dashed #8cb9b577; border-radius:12px; color:#bbd6ce; font-size:10px; }
.world-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; scroll-margin-top:25px; }
.world-choice { position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden; border:3px solid #8fbfc7; border-radius:25px; background:var(--world-paper); box-shadow:0 6px 0 #112b4355; color:var(--world-ink); }
.world-choice--classic { --world-accent:#ffe2a0; --world-rim:#bda16b; }
.world-choice--new { --world-accent:#bcebd7; --world-rim:#80b8b1; scroll-margin-top:25px; }
.world-choice__ribbon { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; padding:11px 23px; border-bottom:2px solid var(--world-rim); background:var(--world-accent); }
.world-choice__chapter { font-size:10px; font-weight:bold; letter-spacing:1.6px; }
.world-choice__status { display:inline-flex; align-items:center; gap:6px; padding:4px 9px; border:1px solid #69827755; border-radius:20px; background:#fff9e9bb; color:#47686a; font-size:10px; font-weight:bold; white-space:nowrap; }
.world-choice__status i { width:6px; height:6px; border-radius:50%; background:#408d6d; }
.world-choice__status--soon i { background:#bd913e; }
.world-choice__art { position:relative; aspect-ratio:900/450; overflow:hidden; border-bottom:2px solid #a0bcb1; background:#9ed8e7; }
.world-choice__art img { display:block; width:100%; height:100%; object-fit:cover; }
.world-choice__art-caption { position:absolute; bottom:13px; left:18px; padding:6px 11px; border:1px solid #ffffff66; border-radius:9px; background:#1a3b5be8; color:#fff7df; font-size:10px; font-weight:bold; }
.world-choice__body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:24px 26px 25px; }
.world-choice h2 { margin:0 0 9px; color:var(--world-ink); font-size:35px; line-height:1.1; letter-spacing:-1.2px; }
.world-choice__description { margin:0 0 18px; color:#607980; font-size:14px; line-height:1.65; }
.world-choice__features { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 23px; padding:0; list-style:none; }
.world-choice__features li { padding:5px 9px; border:1px solid #bed4c9; border-radius:8px; background:#edf4e8; color:#537477; font-size:10px; font-weight:bold; }
.world-choice__actions { display:flex; flex-direction:column; gap:11px; width:100%; margin-top:auto; }
.world-choice .world-launch { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:50px; padding:11px 17px; border:2px solid #385d66; border-radius:13px; background:var(--world-accent); box-shadow:0 4px 0 #385d66; color:#2b5065; font-size:17px; font-weight:bold; text-decoration:none; transition:background .15s,transform .15s; }
.world-choice a.world-launch:hover { transform:translateY(-2px); background:#fff0c6; }
.world-choice--new a.world-launch:hover { background:#d3f5e5; }
.world-choice button.world-launch:disabled { cursor:default; opacity:1; border-color:#a9bcb3; box-shadow:0 4px 0 #a9bcb3; background:#e7eee3; color:#5c7373; }
.world-choice__secondary { min-height:24px; color:#5c7679; font-size:11px; text-align:center; text-underline-offset:3px; }
.world-choice__note { margin:0; min-height:24px; color:#637c74; font-size:11px; text-align:center; }
.worlds-home .proof-strip { margin-top:27px; gap:0; border:1px solid #8bbcbf66; border-radius:18px; background:#284b65; box-shadow:0 4px 0 #13273e44; }
.worlds-home .proof-strip a { position:relative; min-height:92px; padding:18px; background:transparent; }
.worlds-home .proof-strip a+a::before { position:absolute; top:25%; bottom:25%; left:0; border-left:1px dashed #93c5b966; content:''; }
.worlds-home .proof-strip a:hover { background:#355e74; }
.worlds-home .proof-strip strong { color:#ffe4a1; font-size:20px; }
.worlds-home .proof-strip span { color:#bfd6d0; font-size:11px; font-weight:normal; }
.worlds-home .section { margin-top:42px; }
.worlds-home .worlds-help { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:21px; }
.worlds-help article { padding:24px; border:2px solid #8bc2c3; border-radius:22px; background:#fff8e9; box-shadow:0 5px 0 #11284455; color:#36566a; }
.worlds-help__icon { display:grid; place-items:center; width:47px; height:47px; margin-bottom:21px; border:2px solid #81b3aa; border-radius:15px; background:#bcebd7; box-shadow:0 3px 0 #aac9b9; color:#477a77; font-size:28px; transform:rotate(-6deg); }
.worlds-help article:nth-child(2) .worlds-help__icon { background:#ffe5a4; border-color:#c6ac6e; color:#8b743b; }
.worlds-help article:nth-child(3) .worlds-help__icon { background:#dfd5ed; border-color:#aba0bf; color:#79658f; }
.worlds-help .eyebrow { color:#5a8782; font-size:8px; letter-spacing:1.1px; }
.worlds-help h3 { margin:0 0 10px; color:#31576a; font-size:22px; line-height:1.15; letter-spacing:-.5px; }
.worlds-help p:not(.eyebrow) { margin:0 0 19px; color:#627d84; font-size:13px; line-height:1.65; }
.worlds-help a { display:block; padding-top:13px; border-top:1px dashed #c4d8cb; color:#397b75; font-size:12px; font-weight:bold; text-underline-offset:3px; }
.worlds-home .section-heading { max-width:780px; }
.worlds-home .section-heading h2 { color:#fff8e7; font-size:32px; letter-spacing:-.7px; }
.worlds-home .section-heading>p:last-child { color:#bfd6d0; }
.worlds-home .faq-card,.worlds-home .info-panel { border:2px solid #88babb; border-radius:20px; background:#f4f6e7; box-shadow:0 4px 0 #11284444; backdrop-filter:none; }
.worlds-home .faq-card { padding:25px; }
.worlds-home .faq-card h3 { color:#31576a; font-size:19px; }
.worlds-home .faq-card p { margin-bottom:0; color:#607b82; font-size:13px; }
.worlds-home .faq-card a,.worlds-home .info-panel a { color:#397b75; font-size:12px; }
.worlds-home .info-panel h3 { color:#31576a; }
.worlds-home .community-summary-list li { border-color:#c3d6c9; }
.worlds-home .community-summary-list span { color:#637f80; }
.worlds-home .cta-panel { padding:33px 35px; border:3px solid #89c4c7; border-radius:25px; background:#e9f3e2; box-shadow:0 5px 0 #11284455; color:#31576a; }
.worlds-home .cta-panel h2 { color:#31576a; font-size:32px; letter-spacing:-.8px; }
.worlds-home .cta-panel .eyebrow { color:#548880; }
.worlds-home .cta-panel p { color:#627d84; font-size:13px; }
.worlds-home .cta-panel .button-row { flex-direction:column; align-items:stretch; gap:13px; }
.worlds-home .cta-panel .button { min-height:45px; padding:10px 17px; border:2px solid #375b65; border-radius:12px; color:#31576a; background:#bcebd7; box-shadow:0 3px 0 #375b65; font-size:13px; }
.worlds-home .cta-panel .button--ghost { background:#fff8e7; border-color:#acc7bd; box-shadow:none; }
@media(max-width:1040px) {
    .arrival-ticket { width:420px; margin-left:25px; }
    .worlds-intro h1 { font-size:46px; }
    .arrival-scene { left:47%; }
    .arrival-friend--small { display:none; }
    .arrival-friend--main { left:52%; }
    .arrival-scene__stamp { font-size:7px; right:16px; }
    .arrival-rock--one { left:15%; }
    .worlds-help h3 { font-size:20px; }
}
@media(max-width:760px) {
    .worlds-intro { display:block; padding-top:280px; min-height:0; border-radius:24px; }
    .worlds-intro__art { background-position:24% top; background-size:auto 680px; }
    .arrival-ticket { width:auto; margin:0 14px 17px; transform:none; border-radius:20px; }
    .arrival-ticket__top { padding:11px 15px; font-size:8px; letter-spacing:.7px; gap:10px; }
    .arrival-dots { font-size:10px; }
    .arrival-ticket__body { padding:24px; }
    .worlds-intro h1 { font-size:clamp(30px,8.3vw,44px); letter-spacing:-1.5px; }
    .worlds-lead { font-size:13px; }
    .arrival-scene { inset:0 0 auto; height:280px; }
    .arrival-scene__stamp { top:14px; right:14px; font-size:7px; }
    .arrival-friend--main { left:50%; bottom:26px; width:200px; height:220px; }
    .arrival-friend--main img { width:105px; height:197px; bottom:21px; }
    .arrival-friend--main .arrival-platform { bottom:7px; width:190px; height:34px; border-width:5px; box-shadow:0 4px 0 #c99642,0 9px 0 #8a6bad; }
    .arrival-orbit { inset:0 4px 8px; }
    .arrival-label { bottom:-23px; font-size:9px; padding:5px 10px; }
    .arrival-scene__caption { display:none; }
    .arrival-rock--one { left:8%; top:80px; width:38px; height:27px; }
    .arrival-rock--two { right:8%; bottom:50px; }
    .worlds-section-heading { margin-top:33px; }
    .worlds-section-heading h2 { font-size:27px; }
    .worlds-section-heading__note { display:none; }
    .world-choice-grid,.worlds-home .worlds-help { grid-template-columns:1fr; gap:23px; }
    .world-choice__body { padding:23px; }
    .world-choice h2 { font-size:32px; }
    .world-choice__ribbon { padding:11px 18px; }
    .worlds-home .proof-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .worlds-home .proof-strip a:last-child { grid-column:1/-1; }
    .worlds-home .proof-strip a:nth-child(3)::before { content:none; }
    .worlds-home .proof-strip:has(a:nth-child(4)) a:last-child { grid-column:auto; }
    .worlds-home .proof-strip a { padding:15px 9px; min-height:82px; }
    .worlds-home .proof-strip strong { font-size:18px; }
    .worlds-home .proof-strip span { font-size:10px; }
    .worlds-home .section { margin-top:32px; }
    .worlds-home .faq-grid--four { grid-template-columns:1fr; }
    .worlds-home .section-heading h2 { font-size:28px; }
    .worlds-home .cta-panel { flex-direction:column; align-items:stretch; gap:20px; padding:27px 24px; }
    .worlds-home .cta-panel h2 { font-size:29px; }
}
@media(prefers-reduced-motion:reduce) {
    .arrival-rock { animation:none; }
    .worlds-home .world-launch { transition:none; transform:none!important; }
}

/* Early ribbon braids need their native width; feet stay on the platform. */
.arrival-friend--main img{width:220px;object-position:center bottom}
.arrival-friend--small img{object-position:center bottom}
@media(max-width:760px){.arrival-friend--main img{width:160px}}
