/* Studio homepage: arcade attract mode on top of theme A (www.danielgs.de). */
.look-lq[data-site="studio"] { --tint: 255, 46, 136; --tint2: 255, 210, 63; --world: #ff2e88; }
.look-lq[data-site="studio"][data-world="iow"] { --world: #ff2a36; }
.look-lq[data-site="studio"][data-world="shady"] { --world: #ff40a0; }
.look-lq[data-site="studio"][data-world="memefarm"] { --world: #7dff5a; }

/* hero = arcade screen */
.arc-hero { position: relative; isolation: isolate; overflow: hidden; margin: 16px 16px 0; padding: clamp(22px, 4vw, 44px) clamp(14px, 3vw, 34px) clamp(18px, 3vw, 30px); min-height: min(calc(100svh - 32px), 980px); display: flex; flex-direction: column; gap: clamp(14px, 2.4vw, 26px); border-radius: 30px; background: radial-gradient(70% 55% at 50% 0%, rgba(var(--tint), 0.32), transparent 70%), linear-gradient(180deg, #120f24, #07060e 70%); border: 3px solid #2d2950; box-shadow: 0 0 0 1px rgba(var(--tint), 0.25), 0 30px 80px rgba(0, 0, 0, 0.6); transition: box-shadow 0.6s; }
.arc-grid { position: absolute; left: -50%; right: -50%; bottom: -10%; height: 60%; z-index: -3; pointer-events: none;
  background-image: linear-gradient(rgba(var(--tint), 0.55) 2px, transparent 2px), linear-gradient(90deg, rgba(var(--tint), 0.55) 2px, transparent 2px);
  background-size: 64px 64px; transform: perspective(420px) rotateX(62deg); transform-origin: 50% 100%;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 45%); mask-image: linear-gradient(180deg, transparent, #000 45%);
  animation: arc-floor 2.4s linear infinite; opacity: 0.55; transition: background-image 0.6s; }
@keyframes arc-floor { to { background-position: 0 64px, 0 0; } }
.arc-sparks { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -2; pointer-events: none; }
.arc-head { position: relative; z-index: 2; }
html.look-lq.theme-a .arc-title { margin: 10px 0 0; font: 400 clamp(3rem, 8.4vw, 7.6rem)/0.9 "Anton", sans-serif; text-transform: uppercase; letter-spacing: 0.01em; color: #fff; }
.arc-l1 { display: inline-block; text-shadow: 0 0 18px rgba(255, 255, 255, 0.35), 0 0 60px rgba(var(--tint), 0.45); animation: arc-on 1.6s steps(1) both; }
.arc-l2 { display: inline-block; color: #ffd23f; text-shadow: 5px 5px 0 #ff2e88, 0 0 40px rgba(255, 210, 63, 0.45); animation: arc-flicker 7s 3s infinite; }
@keyframes arc-on { 0% { opacity: 0; } 10% { opacity: 1; } 16% { opacity: 0.2; } 24% { opacity: 1; } 30% { opacity: 0.4; } 36%, 100% { opacity: 1; } }
@keyframes arc-flicker { 0%, 92%, 100% { opacity: 1; } 93% { opacity: 0.35; } 95% { opacity: 1; } 96% { opacity: 0.55; } }
.arc-start { margin: 14px 0 0; font: 400 clamp(0.95rem, 1.6vw, 1.15rem)/1 "Anton", sans-serif; letter-spacing: 0.32em; text-transform: uppercase; color: #36e0ff; text-shadow: 0 0 12px rgba(54, 224, 255, 0.8); animation: arc-blink 1.1s steps(1) infinite; }
@keyframes arc-blink { 50% { opacity: 0; } }

/* the three worlds as an accordion; the active one opens */
.arc-worlds { position: relative; z-index: 2; flex: 1; display: flex; gap: 12px; min-height: clamp(380px, 56vh, 640px); max-height: 680px; }
.arc-world { position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; isolation: isolate; border-radius: 22px; color: #fff; text-decoration: none; border: 3px solid #1b1830; box-shadow: 0 0 0 2px #3a3566, 0 24px 50px rgba(0, 0, 0, 0.55); transition: flex-grow 0.7s cubic-bezier(.2,.8,.2,1), box-shadow 0.4s; }
.look-lq a.arc-world { color: #fff; }
.arc-world.is-on { flex-grow: 2.3; }
.arc-world:focus-visible { outline: 3px solid #ffd23f; outline-offset: 3px; }
.arc-art, .arc-vid { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; background-size: cover; background-position: center; object-fit: cover; transform: scale(1.04); transition: transform 6s ease-out, filter 0.6s; }
.arc-world.is-on .arc-art, .arc-world.is-on .arc-vid { transform: scale(1.14); }
.arc-vid { opacity: 0; transition: opacity 0.8s, transform 6s ease-out; }
.arc-vid.playing { opacity: 1; }
.arc-world::after { content: ""; position: absolute; inset: 0; z-index: -1; }
.arc-world:not(.is-on) .arc-art, .arc-world:not(.is-on) .arc-vid { filter: saturate(0.55) brightness(0.6); }
.arc-world .world-txt { position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; padding: clamp(16px, 2.6vw, 30px); display: grid; gap: 6px; }
.arc-world .world-tag, .arc-world .world-go { max-height: 0; opacity: 0; overflow: hidden; transition: max-height 0.5s, opacity 0.4s, margin 0.4s; }
.arc-world.is-on .world-tag { max-height: 6em; opacity: 1; }
.arc-world.is-on .world-go { max-height: 4em; opacity: 1; }
.arc-world .world-name { font-size: clamp(1.7rem, 3.2vw, 3.4rem); }
.arc-world.is-on .world-name { font-size: clamp(2.2rem, 4.4vw, 4.4rem); }
.world-iow.is-on { box-shadow: 0 0 0 2px #ff2a36, 0 0 60px rgba(255, 20, 30, 0.45); }
.world-shady.is-on { box-shadow: 0 0 0 2px #ff40a0, 0 0 60px rgba(255, 64, 160, 0.5), 0 0 120px rgba(54, 224, 255, 0.2); }
.world-memefarm.is-on { box-shadow: 0 0 0 2px #7dff5a, 0 0 60px rgba(125, 255, 90, 0.35); }

/* little actors */
.arc-rat, .arc-pig { position: absolute; z-index: 1; pointer-events: none; background: var(--f0) center / contain no-repeat; animation: arc-frames 0.24s steps(1) infinite; }
@keyframes arc-frames { 50% { background-image: var(--f1); } }
.arc-rat { width: 96px; height: 52px; bottom: 34%; left: 0; animation: arc-frames 0.16s steps(1) infinite, arc-run 7s linear infinite; }
@keyframes arc-run { 0% { transform: translateX(-120px); } 45%, 100% { transform: translateX(calc(var(--w, 900px) + 40px)); } }
.arc-pig { width: 110px; height: 110px; bottom: 30%; right: 8%; animation: arc-frames 0.4s steps(1) infinite, arc-bob 2.8s ease-in-out infinite; }
@keyframes arc-bob { 50% { translate: 0 -10px; } }
.arc-hype { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.arc-hype i { position: absolute; bottom: 40%; font: 400 1.05rem/1 "Anton", sans-serif; font-style: normal; letter-spacing: 0.04em; padding: 6px 9px; border-radius: 9px; background: #1d5a12; color: #b8ff8a; box-shadow: 0 4px 0 #0e3307; opacity: 0; animation: arc-rise 6s linear infinite; }
.arc-hype i.down { background: #6a1010; color: #ffb0a8; box-shadow: 0 4px 0 #3a0606; }
.arc-hype i:nth-child(1) { left: 10%; animation-delay: 0s; }
.arc-hype i:nth-child(2) { left: 52%; animation-delay: 1.2s; }
.arc-hype i:nth-child(3) { left: 28%; animation-delay: 2.4s; }
.arc-hype i:nth-child(4) { left: 62%; animation-delay: 3.6s; }
.arc-hype i:nth-child(5) { left: 18%; animation-delay: 4.8s; }
@keyframes arc-rise { 0% { opacity: 0; transform: translateY(30px) scale(0.8); } 12% { opacity: 1; transform: translateY(0) scale(1); } 70% { opacity: 1; } 100% { opacity: 0; transform: translateY(-180px) scale(1); } }
.arc-world:not(.is-on) .arc-hype, .arc-world:not(.is-on) .arc-rat { opacity: 0; }

/* ticker */
.arc-ticker { overflow: hidden; margin: 22px 0 0; border-block: 3px solid #2d2950; background: #0e0c1c; }
.arc-ticker div { display: flex; width: max-content; animation: arc-tick 45s linear infinite; }
.arc-ticker span { padding: 16px 26px; font: 400 clamp(1.5rem, 3.2vw, 2.5rem)/1 "Anton", sans-serif; text-transform: uppercase; color: transparent; -webkit-text-stroke: 1px rgba(244, 241, 255, 0.4); }
.arc-ticker span:nth-child(3n+1) { color: #ff2a36; -webkit-text-stroke: 0; }
.arc-ticker span:nth-child(3n+2) { color: #ffd23f; -webkit-text-stroke: 0; text-shadow: 3px 3px 0 #ff2e88; }
.arc-ticker span:nth-child(3n) { color: #7dff5a; -webkit-text-stroke: 0; }
.arc-ticker span:nth-child(6n) { color: transparent; -webkit-text-stroke: 1px rgba(244, 241, 255, 0.4); }
@keyframes arc-tick { to { transform: translateX(-50%); } }

/* sections */
.arc-sec { padding: clamp(64px, 9vw, 120px) 0 0; }
html.look-lq.theme-a .arc-h, html.look-lq.theme-a .arc-about h2 { margin: 10px 0 30px; font-size: clamp(2.4rem, 5.6vw, 4.6rem); line-height: 0.95; color: #fff; }
.arc-h span, .arc-about h2 span, .arc-cta h2 span { color: #ffd23f; text-shadow: 4px 4px 0 #ff2e88; }
.arc-about { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(28px, 6vw, 80px); align-items: start; }
html.look-lq.theme-a .arc-about h2 { margin: 0; }
.arc-about p { margin: 0 0 16px; color: var(--text-2); line-height: 1.65; }
.arc-about .lead { font-size: 1.25rem; color: var(--text); }
.arc-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 50px 0 0; }
.arc-stats div { padding: 22px; background: #17142b; border: 3px solid #2d2950; border-radius: 20px; box-shadow: 0 6px 0 #100e1f; }
.arc-stats dt { font: 400 clamp(2.8rem, 5vw, 4.2rem)/1 "Anton", sans-serif; color: #36e0ff; text-shadow: 0 0 22px rgba(54, 224, 255, 0.5); }
.arc-stats div:nth-child(2) dt { color: #ffd23f; text-shadow: 3px 3px 0 #ff2e88; }
.arc-stats div:nth-child(3) dt { color: #ff2e88; text-shadow: 0 0 22px rgba(255, 46, 136, 0.6); }
.arc-stats div:nth-child(4) dt { color: #7dff5a; text-shadow: 0 0 22px rgba(125, 255, 90, 0.45); }
.arc-stats dd { margin: 8px 0 0; color: var(--text-2); }

/* one row per game */
.arc-row { --c: #ff2e88; display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(24px, 5vw, 64px); align-items: center; margin-bottom: clamp(56px, 8vw, 110px); }
.arc-row.arc-iow { --c: #ff2a36; }
.arc-row.arc-shady { --c: #ff40a0; }
.arc-row.arc-memefarm { --c: #7dff5a; }
.arc-row.flip .arc-shots { order: 2; }
.arc-shots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.arc-shots img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 12px; cursor: zoom-in; border: 2px solid #2d2950; transition: border-color 0.2s, transform 0.2s; }
.arc-shots img:hover { border-color: var(--c); transform: translateY(-2px); }
.arc-shots img.main { grid-column: 1 / -1; border-radius: 18px; box-shadow: 0 0 0 2px var(--c), 0 0 50px color-mix(in srgb, var(--c) 35%, transparent), 0 24px 50px rgba(0, 0, 0, 0.5); border: 0; }
.arc-shots.portrait { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; }
.arc-shots.portrait img { aspect-ratio: 600 / 1300; border-radius: 18px; border: 6px solid #1b1830; box-shadow: 0 0 0 2px #3a3566, 0 20px 40px rgba(0, 0, 0, 0.5); }
.arc-shots.portrait img:nth-child(odd) { transform: translateY(18px) rotate(-2deg); }
.arc-shots.portrait img:nth-child(even) { transform: translateY(-12px) rotate(2deg); }
.arc-shots.portrait img:hover { transform: translateY(-20px) rotate(0) scale(1.04); border-color: var(--c); }
.arc-num { font: 400 1rem/1.2 "Anton", sans-serif; letter-spacing: 0.1em; text-transform: uppercase; color: var(--c); }
html.look-lq.theme-a .arc-row-txt h3 { margin: 10px 0 12px; font: 400 clamp(2.6rem, 5vw, 4.2rem)/0.95 "Anton", sans-serif; text-transform: uppercase; color: #fff; }
.arc-iow h3 { color: #ff2a36 !important; text-shadow: 0 0 24px rgba(255, 0, 20, 0.55); }
.arc-shady h3 { color: #fff7d6 !important; text-shadow: 0 0 6px #fff, 0 0 18px #ffcf3f, 0 0 40px #ff40a0; }
.arc-memefarm h3 { color: #ffd23f !important; text-shadow: 0 4px 0 #2b5f1c; }
.arc-row-txt p { margin: 0 0 12px; color: var(--text-2); font-size: 1.05rem; line-height: 1.6; }
.arc-row-txt .arc-row-tag { color: var(--text); font-size: 1.2rem; font-weight: 600; }
.arc-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 22px; padding: 0; list-style: none; }
.arc-chips li { padding: 7px 12px; border-radius: 10px; background: #1f1b38; border: 2px solid color-mix(in srgb, var(--c) 55%, #2d2950); font-weight: 600; font-size: 0.92rem; }
.arc-row .lq-btn { background: var(--c); }
html.look-lq.theme-a .arc-memefarm .lq-btn { color: #14300c; box-shadow: 0 5px 0 #2b7a1c; }
html.look-lq.theme-a .arc-iow .lq-btn { box-shadow: 0 5px 0 #8a0c14; }

/* next steps */
.arc-next { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.arc-next-card { --c: #ff2e88; position: relative; display: grid; gap: 8px; align-content: start; padding: 24px 22px 24px 54px; text-decoration: none; background: #17142b; border: 3px solid #2d2950; border-radius: 20px; transition: border-color 0.2s, transform 0.2s; }
.look-lq a.arc-next-card { color: var(--text-2); }
.arc-next-card.arc-iow { --c: #ff2a36; } .arc-next-card.arc-shady { --c: #ff40a0; } .arc-next-card.arc-memefarm { --c: #7dff5a; }
.arc-next-card:hover { border-color: var(--c); transform: translateY(-3px); }
.arc-next-card b { font: 400 1.5rem/1 "Anton", sans-serif; text-transform: uppercase; color: #fff; }
.arc-when { font-weight: 800; color: var(--c); }
.arc-dot { position: absolute; left: 22px; top: 28px; width: 14px; height: 14px; background: var(--c); transform: rotate(45deg); box-shadow: 0 0 16px var(--c); animation: arc-pulse 1.8s ease-in-out infinite; }
@keyframes arc-pulse { 50% { box-shadow: 0 0 2px var(--c); opacity: 0.6; } }

/* shop teaser */
.arc-shop-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 30px; margin-bottom: 26px; }
.arc-shop-head p { margin: 0; max-width: 56ch; color: var(--text-2); line-height: 1.6; }
html.look-lq.theme-a .arc-shop-head .arc-h { margin-bottom: 14px; }
.arc-shop { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.arc-pack { overflow: hidden; text-decoration: none; background: #17142b; border: 3px solid #2d2950; border-radius: 20px; transition: border-color 0.2s, transform 0.2s; }
.look-lq a.arc-pack { color: var(--text); }
.arc-pack:hover { border-color: #ffd23f; transform: translateY(-4px); }
.arc-pack img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; transition: transform 0.5s; }
.arc-pack:hover img { transform: scale(1.06); }
.arc-pack-txt { display: grid; gap: 4px; padding: 16px 18px 18px; }
.arc-pack-txt b { font: 400 1.4rem/1 "Anton", sans-serif; text-transform: uppercase; }
.arc-pack-txt span { color: var(--text-2); }
.arc-pack-txt .arc-price { margin-top: 6px; font: 400 1.4rem/1 "Anton", sans-serif; color: #ffd23f; }
.arc-plugins { margin: 18px 0 0; color: var(--text-2); }

/* final call */
.arc-cta { position: relative; isolation: isolate; overflow: hidden; margin: clamp(80px, 11vw, 140px) 16px 0; padding: clamp(80px, 11vw, 140px) 0; text-align: center; border-radius: 30px; border: 3px solid #2d2950; }
.arc-cta-bg { position: absolute; inset: 0; z-index: -1; display: grid; grid-template-columns: repeat(3, 1fr); }
.arc-cta-bg span { background-size: cover; background-position: center; filter: saturate(0.7) brightness(0.45); }
.arc-cta-bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(70% 80% at 50% 50%, rgba(11, 10, 20, 0.55), rgba(11, 10, 20, 0.92)); }
html.look-lq.theme-a .arc-cta h2 { margin: 0 0 18px; font-size: clamp(3rem, 8vw, 6.6rem); line-height: 0.92; color: #fff; }
.arc-cta p { margin: 0 auto 28px; max-width: 46ch; color: var(--text); font-size: 1.15rem; }
.arc-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.arc-social { display: inline-flex; align-items: center; padding: 0 18px; min-height: 46px; border-radius: 12px; font: 400 1rem/1 "Anton", sans-serif; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; background: #2a2650; box-shadow: 0 5px 0 #15122b; transition: transform 0.08s, box-shadow 0.08s; }
.look-lq a.arc-social { color: #fff; }
.arc-social:hover { transform: translateY(2px); box-shadow: 0 3px 0 #15122b; background: #36307a; }

/* scroll reveal (only when JS runs) */
.js-reveal [data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity 0.7s ease, transform 0.7s cubic-bezier(.2,.8,.2,1); }
.js-reveal [data-reveal].in { opacity: 1; transform: none; }

@media (max-width: 960px) {
  .arc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .arc-next, .arc-shop { grid-template-columns: 1fr; }
}
@media (hover: none), (max-width: 820px) {
  .arc-hero { margin: 10px 8px 0; min-height: 0; border-radius: 24px; }
  .arc-worlds { flex-direction: column; min-height: 0; max-height: none; }
  .arc-world, .arc-world.is-on { flex: none; height: 52vh; min-height: 340px; max-height: 520px; }
  .arc-world .world-tag, .arc-world .world-go { max-height: 6em; opacity: 1; }
  .arc-world .world-name, .arc-world.is-on .world-name { font-size: clamp(2.2rem, 9vw, 3.4rem); }
  .arc-world:not(.is-on) .arc-art, .arc-world:not(.is-on) .arc-vid { filter: none; }
  .arc-world:not(.is-on) .arc-hype, .arc-world:not(.is-on) .arc-rat { opacity: 1; }
  .arc-cta { margin-inline: 8px; }
}
@media (max-width: 760px) {
  .arc-about, .arc-row { grid-template-columns: 1fr; }
  .arc-row.flip .arc-shots { order: 0; }
  .arc-stats div { padding: 16px; }
  .arc-cta-bg { grid-template-columns: 1fr; }
  .arc-cta-bg span:not(:first-child) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .arc-grid, .arc-l1, .arc-l2, .arc-start, .arc-ticker div, .arc-rat, .arc-pig, .arc-hype i, .arc-dot { animation: none; }
  .arc-hype { display: none; }
  .arc-world, .arc-art, .arc-vid { transition: none; }
  .js-reveal [data-reveal] { opacity: 1; transform: none; transition: none; }
}
@media (max-width: 820px) { .arc-sec, .arc-cta { scroll-margin-top: 110px; } }
