/* A character-led Downloads scene. Product/Store styling is kept separate below. */
#downloads { --collection-gutter:5.8vw; background:#000; }
#downloads::before { display:none; }
#downloads .route-content { width:min(calc(100% - var(--collection-gutter)*2),1180px); }
#downloads .downloads-entry { position:relative; isolation:isolate; min-height:100svh; display:flex; flex-direction:column; overflow:hidden; background:#bd006b; }
#downloads .downloads-backdrop { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; background:radial-gradient(ellipse at 78% 28%,#ff0090 0%,#d00076 38%,#6a003d 100%); }
#downloads .downloads-backdrop::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#080006,transparent 23%),radial-gradient(ellipse at 12% 85%,#18000d80,transparent 65%); }
#downloads .downloads-emblem { position:absolute; width:95%; height:135%; right:-20%; top:-15%; object-fit:contain; mix-blend-mode:soft-light; opacity:.28; transform:rotate(-12deg); }
#downloads .route-header { width:min(calc(100% - var(--collection-gutter)*2),1180px); height:76px; flex:none; padding:0; margin:0 auto; justify-content:space-between; gap:24px; z-index:3; }
#downloads .route-header a { min-width:0; min-height:44px; padding:0 7px 0 0; background:none; border:0; border-radius:0; box-shadow:none; font-size:24px; }
#downloads .route-header a:hover { color:#ffd8ee; }
#downloads .route-header p { font-size:23px; }
#downloads .route-header p span { color:#fff; }
#downloads .downloads-opening { flex:1; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; margin:20px auto 65px; position:relative; z-index:2; pointer-events:none; }
#downloads .downloads-intro { width:58%; padding:0; min-width:0; }
#downloads #downloads-title { margin:0; font:400 clamp(66px,7vw,98px)/.92 var(--display); letter-spacing:-.005em; text-transform:uppercase; }
#downloads #downloads-title > span { display:inline; color:#fff; }
#downloads .downloads-title__free::after { content:" "; }
#downloads .downloads-title__dot { color:#10000a; }
#downloads .downloads-intro .brush-copy.spray-copy { width:100%; max-width:410px; height:auto; aspect-ratio:2078/470; margin:18px 0 25px; opacity:.85; }
#downloads .downloads-intro .spray-visual { filter:brightness(0) invert(1)!important; }
#downloads .downloads-intro > p:last-child:not(.brush-copy) { display:none; }
#downloads .download-packs { width:55%; max-width:650px; display:grid; grid-template-columns:1fr; gap:16px; margin:0; min-width:0; pointer-events:auto; }
#downloads .download-pack { --light-x:20%; position:relative; display:grid; grid-template-columns:94px minmax(0,1fr); align-items:center; gap:20px; margin:0; padding:18px; min-width:0; border:1px solid #ffd5ec75; border-radius:16px; background:radial-gradient(ellipse at var(--light-x) 0%,#ffffff16,transparent 60%),#1d0415b8; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:inset 0 1px 0 #ffffff50,0 12px 24px #25001440; transition:border-color 200ms,background-color 200ms; }
#downloads .download-pack::before { content:""; position:absolute; pointer-events:none; left:12%; right:38%; top:-1px; height:1px; background:linear-gradient(90deg,transparent,#fff,transparent); }
#downloads .pack-visual { width:94px; aspect-ratio:1; }
#downloads .pack-cover { width:100%; height:100%; min-height:0; margin:0; display:block; border-radius:6px; background:none; transform:none; border:1px solid #ffffff45; overflow:hidden; box-shadow:0 5px 14px #0006; }
#downloads .pack-cover img { width:100%!important; height:100%!important; opacity:1; object-fit:contain; display:block; }
#downloads .download-meta { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:14px; }
#downloads .download-pack h3 { display:flex; gap:12px; align-items:baseline; text-align:left; color:#fff; font:400 34px/1 var(--display); text-transform:uppercase; margin:0; padding:0; }
#downloads .download-pack h3 em { display:inline; font-size:23px; font-style:normal; color:#ff8ccb; white-space:nowrap; background:none; padding:0; }
#downloads .pack-tags { display:flex; flex-wrap:wrap; gap:3px 9px; list-style:none; margin:9px 0 0; padding:0; color:#ebd5e3; font:400 15px/1.4 var(--body); grid-column:1; }
#downloads .pack-tags li { padding:0; margin:0; border:0; background:none; }
#downloads .pack-tags li::before { display:none; }
#downloads .download-meta .collection-button { grid-column:2; grid-row:1/3; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:9px; min-width:116px; min-height:78px; padding:8px; margin:0; border:0; border-radius:10px; background:transparent; box-shadow:none; color:#fff; font:500 16px/1.3 var(--body); text-transform:none; letter-spacing:0; text-decoration:none; }
#downloads .download-meta .collection-button svg { width:42px; height:42px; padding:10px; border-radius:50%; background:#ff0090; color:#fff; stroke-width:2; box-shadow:inset 0 1px 0 #ffffff65; transition:transform 250ms,background-color 250ms; }
#downloads .download-meta .collection-button:hover { background:#ffffff0c; box-shadow:none; }
#downloads .download-meta .collection-button:is(:hover,:focus-visible) svg { transform:translateY(3px); background:#e50082; }
#downloads .download-pack:focus-within { border-color:#fff; }
#downloads .downloads-character { position:absolute; z-index:1; width:min(58vw,790px); height:calc(100% - 115px); right:-1%; bottom:30px; pointer-events:none; }
#downloads .fluffy-rig { position:absolute; width:auto; height:100%; aspect-ratio:1122/1402; bottom:0; right:10%; transform-origin:66% 96%; }
#downloads .fluffy-rig img { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
#downloads .fluffy-base { z-index:1; }
#downloads .fluffy-arm { display:none; }
#downloads .fluffy-mesh { position:absolute; inset:0; width:100%; height:100%; }
#downloads .has-mesh .fluffy-base { visibility:hidden; }
#downloads .fluffy-shadow { position:absolute; bottom:0; right:12%; width:47%; height:7%; border-radius:50%; background:#25001680; filter:blur(15px); }
#downloads .downloads-replay { position:absolute; z-index:3; left:max(var(--collection-gutter),calc((100% - 1180px)/2)); bottom:18px; display:flex; align-items:center; gap:9px; min-height:44px; padding:8px 0; border:0; background:none; color:#edd3e3; font:500 13px/1.3 var(--body); cursor:pointer; }
#downloads .downloads-replay[hidden] { display:none; }
#downloads .downloads-replay svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#downloads .downloads-replay:focus-visible { outline:2px solid #fff; outline-offset:4px; }
#downloads .downloads-motion-controls { position:absolute; z-index:3; left:max(var(--collection-gutter),calc((100% - 1180px)/2)); right:max(var(--collection-gutter),calc((100% - 1180px)/2)); bottom:20px; display:flex; align-items:center; gap:28px; }
#downloads .downloads-motion-controls[hidden] { display:none; }
#downloads .downloads-motion-controls .downloads-replay { position:static; color:#fff; font-size:15px; text-decoration:underline; text-underline-offset:5px; }
#downloads .downloads-scroll-cue { display:flex; align-items:center; gap:16px; color:#fff; font:400 22px/1 var(--display); letter-spacing:.03em; }
#downloads .downloads-scroll-cue i { width:90px; height:2px; background:#ffffff40; position:relative; }
#downloads .downloads-scroll-cue i::after { content:""; position:absolute; inset:0; background:#fff; transform-origin:left; transform:scaleX(var(--scene-progress,0)); }
#downloads .download-pack.is-pointed { border-color:#fff; background-color:#4e103bcc; box-shadow:inset 0 1px 0 #fff9,0 0 22px #ff80c52b; }
#downloads .is-scroll-scene { will-change:transform; }
@media(max-width:760px) {
 #downloads .downloads-motion-controls { gap:20px; bottom:12px; }
 #downloads .downloads-scroll-cue { font-size:19px; gap:12px; }
 #downloads .downloads-scroll-cue i { width:45px; }
 #downloads .downloads-motion-controls .downloads-replay { font-size:14px; }
}
#downloads .collection-glass { --mx:28%; --my:0%; position:relative; isolation:isolate; border:1px solid #ffb9d9ad; border-radius:18px; background:radial-gradient(ellipse 75% 55% at var(--mx) var(--my),#ffe4f50e,transparent 72%),linear-gradient(132deg,#eee1ec0d,transparent 15% 82%,#ffe5f910),linear-gradient(165deg,#18121575,#0503048c 55%,#13060e59); backdrop-filter:blur(14px) saturate(1.2); -webkit-backdrop-filter:blur(14px) saturate(1.2); box-shadow:inset 0 1px 2px #ffedfac7,inset 1px 0 2px #ffd7ee6b,inset 0 -1px 2px #ff8ac9a6,0 0 2px #ff0c9894,0 0 17px #ff009021,0 16px 30px #0009; }
#downloads .collection-glass::before { content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none; opacity:1; background:radial-gradient(ellipse 100% 8% at 50% -2%,#fff4,transparent 80%),radial-gradient(ellipse 9% 100% at -2% 80%,#ff2aab24,transparent 80%),radial-gradient(ellipse 40% 12% at 100% 0,#ffe5f538,transparent 80%); }
#downloads .collection-glass::after { content:""; position:absolute; inset:-1px; width:auto; height:auto; z-index:2; border-radius:inherit; padding:1.5px; border:0; background:conic-gradient(from 15deg,#ffd5e763,#ff009048 13%,#fff1fa 20%,#ff009044 24%,#ff76b269 40%,#fff3fa 46%,#ff00901f 52%,#ff009058 68%,#fff0fc 76%,#ff00a286 80%,#ffddebb8 95%,#ffd5e763); mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude; -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; pointer-events:none; opacity:1; }
#downloads .glass-edge { position:absolute; display:block; z-index:3; inset:0; border-radius:inherit; pointer-events:none; background:radial-gradient(ellipse 3px 17% at 0 77%,#fff,transparent 90%),radial-gradient(ellipse 18% 2px at 78% 100%,#fff3f9,transparent 95%),radial-gradient(ellipse 12% 2px at 28% 0,#fff,transparent 95%); filter:drop-shadow(0 0 4px #ff0090) drop-shadow(0 0 7px #ff009090); }
#downloads .glass-edge::before { content:""; position:absolute; left:-1px; top:57%; width:2px; height:27%; background:linear-gradient(transparent,#ffb2da 22%,#fff 55%,#ffb2da 72%,transparent); box-shadow:0 0 6px #ff0090; }
#downloads .glass-edge::after { content:""; position:absolute; right:10%; bottom:-1px; width:34%; height:2px; background:linear-gradient(90deg,transparent,#ff7ec4 23%,#fff 53%,#ff7ec4 75%,transparent); }
#downloads .offers .glass-edge { margin:0; }
#downloads .collection-glass:hover, #downloads .collection-glass:focus-within { box-shadow:inset 0 1px 2px #fff,inset 1px 0 2px #ffd7ee80,inset 0 -1px 2px #ff8ac9,0 0 3px #ff43a696,0 0 24px #ff009035,0 20px 38px #000a; }

