/* Park Souls layout over the shared FNDG detail-page design and starfield. */
:root { color-scheme:dark; }
.parksouls-detail p,.parksouls-detail figure { margin:0; }
.parksouls-detail a:focus-visible,.parksouls-detail summary:focus-visible { outline:3px solid var(--dog);outline-offset:5px; }
.parksouls-detail .skip-link { position:fixed;top:10px;left:var(--pad);z-index:70;padding:10px 18px;border-radius:8px;background:var(--dog);color:#171006;transform:translateY(-200%); }
.parksouls-detail .skip-link:focus { transform:none; }
.parksouls-nav .nav-back { display:inline-flex;align-items:center;min-height:44px; }
.parksouls-nav .nav-play { border:1px solid var(--line-2);color:var(--ink); }
.parksouls-nav .brand .name small,.parksouls-detail .footer .col .h { color:var(--ink-2); }
.parksouls-detail .parksouls-hero { min-height:0;padding:150px 0 90px;text-align:left; }
.parksouls-hero-grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:clamp(32px,4.7vw,76px); }
.parksouls-detail .hero-copy,.parksouls-detail .hero-image { min-width:0; }
.parksouls-detail .eyebrow { color:var(--dog);font-family:var(--mono);font-size:11px;letter-spacing:.15em;line-height:1.6; }
/* Reuse the actual in-game title artwork, not a browser-rendered imitation. */
.parksouls-detail .parksouls-title { margin:24px 0 30px;line-height:1;max-width:600px; }
.parksouls-detail .parksouls-logo { position:relative;display:block;width:100%;aspect-ratio:1152 / 152;overflow:hidden;mix-blend-mode:screen; }
.parksouls-detail span.parksouls-logo img { position:absolute;display:block;width:145.138889%;max-width:none;height:auto;left:-24.479167%;top:-117.105263%;filter:url(#parksouls-ink);aspect-ratio:auto;border-radius:0; }
.parksouls-detail .parksouls-logo--compact { width:114px; }
.parksouls-detail .caption-brand { display:inline-flex;gap:8px;align-items:center; }
.parksouls-detail .caption-brand .parksouls-logo--compact { width:78px; }
.parksouls-detail .subtitle { font-size:clamp(20px,2.1vw,28px);line-height:1.35;letter-spacing:-.015em;margin-bottom:20px;color:var(--ink); }
.parksouls-detail .intro { color:var(--ink-2);font-size:16px;line-height:1.85;max-width:46ch; }
.parksouls-detail .platform-note { display:grid;gap:5px;margin:24px 0;color:var(--ink-2);font-size:12px;line-height:1.6; }
.parksouls-detail .platform-note strong { color:#dce0f4;font-weight:500; }
.parksouls-detail .platform-note span { font-size:11px; }
.parksouls-detail .hero-actions { display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px;margin-top:24px; }
.parksouls-detail .btn { --c:var(--dog);min-height:51px;justify-content:center;gap:12px;font-size:11px;letter-spacing:.025em;padding:15px 20px; }
.parksouls-detail .btn[aria-disabled="true"] { border-color:var(--line-2);background:rgba(255,255,255,.035);color:var(--ink-2);cursor:default;box-shadow:none;transform:none!important; }
.parksouls-detail .status { color:var(--ink-2);font-size:12px;line-height:1.75;margin-top:15px;max-width:50ch; }
.parksouls-detail .download-status { margin-top:5px; }
.parksouls-detail .launch-feedback { color:#ffe0a9;font-size:13px;line-height:1.7;margin-top:16px; }
.parksouls-detail .launch-feedback:empty { display:none; }
.parksouls-detail .text-link { display:inline-block;margin-top:16px;font-size:12px;text-decoration:underline;text-underline-offset:5px;color:var(--ink); }
.parksouls-detail .hero-image { position:relative; }
.parksouls-detail .hero-image::before { content:"";position:absolute;inset:-13% -8% 18%;background:radial-gradient(ellipse,rgba(255,192,97,.12),transparent 65%);filter:blur(25px);pointer-events:none; }
.parksouls-detail .image-frame { position:relative;padding:9px;background:rgba(9,10,28,.65);border:1px solid rgba(255,192,97,.28);border-radius:20px;box-shadow:0 32px 90px -30px rgba(0,0,0,.8),0 0 70px -30px rgba(255,192,97,.22); }
.parksouls-detail .hero-image img { width:100%;height:auto;aspect-ratio:16/9;border-radius:12px; }
.parksouls-detail .image-label { position:absolute;top:24px;right:24px;padding:6px 9px;border:1px solid rgba(255,255,255,.16);background:rgba(5,5,16,.76);font-family:var(--mono);font-size:8px;letter-spacing:.12em;color:#f2f1e5; }
.parksouls-detail figcaption { display:flex;justify-content:space-between;gap:16px;padding:15px 4px;color:var(--ink-2);font-family:var(--mono);font-size:9px;letter-spacing:.07em;line-height:1.6; }
.parksouls-detail .hero-caption { display:flex;gap:22px;align-items:flex-start;margin:22px 4px 0; }
.parksouls-detail .caption-rule { flex:0 0 38px;height:1px;margin-top:18px;background:var(--dog);box-shadow:0 0 16px rgba(255,192,97,.55); }
.parksouls-detail .hero-caption p { font-family:var(--display);font-size:clamp(23px,2.6vw,37px);line-height:1.35;letter-spacing:-.035em;color:var(--ink-2); }
.parksouls-detail .hero-caption strong { color:var(--ink);font-weight:500; }
.parksouls-detail .facts { list-style:none;padding:30px 0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;border-block:1px solid var(--line-2); }
.parksouls-detail .facts strong { font-family:var(--display);font-size:24px;line-height:1.3;font-weight:600;display:block;color:var(--ink); }
.parksouls-detail .facts span { display:block;margin-top:9px;color:var(--ink-2);font-size:12px;line-height:1.6; }
.parksouls-detail .parksouls-section { padding-block:90px; }
.parksouls-detail .section-heading { margin-bottom:34px; }
.parksouls-detail .section-heading h2 { font-size:clamp(32px,4.1vw,54px);line-height:1.15;letter-spacing:-.03em;margin:16px 0 20px; }
.parksouls-detail .section-intro { max-width:60ch;color:var(--ink-2);font-size:16px;line-height:1.8; }
.parksouls-detail .feature { background:rgba(8,8,26,.35);border-color:var(--line-2);padding:30px; }
.parksouls-detail .feature-number { display:block;font-family:var(--mono);font-size:10px;letter-spacing:.11em;color:var(--dog);margin-bottom:24px; }
.parksouls-detail .feature h3 { font-size:26px;line-height:1.25;margin:0 0 18px; }
.parksouls-detail .feature p { font-size:14px;line-height:1.8; }
.parksouls-detail .controls { display:flex;flex-wrap:wrap;gap:20px 30px;border-top:1px solid var(--line);padding-top:26px;margin-top:30px;color:var(--ink-2);font-size:12px; }
.parksouls-detail .controls span { display:flex;align-items:center;gap:6px; }
.parksouls-detail kbd { font:11px var(--mono);padding:4px 7px;color:var(--ink);border:1px solid var(--line-2);border-radius:5px;background:rgba(255,255,255,.04); }
.parksouls-detail .setup-section { border-top:1px solid var(--line); }
.parksouls-detail .setup-steps { padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px; }
.parksouls-detail .setup-steps li { padding-top:22px;border-top:1px solid var(--line-2); }
.parksouls-detail .step-number { font-family:var(--mono);font-size:12px;color:var(--dog); }
.parksouls-detail .setup-steps h3 { font-size:20px;line-height:1.35;margin:16px 0 14px; }
.parksouls-detail .setup-steps p { font-size:14px;color:var(--ink-2);line-height:1.8; }
.parksouls-detail .setup-steps strong { color:var(--ink);font-weight:500; }
.parksouls-detail .help-section { display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:70px;border-top:1px solid var(--line);padding-top:75px; }
.parksouls-detail .faq { min-width:0; }
.parksouls-detail details { border-bottom:1px solid var(--line-2);padding:19px 0; }
.parksouls-detail summary { cursor:pointer;font-size:16px;line-height:1.5;color:var(--ink); }
.parksouls-detail details p { font-size:14px;line-height:1.8;color:var(--ink-2);padding-top:16px;overflow-wrap:anywhere; }
.parksouls-detail details strong { color:var(--ink);font-weight:500; }
.parksouls-detail .end-cta { text-align:center;padding-block:50px 110px; }
.parksouls-detail .end-cta h2 { font-size:clamp(42px,6.5vw,80px);line-height:1.08;letter-spacing:-.04em;margin:20px 0 30px; }
.parksouls-detail .end-cta .status { margin:20px auto 0; }
.parksouls-detail .unsupported { border:1px solid rgba(255,192,97,.4);border-radius:12px;background:rgba(255,192,97,.06);padding:18px;margin-top:22px; }
.parksouls-detail .unsupported strong { color:var(--dog);font-size:17px; }
.parksouls-detail .unsupported p,.parksouls-detail .script-note { color:var(--ink-2);font-size:13px;line-height:1.75;margin-top:8px; }
.parksouls-detail .hidden { display:none!important; }
.parksouls-detail .footer { background:rgba(5,5,16,.2); }
/* Shared five-language showcase, with landscape gameplay media. */
.parksouls-detail .tr { font:inherit;letter-spacing:inherit;color:inherit; }
.parksouls-detail .facts .tr { display:inline;margin:0;font:inherit;color:inherit; }
.parksouls-detail .hero-sublinks { display:flex;flex-wrap:wrap;gap:12px 28px; }
.parksouls-detail .hero-video-label { margin:0 0 15px;font:10px/1.7 var(--mono);letter-spacing:.08em;color:var(--dog); }
.parksouls-detail .park-video-stage { position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,192,97,.32);border-radius:18px;background:#06070a;box-shadow:0 25px 75px -35px #000; }
.parksouls-detail .park-video-stage video { display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:contain; }
.parksouls-detail .park-video-play { position:absolute;inset:0 0 46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;border:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.22));color:#fff3d9;cursor:pointer;font-family:var(--body);text-shadow:0 2px 8px #000; }
.parksouls-detail .park-video-play[hidden],.parksouls-detail .park-video-error[hidden] { display:none!important; }
.parksouls-detail .park-video-icon { display:grid;place-items:center;width:66px;height:66px;border-radius:50%;border:1px solid #ffdc9a;background:rgba(9,9,16,.8);box-shadow:0 0 28px #ffc06140;font-size:24px;padding-left:4px; }
.parksouls-detail .park-video-copy { font-size:15px;font-weight:600;padding:7px 16px;border-radius:10px;background:rgba(5,5,12,.84); }
.parksouls-detail .park-video-copy small { margin-left:10px;font:10px var(--mono);color:#ffdc9a; }
.parksouls-detail .park-video-play:hover .park-video-icon { background:#a56a20; }
.parksouls-detail .park-video-play:focus-visible { outline:3px solid var(--dog);outline-offset:-6px; }
.parksouls-detail .park-video-error { color:var(--dog);font-size:12px;line-height:1.6;margin-top:12px; }
.parksouls-detail #trailer figcaption a { text-decoration:underline;text-underline-offset:4px;white-space:nowrap; }
.parksouls-detail .parksouls-video { max-width:none;margin:0;aspect-ratio:16/9;border-radius:20px;border-color:rgba(255,192,97,.25);box-shadow:0 25px 75px -40px #000; }
.parksouls-detail .parksouls-video video { display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;background:#06070a; }
.parksouls-detail .trailer-figure figcaption { font-size:10px;padding-top:20px; }
.parksouls-detail .trailer-figure figcaption a { text-decoration:underline;text-underline-offset:4px; }
.parksouls-detail .descent-section { border-block:1px solid var(--line); }
.parksouls-detail .floor-grid { padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px; }
.parksouls-detail .floor-grid li { border-top:1px solid rgba(255,192,97,.3);padding-top:24px; }
.parksouls-detail .floor-label { font:500 clamp(42px,5vw,70px)/1 var(--display);letter-spacing:-.06em;color:var(--dog);display:block;margin-bottom:28px; }
.parksouls-detail .floor-grid h3 { font-size:20px;line-height:1.45;margin:0 0 15px; }
.parksouls-detail .floor-grid p { font-size:14px;line-height:1.85;color:var(--ink-2); }
.parksouls-detail .parksouls-gallery { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px; }
.parksouls-detail .gallery-shot { min-width:0; }
.parksouls-detail .gallery-shot:first-child { grid-column:1/-1; }
.parksouls-detail .gallery-shot a { display:block;overflow:hidden;border-radius:15px;border:1px solid var(--line-2);background:#090b10; }
.parksouls-detail .gallery-shot img { width:100%;height:auto;aspect-ratio:16/9;object-fit:contain; }
.parksouls-detail .gallery-shot figcaption { display:flex;flex-direction:column;gap:5px;padding:18px 3px 0;letter-spacing:0;font-family:var(--body); }
.parksouls-detail .gallery-shot figcaption strong { font-size:19px;line-height:1.5;color:var(--ink);font-weight:500; }
.parksouls-detail .gallery-shot figcaption>span { font-size:12px;line-height:1.7; }
.parksouls-detail .driving-section { border-top:1px solid var(--line); }
.parksouls-detail .driving-grid { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
.parksouls-detail .driving-card { padding:30px;border:1px solid var(--line-2);background:rgba(8,8,26,.45);border-radius:18px; }
.parksouls-detail .driving-card h3 { font-size:28px;margin:16px 0 12px; }
.parksouls-detail .driving-card p,.parksouls-detail .wheel-note { color:var(--ink-2);font-size:15px;line-height:1.9; }
.parksouls-detail .wheel-note { margin-top:28px;max-width:85ch; }
.parksouls-detail .wheel-note strong { color:var(--ink);font-weight:500; }
.parksouls-detail .control-item { display:flex;gap:6px;align-items:center; }
.parksouls-detail .controls .tr { display:inline; }
.parksouls-detail .control-caption { margin-top:16px;color:var(--ink-2);font-size:12px;line-height:1.8; }
.parksouls-nav .lang-switch { flex-shrink:0; }
.parksouls-nav .lang-switch button { min-height:40px;min-width:35px; }
.parksouls-detail [id] { scroll-margin-top:110px; }
.parksouls-detail .footer .legal { overflow-wrap:anywhere;max-width:350px; }
@media(max-width:1100px) {
  .parksouls-hero-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px; }
  .parksouls-detail .hero-actions .btn { flex:1 1 220px; }
  .parksouls-detail .hero-image figcaption { flex-direction:column;gap:4px; }
  .parksouls-detail .setup-steps { grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 35px; }
}
@media(max-width:800px) {
  .parksouls-detail .parksouls-hero { padding:130px 0 58px; }
  .parksouls-hero-grid { grid-template-columns:1fr;gap:48px; }
  .parksouls-detail .parksouls-title { max-width:600px; }
  .parksouls-detail .hero-actions .btn { flex:0 1 auto; }
  .parksouls-detail .intro { max-width:56ch; }
  .parksouls-detail .hero-image { max-width:640px; }
  .parksouls-detail .hero-image { grid-row:1;max-width:none; }
  .parksouls-detail .hero-caption { display:none; }
  .parksouls-detail .hero-image figcaption { flex-direction:row; }
  .parksouls-detail .facts { grid-template-columns:repeat(2,minmax(0,1fr));gap:28px; }
  .parksouls-detail .parksouls-section { padding-block:62px; }
  .parksouls-detail .help-section { grid-template-columns:1fr;gap:12px; }
  .parksouls-detail .help-section .section-heading { margin-bottom:12px; }
  .parksouls-detail .floor-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px; }
  .parksouls-nav .nav-play { display:none; }
}
@media(max-width:600px) {
  .parksouls-nav { padding:12px var(--pad);background:rgba(5,5,16,.7);backdrop-filter:blur(14px);gap:14px; }
  .parksouls-nav .nav-right { gap:4px; }
  .parksouls-nav .nav-back { display:none; }
  .parksouls-nav .lang-switch { gap:0; }
  .parksouls-nav .lang-switch button { min-width:30px;min-height:40px;padding:5px 7px; }
  .parksouls-nav .nav-back { padding:8px;font-size:10px;letter-spacing:.015em; }
  .parksouls-nav .nav-right a[href="#setup"] { display:none; }
  .parksouls-nav .brand { gap:8px; }
  .parksouls-nav .brand .name { font-size:16px; }
  .parksouls-nav .brand .name small { font-size:8px; }
  .parksouls-detail .hero-actions .btn { flex:1 1 230px; }
  .parksouls-detail .hero-image figcaption { font-size:8px;gap:12px; }
  .parksouls-detail .hero-caption p { font-size:25px; }
  .parksouls-detail .facts strong { font-size:21px; }
  .parksouls-detail .facts span { font-size:11px; }
  .parksouls-detail .setup-steps { grid-template-columns:1fr;gap:28px; }
  .parksouls-detail .feature { padding:26px; }
  .parksouls-detail .controls { gap:18px;flex-direction:column; }
  .parksouls-detail .end-cta { padding-block:30px 75px; }
  .parksouls-detail .parksouls-gallery,.parksouls-detail .driving-grid { grid-template-columns:1fr; }
  .parksouls-detail .floor-grid { gap:28px 18px; }
  .parksouls-detail .floor-grid h3 { font-size:18px; }
  .parksouls-detail .floor-grid p { font-size:13px; }
  .parksouls-detail .floor-label { font-size:48px;margin-bottom:20px; }
  .parksouls-detail .driving-card { padding:26px; }
  .parksouls-detail .trailer-figure figcaption { flex-wrap:wrap;gap:8px; }
  .parksouls-detail .park-video-icon { width:48px;height:48px;font-size:18px; }
  .parksouls-detail .park-video-copy { font-size:13px;padding:5px 12px; }
  .parksouls-detail .park-video-play { gap:7px; }
  .parksouls-detail #trailer figcaption { flex-direction:column;gap:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .parksouls-detail .mesh .blob,.parksouls-detail .dust i,.parksouls-detail .godrays { animation:none!important; }
  .parksouls-detail .dust i { opacity:.4; }
  .parksouls-detail .btn { transition:none; }
}
