/* Fiction information pages — the same quiet palette and type as the homepage. */
:root { --black:#050507; --dark:#0a0a0f; --surface:#111116; --edge:#2b2b35; --white:#f0f0f5; --muted:#aaa6b4; --accent:#d9ccfa; }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:100px; scrollbar-width:thin; scrollbar-color:#55515f var(--dark); }
body { background:var(--dark); color:var(--white); font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif; line-height:1.65; -webkit-font-smoothing:antialiased; }
::selection { background:var(--accent); color:#101015; }
a { color:var(--accent); text-underline-offset:4px; }
a:hover { color:var(--white); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
[hidden] { display:none !important; }
.skip-link { position:fixed; top:12px; left:20px; padding:10px 18px; background:var(--white); color:var(--black); z-index:1100; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.nav { position:fixed; inset:0 0 auto; height:72px; padding:0 40px; display:flex; align-items:center; justify-content:space-between; z-index:1000; background:#08080b; border-bottom:1px solid var(--edge); }
.nav-logo { display:inline-flex; align-items:center; text-decoration:none; }
.nav-logo svg { width:36px; height:36px; fill:var(--white); }
.nav-logo:hover svg { fill:var(--accent); }
.nav-links { display:flex; gap:36px; align-items:center; list-style:none; }
.nav-links a { color:#c0c0cc; text-decoration:none; font-size:13px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase; }
.nav-links a:hover { color:var(--accent); }
.nav-links .nav-ticket-btn { display:inline-flex; align-items:center; gap:18px; min-height:44px; padding:11px 20px; border-radius:3px; background:var(--white); color:#101015; font-size:14px; font-weight:600; letter-spacing:0; text-transform:none; }
.nav-links .nav-ticket-btn:hover { background:var(--accent); }
.nav-toggle { display:none; width:44px; height:44px; background:none; border:0; padding:7px; cursor:pointer; }
.nav-toggle span { display:block; height:2px; background:var(--white); margin:6px 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
.mobile-menu { position:fixed; inset:72px 0 0; z-index:999; background:#08080b; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; padding:24px; overflow-y:auto; }
.mobile-menu a { font:500 27px/1.4 'Space Grotesk',sans-serif; color:var(--white); text-decoration:none; }
.mobile-menu a:last-child { color:var(--accent); }
.info-shell, .footer-inner { width:100%; max-width:1180px; margin:0 auto; padding:0 40px; }
.page-header { padding:152px 0 48px; display:grid; grid-template-columns:1.15fr 1fr; align-items:end; gap:64px; }
.section-label { font-size:10px; font-weight:500; text-transform:uppercase; letter-spacing:2px; color:#bbb7ca; margin-bottom:14px; }
h1 { font:500 clamp(38px,4.6vw,60px)/1.08 'Space Grotesk',sans-serif; letter-spacing:-2px; }
.page-intro { font-size:15px; color:var(--muted); max-width:420px; line-height:1.8; }
.info-tabs { display:flex; gap:32px; border-bottom:1px solid var(--edge); }
.info-tabs a { display:flex; align-items:center; min-height:56px; padding:12px 0 17px; margin-bottom:-1px; border-bottom:2px solid transparent; font-size:13px; color:var(--muted); text-decoration:none; }
.info-tabs a[aria-current="page"] { border-bottom-color:var(--accent); color:var(--white); }
.info-tabs a:hover { color:var(--accent); }
.faq-content { padding-top:16px; }
.faq-group { display:grid; grid-template-columns:230px minmax(0,1fr); gap:48px; padding-top:40px; }
.faq-group > h2 { font:500 18px/1.4 'Space Grotesk',sans-serif; letter-spacing:-.3px; padding-top:22px; }
.faq-item { border-bottom:1px solid var(--edge); }
.faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 0; cursor:pointer; list-style:none; font:500 19px/1.4 'Space Grotesk',sans-serif; letter-spacing:-.25px; }
summary::-webkit-details-marker { display:none; }
.faq-item summary > span { color:var(--accent); font:300 26px/1 'Inter',sans-serif; flex-shrink:0; }
.faq-item[open] summary > span, .policy-jump[open] > summary span { transform:rotate(45deg); }
.faq-answer { color:#b9b5c2; font-size:15px; line-height:1.85; padding:0 40px 26px 0; }
.faq-answer strong { font-weight:500; color:var(--white); }
.contact-strip { display:flex; align-items:center; justify-content:space-between; gap:28px; border:1px solid #39333f; border-radius:3px; background:var(--surface); padding:30px; margin:56px 0 80px; }
.contact-strip h2 { font:500 24px/1.3 'Space Grotesk',sans-serif; letter-spacing:-.5px; margin-bottom:8px; }
.contact-strip p { font-size:14px; color:var(--muted); }
.text-link { display:inline-flex; align-items:center; gap:28px; padding:10px 0; border-bottom:1px solid #77717e; text-decoration:none; font-size:14px; }
.policy-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:48px; padding:52px 0 80px; align-items:start; }
.policy-sidebar { position:sticky; top:100px; }
.policy-date { font-size:11px; color:var(--muted); margin-bottom:30px; }
.policy-nav .section-label { margin-bottom:12px; }
.policy-nav a, .policy-jump a { display:block; padding:6px 0; color:var(--muted); font-size:12px; text-decoration:none; }
.policy-nav a:hover, .policy-jump a:hover { color:var(--accent); }
.policy-jump { display:none; }
.policy-section { padding:30px 0; border-bottom:1px solid var(--edge); }
.policy-section:first-child { padding-top:0; }
.policy-section:last-child { border-bottom:0; }
.policy-section h2 { font:500 24px/1.3 'Space Grotesk',sans-serif; letter-spacing:-.5px; margin-bottom:17px; }
.policy-section p { font-size:15px; line-height:1.9; color:#b9b5c2; }
.policy-section p + p { margin-top:16px; }
.footer { padding:64px 0 32px; background:var(--black); border-top:1px solid var(--edge); }
.footer-top { display:grid; grid-template-columns:1.7fr 1fr 1fr 1.3fr; gap:40px; margin-bottom:56px; }
.footer-brand .nav-logo { margin-bottom:16px; }
.footer-brand .nav-logo svg { width:32px; height:32px; }
.footer-brand p { font-size:13px; color:var(--muted); line-height:1.75; max-width:280px; }
.footer-col h6 { font-size:10px; font-weight:500; letter-spacing:2px; text-transform:uppercase; margin-bottom:18px; }
.footer-col a { display:block; color:var(--muted); text-decoration:none; font-size:12px; padding:6px 0; overflow-wrap:anywhere; }
.footer-col a:hover, .footer-socials a:hover { color:var(--accent); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--edge); padding-top:26px; }
.footer-bottom p { color:var(--muted); font-size:11px; }
.footer-socials { display:flex; gap:20px; }
.footer-socials a { color:var(--muted); text-decoration:none; font-size:11px; }
@media(max-width:900px) {
  .nav-links { display:none; }
  .nav-toggle { display:block; }
  .page-header { gap:32px; }
  .faq-group, .policy-layout { grid-template-columns:170px minmax(0,1fr); gap:30px; }
  .footer-top { grid-template-columns:1fr 1fr; gap:36px; }
}
@media(max-width:600px) {
  .nav { padding:0 20px; }
  .info-shell, .footer-inner { padding:0 24px; }
  .page-header { grid-template-columns:1fr; gap:20px; padding:116px 0 30px; }
  h1 { font-size:39px; letter-spacing:-1.5px; }
  .page-intro { font-size:14px; line-height:1.75; }
  .section-label { font-size:9px; margin-bottom:13px; }
  .info-tabs { gap:25px; }
  .info-tabs a { min-height:52px; font-size:12px; padding-bottom:14px; }
  .faq-content { padding-top:6px; }
  .faq-group { grid-template-columns:1fr; gap:6px; padding-top:30px; }
  .faq-group > h2 { padding-top:0; font-size:15px; color:var(--muted); }
  .faq-item summary { padding:20px 0; font-size:18px; gap:16px; }
  .faq-answer { padding:0 8px 22px 0; font-size:14px; line-height:1.8; }
  .contact-strip { flex-direction:column; align-items:flex-start; padding:24px; gap:18px; margin:38px 0 52px; }
  .contact-strip h2 { font-size:23px; }
  .contact-strip p { font-size:13px; }
  .text-link { font-size:13px; gap:20px; }
  .policy-layout { grid-template-columns:1fr; gap:32px; padding:25px 0 52px; }
  .policy-sidebar { position:static; }
  .policy-date { margin-bottom:16px; }
  .policy-nav { display:none; }
  .policy-jump { display:block; border:1px solid var(--edge); border-radius:3px; background:var(--surface); padding:0 18px; }
  .policy-jump > summary { display:flex; justify-content:space-between; align-items:center; min-height:48px; list-style:none; font-size:12px; cursor:pointer; }
  .policy-jump > summary span { font-size:21px; color:var(--accent); }
  .policy-jump nav { padding-bottom:12px; }
  .policy-jump a { padding:9px 0; }
  .policy-section { padding:25px 0; }
  .policy-section h2 { font-size:23px; margin-bottom:14px; }
  .policy-section p { font-size:14px; line-height:1.85; }
  .footer { padding-top:44px; }
  .footer-top { gap:30px 24px; margin-bottom:36px; }
  .footer-brand, .footer-col:last-child { grid-column:1/-1; }
  .footer-brand p { max-width:340px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; gap:16px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