#downloads .collection-button { position:relative; display:flex; align-items:center; justify-content:center; gap:17px; border:1px solid #ffa5d0b3; border-radius:10px; background:linear-gradient(135deg,#f9dcec15,transparent 35% 75%,#ff9fdc17),#10070ca6; color:#fff; text-decoration:none; box-shadow:inset 0 1px 1px #ffe0f6b8,inset 0 -1px 2px #ff229870,0 0 10px #ff009031; text-shadow:none; transition:background 220ms,box-shadow 220ms,color 220ms; }
#downloads .collection-button svg { width:32px; height:32px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; flex:none; }
#downloads .collection-button:hover { color:#fff; background:linear-gradient(135deg,#ffb6e533,transparent 65%),#270c1dcc; box-shadow:inset 0 1px 1px #fff,0 0 18px #ff009069; }
#downloads a:focus-visible { outline:2px solid #fff; outline-offset:5px; }
#downloads .downloads-stage { position:relative; width:100%; aspect-ratio:3/1; max-height:560px; min-height:250px; margin-top:14px; overflow:hidden; pointer-events:none; mask-image:linear-gradient(0deg,transparent,#000 16% 93%,transparent); }
#downloads .downloads-stage__image { width:100%; height:100%; display:block; object-fit:cover; animation:rebel-stage-breathe 16s ease-in-out infinite alternate; animation-play-state:paused; transform-origin:50% 70%; }
#downloads .downloads-stage.is-visible .downloads-stage__image { animation-play-state:running; }
@keyframes rebel-stage-breathe { from { transform:scale(1); } to { transform:scale(1.025) translateY(-5px); } }
#downloads .rebel-collection { position:relative; z-index:1; padding-top:4px; padding-bottom:75px; }
#downloads .collection-heading { text-align:center; margin:0 auto 36px; }
#downloads #collection-title { margin:0; color:#fff; font:400 clamp(52px,5.3vw,88px)/.97 var(--display); letter-spacing:-.005em; }
#downloads .collection-heading__intro { display:block; font:400 15px/1.4 var(--body); letter-spacing:.24em; color:#d0c6cd; margin-bottom:12px; }
#downloads .collection-heading__name { display:inline; }
#downloads .collection-heading__suffix { color:var(--pink); display:inline; }
#downloads .collection-heading__rule { display:block; height:3px; width:90px; margin:22px auto 0; background:linear-gradient(90deg,transparent,var(--pink) 20% 80%,transparent); box-shadow:0 0 9px #ff009060; }
#downloads .offers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; padding:0; margin:0; }
#downloads .offers > .product-card { display:flex; align-items:center; flex-direction:column; padding:22px 24px 27px; text-align:center; min-height:0; border-radius:16px; }
#downloads .product-visual { display:grid; place-items:center; width:100%; aspect-ratio:1; min-height:0; margin-bottom:20px; position:relative; }
#downloads .offer-product { width:100%; height:100%; max-height:none; object-fit:contain; margin:0; padding:0; background:transparent; mix-blend-mode:normal; filter:drop-shadow(0 12px 15px #0008); transition:transform 450ms cubic-bezier(.2,.7,.1,1); }
#downloads .product-card--cap .offer-product { width:100%; height:100%; mix-blend-mode:lighten; filter:none; }
#downloads .product-copy { width:100%; margin-top:auto; }
#downloads .product-family { color:#c6bfc4; font:400 11px/1.35 var(--body); letter-spacing:.09em; margin:0 0 8px; min-height:15px; flex:none; }
#downloads .offers h3 { margin:0; color:#fff; font:400 clamp(32px,2.9vw,47px)/1 var(--display); overflow-wrap:normal; }
#downloads .product-detail { font:400 15px/1.5 var(--body); color:#d3cbd0; margin:7px 0 22px; flex:none; }
#downloads .product-card .collection-button { width:100%; min-height:49px; font:400 23px/1 var(--display); padding:10px 18px; gap:14px; }
#downloads .product-card .collection-button svg { width:21px; height:21px; }
#downloads .site-footer { border-top:0; background:#000; }

