@charset "UTF-8";
:root {
  --paper:#f4f2eb; --ink:#1b1f28; --blue:#244bff; --navy:#102584; --orange:#ff6838;
  --line:#d5d4cc; --gutter:clamp(24px,4vw,72px); --ease:cubic-bezier(.22,1,.36,1);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,"Microsoft YaHei","PingFang SC",sans-serif; -webkit-font-smoothing:antialiased; overflow-x:clip; }
body.modal-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; cursor:pointer; border:0; background:none; }
button,a { -webkit-tap-highlight-color:transparent; }
[hidden] { display:none!important; }
img { display:block; max-width:100%; height:auto; }
svg { width:24px; height:24px; flex-shrink:0; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-weight:800; }
::selection { background:var(--orange); color:#fff; }
:focus-visible { outline:3px solid var(--orange); outline-offset:6px; }
.wrap { width:calc(100% - var(--gutter)*2); max-width:1680px; margin-inline:auto; }
.skip-link { position:fixed; top:10px; left:16px; transform:translateY(-150%); z-index:100; background:var(--blue); color:white; padding:14px 20px; }
.skip-link:focus { transform:none; }
.blue { color:var(--blue); }
.eyebrow { font-size:13px; letter-spacing:.13em; font-weight:600; display:flex; align-items:center; gap:18px; line-height:1.8; }
.tiny-rule { width:48px; height:1px; background:currentColor; }
.reading-progress { position:fixed; inset:0 0 auto; height:3px; background:var(--orange); transform:scaleX(0); transform-origin:left; z-index:80; pointer-events:none; }
.site-header { position:sticky; top:0; background:rgba(244,242,235,.95); backdrop-filter:blur(18px); z-index:40; color:#1b1f28; transition:box-shadow .3s; }
.site-header.scrolled { box-shadow:0 1px 0 #1b1f2820; }
.nav-wrap { min-height:88px; margin-inline:var(--gutter); display:flex; align-items:center; justify-content:space-between; gap:30px; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:17px; color:#244bff; flex-shrink:0; }
.brand-word { font-family:"Arial Black",Arial,sans-serif; position:relative; font-size:43px; font-weight:900; line-height:1; letter-spacing:-4px; }
.brand-dot { font:10px Arial,sans-serif; letter-spacing:0; position:absolute; right:-8px; top:1px; }
.brand-caption { display:flex; flex-direction:column; gap:4px; }
.brand-caption strong { font-size:17px; letter-spacing:.14em; font-weight:800; }
.brand-caption small { font-size:9px; letter-spacing:.45em; }
.main-nav { display:flex; align-items:center; gap:clamp(24px,3vw,56px); }
.main-nav a { font-size:14px; font-weight:600; position:relative; padding:12px 0; white-space:nowrap; }
.main-nav a::after { content:""; position:absolute; bottom:3px; left:0; right:0; height:2px; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease); }
.main-nav a:hover::after,.main-nav a.active::after { transform:scaleX(1); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:23px; padding:17px 27px; min-height:54px; border-radius:999px; font-size:15px; font-weight:600; line-height:1.3; transition:transform .35s var(--ease),box-shadow .35s,background .25s; white-space:nowrap; }
.button svg { width:22px; height:22px; transition:transform .35s var(--ease); }
.button:hover { transform:translateY(-3px); box-shadow:0 8px 20px #151b3820; }
.button:hover svg { transform:translateX(4px); }
.button:active { transform:translateY(0) scale(.97); }
.button-blue { background:var(--blue); color:#fff; }
.button-orange { background:var(--orange); color:white; }
.nav-contact { padding:13px 22px; min-height:44px; font-size:13px; gap:16px; }
.text-link { display:inline-flex; align-items:center; justify-content:center; gap:14px; font-size:15px; font-weight:600; line-height:1.7; padding:8px 0; border-bottom:1px solid currentColor; width:max-content; max-width:100%; transition:color .2s; }
.text-link svg { width:20px; height:20px; transition:transform .3s var(--ease); }
.text-link:hover { color:var(--blue); }
.text-link:hover svg { transform:translateX(5px); }
.menu-toggle { display:none; }
.hero { position:relative; display:flex; align-items:center; min-height:min(790px,calc(100svh - 88px)); padding-top:60px; padding-bottom:100px; isolation:isolate; }
.hero-copy { position:relative; z-index:2; width:50%; pointer-events:none; }
.hero-copy a { pointer-events:auto; }
.hero .eyebrow { font-size:14px; letter-spacing:.3em; margin-bottom:28px; }
.hero h1 { font-size:clamp(68px,7.8vw,126px); letter-spacing:-.07em; line-height:1.16; color:var(--navy); font-weight:900; white-space:nowrap; }
.hero-lead { font-size:clamp(16px,1.5vw,23px); line-height:1.8; margin-top:28px; color:#363a44; letter-spacing:.02em; }
.hero-actions { display:flex; align-items:center; gap:32px; margin-top:34px; }
.hero-actions .button { font-size:17px; padding:18px 30px; }
.hero-art { position:absolute; right:-5%; top:3%; width:66%; height:90%; z-index:1; perspective:1000px; }
.portal-image { width:100%; height:100%; transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); transition:transform .7s var(--ease); }
.portal-image img { width:100%; height:100%; object-fit:contain; animation:portal-drift 7s ease-in-out infinite; }
.inspiration-button { display:flex; align-items:center; gap:9px; position:absolute; right:9%; bottom:3%; font-size:11px; color:#53585d; z-index:3; padding:8px; }
.inspiration-orbit { display:grid; place-items:center; width:38px; height:38px; border:1px solid #ff683860; border-radius:50%; font-size:27px; color:var(--orange); transition:transform 1s var(--ease),background .3s; }
.inspiration-button:hover .inspiration-orbit { transform:rotate(180deg); background:#ff683812; }
.hero-bottom { position:absolute; left:0; right:0; bottom:0; border-top:1px solid #42434a; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:65px; font-size:11px; letter-spacing:.25em; }
.hero-bottom-note { margin-left:auto; letter-spacing:.15em; color:#73757a; }
.down-arrow,.back-top { display:grid; place-items:center; border:1px solid currentColor; width:42px; height:42px; border-radius:50%; transition:background .3s,color .3s; }
.down-arrow svg { transform:rotate(90deg); }
.down-arrow:hover,.back-top:hover { background:var(--blue); color:#fff; border-color:var(--blue); }
.section-space { padding-top:132px; padding-bottom:138px; }
.section-heading { display:flex; justify-content:space-between; gap:60px; align-items:flex-end; margin-bottom:70px; }
.section-heading .eyebrow { margin-bottom:24px; }
.section-heading h2 { font-size:clamp(48px,5.4vw,84px); line-height:1.18; letter-spacing:-.055em; }
.section-intro { font-size:16px; line-height:1.95; color:#62656c; max-width:400px; margin:0 3% 9px 0; }
.game-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; padding-top:25px; }
.game-card:nth-child(2) { margin-top:-38px; }
.game-card:nth-child(3) { margin-top:-12px; }
.game-cover { position:relative; aspect-ratio:3/4; border-radius:8px; overflow:hidden; background:#dde0dd; transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); transition:transform .6s var(--ease),box-shadow .6s; isolation:isolate; }
.game-card:hover .game-cover { box-shadow:0 20px 38px #27364825; }
.game-image-link { display:block; width:100%; height:100%; }
.game-image-link>img { width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.game-cover:hover .game-image-link>img { transform:scale(1.045); }
.game-shade { position:absolute; inset:0; background:linear-gradient(180deg,#0a101d20,transparent 35%,transparent 48%,#0a101dcc); }
.game-status { position:absolute; left:20px; top:24px; color:#fff; font-size:11px; letter-spacing:.08em; border:1px solid #ffffff70; background:#10172540; padding:6px 11px; border-radius:999px; backdrop-filter:blur(8px); }
.game-cover-caption { position:absolute; left:27px; right:25px; bottom:31px; display:flex; align-items:flex-end; justify-content:space-between; color:#fff; gap:12px; }
.game-cover-caption small { font-size:11px; letter-spacing:.2em; display:block; margin-bottom:9px; opacity:.8; }
.game-cover-caption h3 { font-size:clamp(25px,2.5vw,40px); letter-spacing:-.025em; line-height:1.3; white-space:nowrap; }
.round-arrow { display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; width:46px; height:46px; flex-shrink:0; transition:background .35s,color .35s,transform .35s; }
.game-cover .round-arrow { color:#fff; background:var(--orange); border-color:var(--orange); }
.game-card:nth-child(2) .round-arrow { color:#1b1f28; background:var(--paper); border-color:var(--paper); }
.game-cover:hover .round-arrow { transform:rotate(-40deg); }
.game-card>p { font-size:15px; line-height:1.85; margin-top:20px; color:#484c54; }
.game-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid #c8cac7; padding-top:14px; margin-top:18px; font-size:11px; color:#73757a; line-height:1.6; }
.game-meta a { display:flex; align-items:center; gap:5px; color:#33383f; white-space:nowrap; }
.game-meta a svg { width:16px; height:16px; }
.game-play { position:absolute; top:20px; right:16px; display:flex; gap:6px; align-items:center; border:1px solid #ffffff70; color:#fff; background:#0c152245; border-radius:30px; backdrop-filter:blur(8px); font-size:11px; padding:7px 13px; transition:background .3s; }
.game-play svg { width:17px; height:17px; }
.game-play:hover { background:var(--orange); border-color:var(--orange); }
.cinema-section { background:#101722; color:#f4f2eb; overflow:clip; }
.cinema-stage { position:relative; min-height:650px; isolation:isolate; overflow:hidden; }
.cinema-image { position:absolute; inset:-4% 0; z-index:-3; }
.cinema-image img { width:100%; height:100%; object-fit:cover; object-position:60% 60%; transform:translateY(var(--cinema-y,0px)) scale(1.04); }
.cinema-scrim { position:absolute; inset:0; background:linear-gradient(90deg,#101722 0%,#101722d9 26%,#10172270 53%,#10172200 85%); z-index:-2; }
.cinema-copy { padding-top:100px; padding-bottom:110px; position:relative; }
.cinema-copy .eyebrow { color:#aebbc9; margin-bottom:31px; }
.cinema-copy h2 { font-size:clamp(48px,5.5vw,82px); line-height:1.24; letter-spacing:-.045em; max-width:720px; }
.cinema-copy p:not(.eyebrow) { font-size:16px; line-height:1.95; color:#d3d7df; margin-top:30px; max-width:520px; }
.cinema-copy .button { margin-top:34px; }
.image-credit { position:absolute; right:var(--gutter); bottom:32px; font-size:10px; color:#e2ded4b0; letter-spacing:.1em; }
.film-corner { position:absolute; right:var(--gutter); top:42px; width:68px; height:68px; border-top:1px solid #f4f2eb80; border-right:1px solid #f4f2eb80; pointer-events:none; }
.cinema-services { padding:66px 0 70px; }
.cinema-services>.eyebrow { color:#a8b3c1; margin-bottom:30px; }
.cinema-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:45px; }
.cinema-tabs button { display:grid; grid-template-columns:1fr 26px; text-align:left; border-top:1px solid #5e6570; border-bottom:1px solid #5e6570; padding:20px 0 23px; font-size:clamp(24px,2.5vw,40px); font-weight:700; transition:color .3s; gap:10px; }
.cinema-tabs button>span { grid-column:1/-1; font-size:11px; letter-spacing:.13em; font-weight:400; margin-bottom:11px; color:#aebbc9; }
.cinema-tabs button svg { align-self:center; }
.cinema-tabs button[aria-selected=true] { color:var(--orange); border-bottom-color:var(--orange); }
.cinema-tabs button:hover { color:var(--orange); }
.cinema-panel { display:flex; gap:70px; align-items:flex-start; padding-top:34px; max-width:1100px; min-height:115px; }
.cinema-panel h3 { font-size:19px; line-height:1.9; white-space:nowrap; font-weight:600; }
.cinema-panel p { font-size:14px; line-height:1.95; color:#b9c0ca; max-width:600px; }
.products-section .section-heading { margin-bottom:55px; }
.product-row { display:grid; grid-template-columns:50px 1fr 50px 43%; align-items:center; gap:34px; padding:22px 0; border-bottom:1px solid var(--line); position:relative; isolation:isolate; }
.product-row:first-child { border-top:1px solid var(--line); }
.product-row::before { content:""; position:absolute; inset:0 calc(-1*var(--gutter)); background:#244bff08; opacity:0; z-index:-1; transition:opacity .4s; }
.product-row:hover::before { opacity:1; }
.row-number { font-size:27px; font-weight:300; letter-spacing:-.05em; color:#656970; }
.product-row h3 { font-size:clamp(26px,2.5vw,38px); letter-spacing:-.04em; transition:color .3s; }
.product-row p { font-size:14px; line-height:1.8; margin-top:11px; color:#656970; }
.row-category { font-size:11px; display:block; margin-top:21px; color:#8c8d90; letter-spacing:.1em; }
.product-row-media { height:175px; overflow:hidden; border-radius:6px; position:relative; }
.product-row-media img { width:100%; height:100%; object-fit:cover; object-position:center 30%; transition:transform .8s var(--ease); }
.product-row-media.seat img { object-position:50% 28%; }
.product-row:hover .product-row-media img { transform:scale(1.035); }
.product-row:hover h3,.product-row:hover .row-number { color:var(--blue); }
.product-row:hover .round-arrow { background:var(--blue); color:#fff; border-color:var(--blue); transform:rotate(-40deg); }
.about-section { border-top:1px solid #404550; padding-top:65px; padding-bottom:110px; }
.about-top { display:grid; grid-template-columns:.55fr 1.4fr 1.1fr; gap:55px; }
.about-top h2 { font-size:clamp(32px,3.2vw,49px); line-height:1.4; letter-spacing:-.04em; }
.about-top>p:last-child { font-size:15px; line-height:2.1; color:#656970; }
.about-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:55px; margin-top:80px; }
.about-values>span { font-size:26px; font-weight:600; border-top:1px solid var(--line); padding-top:25px; }
.about-values small { display:block; font-size:12px; line-height:1.9; color:#7b7e85; margin-top:15px; font-weight:400; letter-spacing:.07em; }
.contact-section { position:relative; padding-top:42px; padding-bottom:125px; isolation:isolate; }
.contact-section>.eyebrow { margin-bottom:33px; }
.contact-section h2 { font-size:clamp(48px,6.2vw,94px); color:var(--blue); line-height:1.22; letter-spacing:-.06em; font-weight:900; position:relative; z-index:1; }
.contact-actions { display:flex; align-items:center; gap:30px; margin-top:43px; position:relative; z-index:1; }
.email-link { font-size:clamp(18px,2.1vw,32px); font-weight:600; border-bottom:1px solid var(--blue); padding-bottom:9px; color:var(--blue); display:flex; gap:25px; align-items:center; }
.email-link svg { width:30px; height:30px; }
.copy-button { display:flex; align-items:center; gap:14px; font-size:12px; border:1px solid #bec4d1; border-radius:30px; padding:12px 18px; background:var(--paper); white-space:nowrap; transition:background .3s,color .3s; }
.copy-button:hover { color:#fff; background:var(--blue); border-color:var(--blue); }
.copy-button span { font-size:18px; }
.contact-note { font-size:12px; color:#82858a; letter-spacing:.1em; margin-top:29px; }
.contact-star { position:absolute; width:360px; height:360px; right:0; top:5%; transform:rotate(13deg); z-index:-1; pointer-events:none; }
.contact-star i { position:absolute; display:block; width:100%; height:23%; background:var(--orange); border-radius:999px; top:38.5%; left:0; transform:rotate(calc(var(--arm)*60deg)); }
.footer { border-top:1px solid var(--blue); padding-top:35px; padding-bottom:27px; }
.footer-top { display:flex; align-items:center; justify-content:space-between; }
.footer-logo { font-family:"Arial Black",Arial,sans-serif; font-size:30px; letter-spacing:-1.6px; font-weight:900; color:var(--blue); display:flex; align-items:center; gap:30px; }
.footer-logo span { font:11px Arial,"Microsoft YaHei",sans-serif; color:#747982; letter-spacing:.1em; }
.back-top { width:37px; height:37px; }
.back-top svg { width:20px; height:20px; transform:rotate(-90deg); }
.footer-info { display:flex; align-items:center; gap:32px; margin-top:32px; color:#6d727b; font-size:11px; line-height:1.8; }
.footer-info strong { font-size:12px; font-weight:600; color:var(--ink); }
.footer-info p { max-width:520px; margin-left:auto; }
.footer-bottom { border-top:1px solid var(--line); margin-top:26px; padding-top:20px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#8a8e95; font-size:10px; line-height:1.8; }
.footer-bottom>div { display:flex; align-items:center; gap:25px; }
.footer-bottom a { display:flex; align-items:center; gap:6px; }
.footer a:hover { color:var(--orange); }
.detail-main { padding-top:34px; }
.breadcrumb { display:inline-flex; align-items:center; gap:13px; font-size:12px; color:#73777d; margin-bottom:38px; transition:color .3s; }
.breadcrumb:hover { color:var(--blue); }
.breadcrumb span { font-size:20px; }
.product-intro { display:grid; grid-template-columns:.85fr 1.5fr; gap:60px; align-items:center; }
.detail-copy .eyebrow { font-size:11px; letter-spacing:.08em; color:#797d87; margin-bottom:23px; }
.detail-copy h1 { font-size:clamp(50px,5.8vw,88px); letter-spacing:-.07em; line-height:1.25; white-space:nowrap; margin-left:-4px; }
.product-tagline { font-size:clamp(29px,3.1vw,45px); line-height:1.4; letter-spacing:-.035em; color:var(--navy); margin-top:22px; }
.product-summary { font-size:15px; line-height:1.95; color:#727783; margin-top:23px; max-width:440px; }
.detail-actions { display:flex; gap:26px; align-items:center; margin-top:29px; flex-wrap:wrap; }
.detail-actions .button { padding:16px 25px; }
.product-availability { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:10px; letter-spacing:.04em; color:#858a94; margin-top:25px; line-height:1.8; }
.status-dot { width:5px; height:5px; border-radius:50%; background:var(--orange); }
.qr-button { margin-top:20px; }
.product-viewer { position:relative; aspect-ratio:16/10; border-radius:8px; overflow:hidden; background:#213040; isolation:isolate; }
.viewer-zoom { display:block; width:100%; height:100%; padding:0; position:absolute; inset:0; }
.viewer-image { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); }
.viewer-zoom:hover img { transform:scale(1.025); }
.zoom-mark { position:absolute; right:18px; top:18px; border:1px solid #ffffff60; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:#12203066; backdrop-filter:blur(6px); color:#fff; }
.zoom-mark svg { width:19px; height:19px; }
.viewer-bottom { position:absolute; bottom:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:14px; color:#fff; font-size:10px; padding:35px 20px 18px; background:linear-gradient(transparent,#10141cd0); pointer-events:none; }
.viewer-caption { font-size:10px; letter-spacing:.08em; }
.viewer-play { display:flex; align-items:center; gap:6px; font-size:12px; pointer-events:auto; background:#ffffff1c; border:1px solid #ffffff50; border-radius:30px; padding:8px 14px; backdrop-filter:blur(6px); transition:background .3s; }
.viewer-play svg { width:16px; height:16px; }
.viewer-play:hover { background:var(--orange); border-color:var(--orange); }
.viewer-count { letter-spacing:.16em; color:#ffffffa6; }
.software-viewer { background:#e7e7df; }
.software-viewer.story { background:#e7e3d2; }
.software-viewer.seat { background:#dce4dc; }
.software-viewer.memory { background:#e0e7f5; }
.software-viewer .viewer-zoom { display:flex; justify-content:center; align-items:center; padding:18px; }
.software-viewer .viewer-image { object-fit:contain; max-height:100%; height:100%; width:100%; }
[data-product=storytoy] h1,[data-product=luoluopaizhuo] h1,[data-product=luoluo-memory] h1 { font-size:clamp(38px,4.4vw,67px); }
.explorer-heading { display:flex; justify-content:space-between; align-items:center; margin-top:55px; padding-bottom:20px; border-bottom:1px solid var(--line); }
.explorer-heading .text-link { font-size:12px; border:0; padding:0; }
.scene-tabs { display:grid; grid-template-columns:repeat(var(--scene-count),minmax(0,1fr)); gap:22px; margin-top:22px; }
.scene-tab { text-align:left; padding:0; min-width:0; }
.scene-tab>div { aspect-ratio:16/8.5; position:relative; overflow:hidden; border-radius:6px; opacity:.6; transition:opacity .4s,box-shadow .4s; isolation:isolate; }
.scene-tab>div img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.scene-tab[aria-selected=true]>div { opacity:1; box-shadow:0 0 0 2px var(--blue); }
.scene-tab:hover>div { opacity:1; }
.scene-tab:hover img { transform:scale(1.04); }
.scene-tab-index { position:absolute; left:11px; top:10px; border:1px solid #ffffff80; background:#121c2c75; color:#fff; font-size:10px; letter-spacing:.1em; border-radius:20px; padding:4px 7px; }
.scene-tab-label { display:flex; align-items:center; justify-content:space-between; font-size:17px; font-weight:600; padding:17px 0 12px; border-bottom:2px solid transparent; transition:color .3s,border-color .3s; gap:10px; line-height:1.5; }
.scene-tab-label svg { width:20px; height:20px; }
.scene-tab[aria-selected=true] .scene-tab-label { color:var(--blue); border-color:var(--blue); }
.scene-description { display:grid; grid-template-columns:1fr 1.4fr auto; gap:50px; align-items:center; padding:31px 0; border-bottom:1px solid var(--line); min-height:130px; }
.scene-title { font-size:23px; line-height:1.6; letter-spacing:-.02em; }
.scene-text { font-size:14px; line-height:1.95; color:#727783; }
.scene-play { font-size:12px; border:0; gap:8px; }
.scene-play svg { width:18px; height:18px; }
.media-note { font-size:10px; color:#92959e; line-height:1.8; margin-top:20px; }
.next-product { margin:55px 0 75px; display:flex; align-items:center; gap:35px; color:var(--blue); border-bottom:1px solid var(--blue); padding:30px 0; }
.next-product>span { font-size:12px; letter-spacing:.08em; }
.next-product strong { font-size:32px; letter-spacing:-.03em; }
.next-product svg { margin-left:auto; width:35px; height:35px; transition:transform .5s var(--ease); }
.next-product:hover svg { transform:translateX(10px); }
body[data-page=gods] { background:#1b1d1b; color:#f0eadb; }
body[data-page=gods] .detail-main { --line:#62604e; --blue:#e6b66d; --navy:#e6b66d; }
body[data-page=gods] .detail-copy .eyebrow,body[data-page=gods] .product-summary,body[data-page=gods] .scene-text { color:#bbb7aa; }
body[data-page=gods] .button-blue { background:#d9914d; color:#191c1b; }
body[data-page=gods] .product-viewer { box-shadow:0 0 0 1px #927143; }
body[data-page=gods] .product-tagline { font-family:"Songti SC","SimSun",serif; }
body[data-page=gods] .footer { --ink:#eee8db; --line:#62604e; border-top-color:#62604e; }
body[data-page=gods] .footer-logo,body[data-page=gods] .back-top { color:#e6b66d; }
body[data-page=gods] .footer-info,body[data-page=gods] .breadcrumb { color:#aaa79b; }
.media-dialog { width:min(1120px,92vw); max-width:92vw; max-height:92svh; border:1px solid #ffffff26; border-radius:10px; padding:18px 20px 20px; background:#101722; color:#f4f2eb; box-shadow:0 35px 100px #0006; overflow:auto; }
.media-dialog::backdrop { background:#07101cdd; backdrop-filter:blur(10px); }
.dialog-top { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:16px; }
.dialog-top h2 { font-size:15px; font-weight:500; line-height:1.6; }
.dialog-close { width:38px; height:38px; font-size:29px; font-weight:300; line-height:1; border:1px solid #ffffff40; border-radius:50%; flex-shrink:0; transition:background .2s; }
.dialog-close:hover { background:var(--orange); border-color:var(--orange); }
.media-content video { display:block; width:100%; max-height:75svh; aspect-ratio:16/9; background:#05090f; border-radius:5px; }
.media-content>img { width:100%; max-height:76svh; object-fit:contain; }
.media-content.qr-content { text-align:center; padding:20px; }
.media-content.qr-content img { width:min(340px,80%); margin:0 auto; max-height:60vh; object-fit:contain; background:#fff; padding:14px; border-radius:8px; }
.media-content.qr-content p { font-size:13px; color:#c5cbd3; margin-top:23px; line-height:1.8; }
.media-error { font-size:13px; color:#f7b898; padding:22px 0 4px; }
.toast { position:fixed; left:50%; bottom:28px; transform:translate(-50%,20px); padding:14px 24px; color:#fff; background:#152552ed; backdrop-filter:blur(10px); border-radius:50px; box-shadow:0 8px 25px #10172226; font-size:13px; z-index:100; opacity:0; pointer-events:none; transition:opacity .3s,transform .3s; white-space:nowrap; }
.toast.visible { transform:translate(-50%,0); opacity:1; }
.spark { position:fixed; left:0; top:0; width:10px; height:10px; border-radius:50%; pointer-events:none; z-index:75; }
.reveal { opacity:1; transform:none; }
.motion-ready .reveal { opacity:0; transform:translateY(26px); transition:opacity .9s var(--ease),transform .9s var(--ease); transition-delay:var(--delay,0ms); }
.motion-ready .reveal.visible { opacity:1; transform:none; }
.hero-in { animation:hero-in 1s var(--ease) both; }
.hero h1 { animation-delay:.12s; }
.hero-lead { animation-delay:.22s; }
.hero-actions { animation-delay:.32s; }
@keyframes hero-in { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes art-flash { 0%,100% { filter:brightness(1); } 30% { filter:brightness(1.22) saturate(1.2); } }
.portal-image.flashing { animation:art-flash .8s var(--ease); }
@keyframes portal-drift { 0%,100% { transform:translateY(0) rotate(-.3deg); } 50% { transform:translateY(-10px) rotate(.3deg); } }
.game-play { min-height:40px; }
.text-link { min-height:42px; }
@media (min-width:1800px) {
  .hero-art { right:-3%; width:64%; } .hero { min-height:850px; }
}
@media (max-width:1100px) {
  .nav-wrap { gap:20px; } .brand-word { font-size:35px; } .brand-caption strong { font-size:14px; } .brand-caption small { font-size:8px; } .brand { gap:13px; }
  .main-nav { gap:24px; } .main-nav a { font-size:12px; } .nav-contact { padding:12px 17px; }
  .hero { min-height:620px; } .hero h1 { font-size:8.1vw; } .hero-lead { font-size:16px; } .section-space { padding-top:105px; padding-bottom:110px; }
  .game-gallery { gap:22px; } .game-cover-caption { left:20px; right:20px; bottom:23px; } .round-arrow { width:38px; height:38px; } .game-meta { flex-wrap:wrap; row-gap:12px; } .game-card>p { font-size:13px; }
  .section-intro { font-size:14px; margin-right:0; } .cinema-copy p:not(.eyebrow) { font-size:14px; }
  .product-row { gap:22px; grid-template-columns:35px 1fr 40px 39%; } .product-row-media { height:165px; } .product-row h3 { font-size:28px; } .product-row p { font-size:12px; }
  .about-top { gap:32px; } .about-top>p:last-child { font-size:13px; } .contact-star { width:290px; height:290px; right:-30px; }
  .product-intro { gap:35px; grid-template-columns:.85fr 1.4fr; } .detail-copy h1 { font-size:6vw; } .product-tagline { font-size:3.2vw; } .product-summary { font-size:13px; }
  .detail-actions { gap:18px; } .detail-actions .button { font-size:13px; padding:15px 20px; gap:10px; } .detail-actions .text-link { font-size:13px; }
  .scene-description { gap:30px; grid-template-columns:1fr 1.5fr; } .scene-play { grid-column:2; } .scene-title { font-size:20px; } .scene-text { font-size:13px; }
  .scene-tabs { gap:17px; } .scene-tab-label { font-size:15px; } .scene-tab-label svg { width:16px; } .footer-info { gap:20px; } .footer-info p { max-width:390px; font-size:10px; }
}
@media (min-width:601px) and (max-width:820px) {
  .nav-wrap { min-height:76px; } .nav-contact { display:none; } .hero { min-height:600px; } .hero .eyebrow { font-size:11px; letter-spacing:.15em; }
  .hero h1 { font-size:8.7vw; } .hero-copy { width:58%; } .hero-art { right:-14%; width:75%; top:7%; height:80%; } .hero-lead { font-size:14px; max-width:300px; }
  .hero-actions { gap:23px; } .hero-actions .button { font-size:14px; padding:16px 22px; } .hero-actions .text-link { font-size:13px; } .inspiration-button { right:20%; bottom:0; }
  .section-heading { gap:30px; } .section-heading h2 { font-size:56px; } .section-intro { max-width:255px; font-size:12px; }
  .game-gallery { gap:17px; } .game-cover-caption h3 { font-size:23px; } .game-cover-caption { left:16px; right:15px; bottom:18px; } .game-cover .round-arrow { width:31px; height:31px; }
  .game-status { left:12px; top:16px; padding:4px 8px; font-size:9px; } .game-play { top:14px; right:10px; padding:5px 7px; font-size:9px; } .game-meta { font-size:9px; }
  .cinema-copy h2 { font-size:58px; } .cinema-panel { display:block; } .cinema-panel p { margin-top:12px; } .cinema-tabs { gap:25px; } .cinema-tabs button { font-size:26px; }
  .product-row { grid-template-columns:30px 1fr 32px 35%; gap:18px; } .product-row h3 { font-size:24px; } .product-row-media { height:140px; }
  .about-top { grid-template-columns:1fr 1.2fr; gap:25px 35px; } .about-top .eyebrow { grid-column:1/-1; } .about-top h2 { font-size:34px; }
  .contact-star { width:240px; height:240px; right:-60px; } .contact-section h2 { font-size:61px; } .email-link { font-size:22px; }
  .product-intro { gap:25px; grid-template-columns:1fr 1.25fr; } .product-viewer { aspect-ratio:4/4.5; } .detail-copy h1 { font-size:49px; } .product-tagline { font-size:27px; }
  [data-product=storytoy] h1,[data-product=luoluopaizhuo] h1,[data-product=luoluo-memory] h1 { font-size:40px; }
  .viewer-count { display:none; } .viewer-play { padding:6px 10px; font-size:10px; } .viewer-caption { font-size:9px; }
}
@media (max-width:600px) {
  :root { --gutter:22px; } html { scroll-padding-top:88px; }
  .nav-wrap { min-height:72px; gap:20px; } .brand-word { font-size:31px; letter-spacing:-3px; } .brand-caption strong { font-size:13px; letter-spacing:.08em; } .brand-caption small { font-size:7px; letter-spacing:.35em; } .brand { gap:13px; } .nav-contact { display:none; }
  .menu-toggle { display:flex; width:38px; height:38px; flex-direction:column; justify-content:center; align-items:center; gap:6px; padding:6px; }
  .menu-toggle span { display:block; width:23px; height:1.5px; background:#1b1f28; transition:transform .3s; }
  .menu-toggle[aria-expanded=true] span:first-child { transform:translateY(3.75px) rotate(45deg); } .menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.75px) rotate(-45deg); }
  .main-nav { position:absolute; left:0; right:0; top:72px; padding:25px var(--gutter) 35px; background:var(--paper); display:none; flex-direction:column; align-items:flex-start; gap:12px; border-bottom:1px solid var(--line); box-shadow:0 20px 30px #10172212; }
  .main-nav.open { display:flex; } .main-nav a { font-size:22px; width:100%; padding:14px 0; } .main-nav a::after { bottom:1px; right:auto; width:50px; }
  .hero { flex-direction:column; align-items:flex-start; min-height:0; padding-top:38px; padding-bottom:65px; } .hero-copy { width:100%; pointer-events:auto; }
  .hero .eyebrow { font-size:10px; letter-spacing:.2em; margin-bottom:21px; } .hero h1 { font-size:clamp(54px,12.4vw,74px); line-height:1.16; letter-spacing:-.06em; }
  .hero-lead { font-size:14px; max-width:none; margin-top:20px; } .hero-actions { margin-top:24px; gap:26px; } .hero-actions .button { font-size:13px; padding:14px 22px; min-height:47px; gap:16px; } .hero-actions .text-link { font-size:12px; gap:12px; }
  .hero-art { position:relative; right:auto; top:auto; width:118%; height:auto; aspect-ratio:1.5; margin-left:-9%; margin-top:16px; z-index:1; } .portal-image { height:100%; }
  .inspiration-button { font-size:9px; right:12%; bottom:0; gap:6px; } .inspiration-orbit { width:30px; height:30px; font-size:22px; }
  .hero-bottom { min-height:52px; font-size:8px; letter-spacing:.14em; } .hero-bottom-note { display:none; } .down-arrow { width:31px; height:31px; } .down-arrow svg { width:17px; height:17px; }
  .section-space { padding-top:75px; padding-bottom:85px; } .section-heading { display:block; margin-bottom:34px; } .section-heading .eyebrow { font-size:10px; margin-bottom:18px; } .section-heading h2 { font-size:47px; line-height:1.2; }
  .section-intro { margin:23px 0 0; max-width:none; font-size:13px; line-height:1.9; } .section-intro br { display:none; }
  .game-gallery { grid-template-columns:repeat(3,80vw); gap:17px; padding:0 var(--gutter) 25px 2px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#b7c2fd transparent; margin-right:calc(-1*var(--gutter)); }
  .game-card { scroll-snap-align:start; padding-top:4px; } .game-card:nth-child(2),.game-card:nth-child(3) { margin-top:0; } .game-cover { aspect-ratio:3/4; }
  .game-cover-caption h3 { font-size:31px; } .game-cover-caption { left:23px; right:22px; bottom:24px; } .game-cover-caption small { font-size:10px; } .game-cover .round-arrow { width:40px; height:40px; }
  .game-status { left:18px; top:23px; font-size:10px; padding:5px 9px; } .game-play { top:20px; right:16px; padding:6px 10px; font-size:10px; gap:5px; } .game-play svg { width:16px; }
  .game-card>p { font-size:13px; line-height:1.8; margin-top:17px; } .game-meta { font-size:10px; margin-top:14px; flex-wrap:nowrap; }
  .cinema-stage { min-height:610px; } .cinema-image { inset:0; } .cinema-image img { object-position:66% 50%; transform:scale(1.02); }
  .cinema-scrim { background:linear-gradient(180deg,#101722c9 0%,#1017227a 40%,#101722c0 100%); } .cinema-copy { padding-top:68px; padding-bottom:115px; }
  .cinema-copy .eyebrow { font-size:10px; margin-bottom:29px; color:#d5dce5; } .cinema-copy h2 { font-size:45px; line-height:1.25; }
  .cinema-copy p:not(.eyebrow) { font-size:13px; line-height:1.95; margin-top:24px; max-width:350px; } .cinema-copy .button { font-size:13px; margin-top:30px; padding:15px 23px; min-height:48px; }
  .image-credit { font-size:9px; bottom:24px; } .film-corner { width:40px; height:40px; top:27px; right:23px; }
  .cinema-services { padding:40px 0 44px; } .cinema-services>.eyebrow { font-size:10px; margin-bottom:23px; } .cinema-tabs { gap:17px; }
  .cinema-tabs button { padding:15px 0 18px; font-size:18px; grid-template-columns:1fr; gap:0; white-space:nowrap; } .cinema-tabs button>span { font-size:10px; margin-bottom:14px; } .cinema-tabs button svg { display:none; }
  .cinema-panel { display:block; padding-top:24px; min-height:135px; } .cinema-panel h3 { font-size:16px; line-height:1.8; white-space:normal; } .cinema-panel p { font-size:12px; line-height:1.9; margin-top:11px; }
  .products-section .section-heading { margin-bottom:30px; } .product-row { grid-template-columns:24px 1fr 33px; gap:14px; padding:24px 0; }
  .product-row-media { grid-column:2/4; grid-row:2; height:145px; margin-top:7px; } .product-row h3 { font-size:24px; } .product-row p { font-size:12px; margin-top:8px; }
  .row-category { font-size:9px; margin-top:9px; } .row-number { font-size:19px; align-self:start; margin-top:4px; } .product-row .round-arrow { align-self:start; margin-top:3px; width:33px; height:33px; }
  .about-section { padding-top:40px; padding-bottom:70px; } .about-top { display:block; } .about-top .eyebrow { font-size:10px; margin-bottom:24px; }
  .about-top h2 { font-size:35px; line-height:1.4; } .about-top>p:last-child { margin-top:27px; font-size:13px; line-height:2; }
  .about-values { gap:14px; margin-top:40px; } .about-values>span { font-size:18px; padding-top:17px; white-space:nowrap; } .about-values small { font-size:9px; line-height:1.8; letter-spacing:0; white-space:normal; margin-top:10px; }
  .contact-section { padding-top:26px; padding-bottom:77px; } .contact-section>.eyebrow { font-size:10px; margin-bottom:25px; } .contact-section h2 { font-size:clamp(36px,8.8vw,52px); line-height:1.35; }
  .contact-star { width:145px; height:145px; right:-60px; top:-18px; opacity:.7; } .contact-actions { display:block; margin-top:27px; }
  .email-link { font-size:clamp(13px,4.25vw,23px); gap:10px; max-width:100%; width:max-content; letter-spacing:-.025em; padding-bottom:9px; } .email-link svg { width:20px; height:20px; }
  .copy-button { font-size:11px; padding:10px 15px; margin-top:18px; gap:12px; } .contact-note { font-size:10px; margin-top:22px; }
  .footer { padding-top:26px; padding-bottom:25px; } .footer-logo { font-size:23px; gap:0; } .footer-logo span { display:none; } .back-top { width:32px; height:32px; }
  .footer-info { display:block; margin-top:25px; font-size:10px; line-height:1.9; } .footer-info strong { display:block; font-size:11px; margin-bottom:8px; } .footer-info p { margin:9px 0 0; max-width:340px; font-size:10px; }
  .footer-bottom { margin-top:23px; padding-top:18px; display:block; font-size:9px; } .footer-bottom>div { display:flex; flex-direction:column; align-items:flex-start; gap:7px; margin-top:13px; } .footer-bottom a img { width:14px; height:14px; }
  .detail-main { padding-top:20px; } .breadcrumb { font-size:10px; margin-bottom:27px; gap:9px; } .breadcrumb span { font-size:17px; }
  .product-intro { display:flex; flex-direction:column; gap:29px; align-items:stretch; } .detail-copy .eyebrow { font-size:9px; letter-spacing:.08em; margin-bottom:17px; }
  .detail-copy h1 { font-size:50px; letter-spacing:-.05em; margin-left:-2px; } .product-tagline { font-size:31px; line-height:1.4; margin-top:16px; } .product-tagline br { display:none; }
  .product-summary { font-size:13px; line-height:1.95; margin-top:19px; max-width:100%; } .detail-actions { gap:25px; margin-top:24px; }
  .detail-actions .button { font-size:13px; padding:14px 21px; min-height:46px; gap:10px; } .detail-actions .text-link { font-size:12px; } .product-availability { font-size:9px; margin-top:20px; }
  .product-viewer { aspect-ratio:16/11; border-radius:6px; } .viewer-bottom { padding:30px 15px 15px; gap:12px; } .viewer-count { font-size:8px; } .viewer-caption { font-size:9px; } .viewer-play { font-size:10px; padding:6px 12px; }
  .software-viewer { aspect-ratio:4/3; } .software-viewer .viewer-zoom { padding:10px 10px 34px; } .software-viewer.seat { aspect-ratio:4/4.5; }
  .explorer-heading { margin-top:31px; padding-bottom:17px; } .explorer-heading .eyebrow { font-size:10px; } .explorer-heading .text-link { font-size:10px; gap:8px; }
  .scene-tabs { gap:12px; margin-top:17px; grid-template-columns:repeat(var(--scene-count),minmax(100px,1fr)); overflow-x:auto; padding:3px 2px 8px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#b7c2fd transparent; }
  .scene-tab { scroll-snap-align:start; } .scene-tab>div { aspect-ratio:4/3; border-radius:4px; } .scene-tab-label { font-size:12px; padding-top:11px; padding-bottom:9px; } .scene-tab-label svg { display:none; }
  .scene-tab-index { font-size:8px; left:6px; top:6px; padding:3px 5px; } .scene-description { display:block; min-height:190px; padding:24px 0; }
  .scene-title { font-size:20px; line-height:1.7; } .scene-text { font-size:12px; line-height:1.95; margin-top:12px; } .scene-play { margin-top:14px; font-size:11px; padding:3px 0; gap:6px; }
  .media-note { font-size:9px; margin-top:17px; } .next-product { margin:28px 0 49px; padding:22px 0; gap:18px; } .next-product>span { font-size:10px; } .next-product strong { font-size:24px; } .next-product svg { width:26px; height:26px; }
  [data-product=storytoy] h1,[data-product=luoluopaizhuo] h1,[data-product=luoluo-memory] h1 { font-size:43px; }
  .media-dialog { width:95vw; max-width:95vw; padding:13px 12px 14px; max-height:93svh; border-radius:8px; } .dialog-top { margin-bottom:12px; gap:10px; } .dialog-top h2 { font-size:12px; line-height:1.7; } .dialog-close { width:31px; height:31px; font-size:24px; }
  .toast { font-size:11px; padding:12px 19px; bottom:20px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; }
  .reveal,.motion-ready .reveal { opacity:1!important; transform:none!important; } .portal-image,.game-cover,.cinema-image img { transform:none!important; } .spark { display:none; }
}
