/* Approved game service page: shared by production and its historical preview. */
.game-service-page { --page-accent: var(--pink); --game-copy: #bac1d1; --game-rule: #443043; }
.game-service-page .site-brand { min-height: 44px; }
.game-service-page :is(a,button):focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.game-service-page [id] { scroll-margin-top: 112px; }
.game-hero { padding-block: 24px 52px; }
.game-hero .breadcrumb { margin-bottom: 36px; }
.game-hero__layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(32px,4vw,64px); align-items: center; }
.game-service-page .game-hero h1 { font: 400 clamp(52px,5.8vw,82px)/1.18 var(--headline-font); margin: 16px 0 24px; letter-spacing: -.02em; }
.game-hero__description { font-size: 18px; color: var(--game-copy); line-height: 1.85; margin: 0; max-width: 28em; }
.game-service-page :is(.game-hero__description, .game-engagement__stage > p, .game-inquiry__copy > p, .game-inquiry__details li) { text-wrap: pretty; }
.game-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 30px; }
.game-scope-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: 14px; color: var(--game-copy); }
.game-scope-link svg { width: 17px; color: var(--pink); }
/* Same scene vocabulary and ground geometry as the adopted services overview. */
.game-brand-scene { min-width: 0; margin: 0; }
.game-brand-scene__stage { position: relative; padding-block: 24px 4px; isolation: isolate; }
.game-brand-scene__stage::before, .game-brand-scene__stage::after { content: ""; position: absolute; width: 44px; height: 20px; pointer-events: none; opacity: .5; }
.game-brand-scene__stage::before { top: 16px; left: 0; border-top: 1px solid var(--pink); border-left: 1px solid var(--pink); }
.game-brand-scene__stage::after { bottom: 8px; right: 0; border-right: 1px solid var(--pink); border-bottom: 1px solid var(--pink); }
.game-brand-world { display: block; width: 100%; height: auto; overflow: visible; stroke-linejoin: round; }
.game-brand-floor { fill: color-mix(in srgb,var(--pink) 3%,var(--ink)); stroke: color-mix(in srgb,var(--pink) 30%,transparent); stroke-width: .8; }
.game-brand-grid { stroke: color-mix(in srgb,var(--pink) 20%,transparent); stroke-width: .7; }
.game-brand-scenery { fill: color-mix(in srgb,var(--pink) 4%,var(--ink)); stroke: color-mix(in srgb,var(--pink) 50%,var(--muted)); stroke-width: 1; opacity: .5; }
.game-brand-edge { stroke: color-mix(in srgb,var(--pink) 50%,transparent); stroke-width: 1.1; }
.game-brand-shadow { fill: color-mix(in srgb,var(--ink) 78%,var(--pink)); opacity: .75; }
.game-brand-contact { stroke: var(--pink); stroke-width: 1.2; opacity: .7; transform-origin: 162px 154px; filter: drop-shadow(0 0 4px color-mix(in srgb,var(--pink) 35%,transparent)); }
.game-brand-contact > path { stroke: var(--cyan); opacity: .65; stroke-width: 1; }
.game-brand-character { transform-origin: 162px 150px; filter: drop-shadow(3px 4px 0 color-mix(in srgb,var(--pink) 22%,transparent)); }
.game-brand-scene figcaption { margin: 16px 0 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.game-brand-scene:hover .game-brand-character, .game-hero:focus-within .game-brand-character { animation: game-character-step 1.6s ease-in-out 1; }
.game-brand-scene:hover .game-brand-contact, .game-hero:focus-within .game-brand-contact { animation: game-contact-light 1.6s ease-in-out 1; }
@keyframes game-character-step { 0%,100% { transform: translate(0,0) rotate(0); } 32% { transform: translate(10px,-7px) rotate(2deg); } 65% { transform: translate(-3px,-3px) rotate(-1deg); } }
@keyframes game-contact-light { 0%,100% { opacity: .7; } 32% { opacity: 1; transform: scale(1.06); } 65% { opacity: .85; transform: scale(.97); } }
.game-engagement { padding-block: 64px 44px; }
.game-engagement__heading { display: flex; justify-content: space-between; align-items: end; gap: 32px; margin-bottom: 36px; }
.game-engagement h2, .game-inquiry h2 { font: 400 clamp(32px,3.2vw,46px)/1.3 var(--headline-font); margin: 12px 0 0; }
.game-engagement__heading > p { max-width: 25em; color: var(--game-copy); font-size: 16px; line-height: 1.8; margin: 0; }
.game-engagement__stages { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid #855069; border-bottom: 1px solid var(--game-rule); }
.game-engagement__stage { position: relative; padding: 28px 30px 32px; border-left: 1px solid var(--game-rule); display: flex; flex-direction: column; }
.game-engagement__stage:first-child { padding-left: 0; border-left: 0; }
.game-engagement__stage:last-child { padding-right: 0; }
.game-engagement__stage::before { content: ""; position: absolute; top: -2px; width: 28px; height: 3px; background: var(--pink); }
.game-engagement__index { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.game-engagement__index > span:first-child { color: #865b72; font: 400 26px/1.2 var(--display-font); }
.game-engagement__index > span:last-child { color: #b89cac; font-size: 12px; }
.game-engagement h3 { --card-accent: var(--pink); font: 400 clamp(28px,2.5vw,36px)/1.4 var(--headline-font); margin: 25px 0 20px; animation: none; }
.game-engagement__stage > p { color: var(--game-copy); font-size: 16px; line-height: 1.85; margin: 0 0 26px; flex: 1; }
.game-engagement__stage ul { display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; padding: 20px 0 0; border-top: 1px solid var(--game-rule); margin: 0; color: #a89dad; font-size: 14px; line-height: 1.7; }
.game-engagement__note { color: var(--muted); font-size: 14px; line-height: 1.8; margin: 20px 0 0; }
.game-inquiry { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 64px; padding-block: 56px 64px; }
.game-inquiry__copy > p:not(.section-kicker) { max-width: 29em; color: var(--game-copy); font-size: 16px; line-height: 1.85; margin: 20px 0 24px; }
.game-inquiry__details { align-self: center; border-top: 1px solid #6d455d; }
.game-inquiry__details > p { font-size: 13px; color: #b599a9; margin: 20px 0; }
.game-inquiry__details ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; }
.game-inquiry__details li { padding-block: 20px; border-top: 1px solid var(--game-rule); color: var(--game-copy); font-size: 16px; line-height: 1.8; }
.game-inquiry__details li span { display: block; color: #8f6179; font: 11px/1.5 var(--mono-font); margin-bottom: 8px; }
@media(max-width:1100px) {
  .game-hero__layout { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 28px; }
  .game-hero__description { font-size: 17px; }
  .game-engagement__stage { padding-inline: 22px; }
  .game-inquiry { gap: 40px; }
}
@media(max-width:800px) {
  .game-hero__layout { grid-template-columns: 1fr; gap: 36px; }
  .game-brand-scene { width: min(100%,650px); justify-self: center; }
  .game-engagement__heading { display: block; }
  .game-engagement__heading > p { margin-top: 18px; }
  .game-engagement__stages { display: block; }
  .game-engagement__stage, .game-engagement__stage:first-child, .game-engagement__stage:last-child { padding: 28px 0; border-left: 0; border-bottom: 1px solid var(--game-rule); }
  .game-engagement__stage:last-child { border-bottom: 0; }
  .game-engagement__stage::before { display: none; }
  .game-engagement h3 { margin-top: 18px; }
  .game-engagement__stage > p { margin-bottom: 20px; }
  .game-engagement__stage ul { border-top: 0; padding-top: 0; }
  .game-inquiry { grid-template-columns: 1fr; gap: 32px; }
}
@media(max-width:520px) {
  .game-hero { padding-block: 16px 36px; }
  .game-hero .breadcrumb { margin-bottom: 26px; }
  .game-service-page .game-hero h1 { font-size: 52px; }
  .game-hero__description { font-size: 16px; }
  .game-hero__actions { gap: 12px 20px; margin-top: 24px; }
  .game-brand-scene__stage { padding-top: 12px; }
  .game-brand-scene__stage::before, .game-brand-scene__stage::after { width: 28px; height: 14px; }
  .game-engagement { padding-block: 40px 24px; }
  .game-engagement__stage ul, .game-engagement__note { font-size: 15px; }
  .game-inquiry { padding-block: 40px 44px; }
  .game-inquiry__details ul { gap: 0 20px; }
}
@media(prefers-reduced-motion:reduce) {
  .game-service-page *, .game-service-page *::before, .game-service-page *::after { animation: none !important; transition: none !important; }
}