@media(min-width:1001px) and (max-height:760px) {
 #downloads .route-header { height:64px; }
 #downloads .downloads-opening { margin:12px auto 54px; }
 #downloads #downloads-title { font-size:72px; }
 #downloads .downloads-intro .brush-copy.spray-copy { max-width:340px; margin:12px 0 18px; }
 #downloads .download-pack { padding:14px 18px; grid-template-columns:82px minmax(0,1fr); }
 #downloads .pack-visual { width:82px; }
 #downloads .download-pack h3 { font-size:31px; }
 #downloads .download-pack h3 em { font-size:22px; }
 #downloads .pack-tags { font-size:14px; margin-top:6px; }
 #downloads .downloads-character { width:56vw; }
}
@media(max-width:1100px) {
 #downloads { --collection-gutter:4vw; }
 #downloads .download-packs { width:60%; }
 #downloads .download-meta .collection-button { min-width:105px; font-size:16px; }
 #downloads .download-pack { gap:14px; }
 #downloads .download-pack h3 { font-size:30px; }
 #downloads .downloads-character { right:-6%; width:59vw; }
 #downloads .offers { gap:18px; }
 #downloads .offers > .product-card { padding:16px 16px 22px; }
 #downloads .product-family { font-size:10px; min-height:28px; }
 #downloads .offers h3 { font-size:32px; }
 #downloads .product-card .collection-button { font-size:20px; padding:10px; }
 #downloads .collection-heading__suffix { display:block; }
}
@media(max-width:760px) {
 #downloads { --collection-gutter:22px; }
 #downloads .route-header { height:65px; }
 #downloads .route-header a { font-size:22px; }
 #downloads .route-header p { font-size:22px; }
 #downloads .downloads-opening { justify-content:flex-start; margin:16px auto 66px; }
 #downloads .downloads-intro { width:100%; }
 #downloads #downloads-title { font-size:clamp(48px,9.5vw,70px); }
 #downloads .downloads-intro .brush-copy.spray-copy { max-width:360px; margin:12px 0 16px; }
 #downloads .downloads-character { width:340px; height:420px; right:-26px; bottom:auto; top:115px; opacity:1; }
 #downloads .download-packs { width:100%; margin-top:200px; gap:12px; max-width:none; }
 #downloads .download-pack { grid-template-columns:80px minmax(0,1fr); padding:14px; gap:16px; }
 #downloads .pack-visual { width:80px; }
 #downloads .download-meta .collection-button { min-width:116px; font-size:15px; min-height:64px; }
 #downloads .download-pack h3 { font-size:32px; }
 #downloads .download-pack h3 em { font-size:22px; }
 #downloads .pack-tags { font-size:13px; margin-top:6px; }
 #downloads .downloads-stage { min-height:0; height:240px; aspect-ratio:auto; margin-top:15px; }
 #downloads .rebel-collection { padding-top:15px; padding-bottom:40px; }
 #downloads #collection-title { font-size:clamp(41px,10.5vw,68px); }
 #downloads .collection-heading { margin-bottom:30px; }
 #downloads .collection-heading__intro { font-size:12px; margin-bottom:10px; letter-spacing:.22em; }
 #downloads .collection-heading__suffix { display:block; }
 #downloads .collection-heading__rule { margin-top:17px; width:68px; }
 #downloads .offers { grid-template-columns:1fr; gap:25px; }
 #downloads .offers > .product-card { padding:22px 25px 28px; }
 #downloads .product-visual { max-width:365px; margin-bottom:18px; }
 #downloads .product-family { min-height:0; font-size:11px; }
 #downloads .offers h3 { font-size:39px; }
 #downloads .product-detail { margin-bottom:21px; }
 #downloads .product-card .collection-button { min-height:51px; font-size:23px; }
 #downloads .site-footer .footer-brand img,#downloads .site-footer .footer-brand span { width:180px; }
}
@media(max-width:450px) {
 #downloads { --collection-gutter:18px; }
 #downloads .downloads-intro .brush-copy.spray-copy { max-width:270px; }
 #downloads .downloads-character { width:250px; height:195px; right:0; top:194px; }
 #downloads .download-packs { margin-top:185px; }
 #downloads .download-pack { grid-template-columns:64px minmax(0,1fr); padding:12px; gap:12px; }
 #downloads .pack-visual { width:64px; }
 #downloads .download-meta { column-gap:8px; }
 #downloads .download-pack h3 { font-size:28px; display:block; }
 #downloads .download-pack h3 em { display:block; margin-top:4px; }
 #downloads .download-pack h3 em { font-size:21px; }
 #downloads .pack-tags { font-size:14px; }
 #downloads .pack-tags li:last-child { display:none; }
 #downloads .download-meta .collection-button { min-width:76px; font-size:14px; padding:5px; max-width:85px; text-align:center; }
 #downloads .download-meta .collection-button svg { width:38px; height:38px; padding:9px; }
 #downloads .downloads-motion-controls { align-items:flex-start; flex-direction:column; gap:4px; bottom:16px; }
}
@media(min-width:451px) and (max-width:760px) {
 #downloads .download-packs { width:62%; margin-top:32px; }
 #downloads .downloads-character { width:360px; height:450px; right:-56px; top:185px; }
 #downloads .download-pack { grid-template-columns:62px minmax(0,1fr); padding:14px; gap:12px; }
 #downloads .pack-visual { width:62px; }
 #downloads .download-meta { display:block; }
 #downloads .download-pack h3 { font-size:30px; gap:8px; }
 #downloads .download-pack h3 em { font-size:21px; }
 #downloads .pack-tags { font-size:14px; }
 #downloads .pack-tags li:last-child { display:none; }
 #downloads .download-meta .collection-button { flex-direction:row; justify-content:flex-start; width:fit-content; min-height:44px; min-width:0; margin:6px 0 -4px; padding:0; font-size:15px; gap:9px; }
 #downloads .download-meta .collection-button svg { width:32px; height:32px; padding:7px; }
}
@media(prefers-reduced-motion:reduce) {
 #downloads .downloads-stage__image { animation:none; }
 #downloads .fluffy-rig,#downloads .fluffy-arm,#downloads .download-pack,#downloads .download-meta .collection-button svg { transform:none!important; transition:none; }
}
