:root {
  --ink: #050914;
  --navy: #091323;
  --panel: #0d1422;
  --wine: #4d0f1e;
  --cream: #fff0d0;
  --muted: #bdb4aa;
  --gold: #e6ab51;
  --gold-bright: #ffd987;
  --red: #ed334d;
  --green: #5cdda0;
  --line: rgba(230,171,81,.42);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--cream);
  background:
    radial-gradient(circle at 50% -10%, rgba(125,18,40,.34), transparent 33rem),
    linear-gradient(180deg, #060811 0%, var(--ink) 55%, #02040a 100%);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: inherit; }

.site-header {
  position: relative;
  min-height: 164px;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 28px max(28px, calc((100vw - 1180px) / 2));
  background-image: linear-gradient(180deg, rgba(4,7,14,.05), rgba(4,7,14,.68)), url('/assets/curtains.png');
  background-size: cover;
  background-position: center top;
  z-index: 2;
}
.brand { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.brand img { display: block; width: 245px; height: auto; filter: drop-shadow(0 8px 18px rgba(0,0,0,.5)); }
.site-header nav { display: flex; gap: 30px; padding-top: 18px; margin-left: auto; }
.site-header nav a { color: #e6dacb; text-decoration: none; font-weight: 750; font-size: 14px; }
.site-header nav a:hover { color: var(--gold-bright); }

.hero {
  width: min(1180px, calc(100% - 38px));
  margin: -28px auto 0;
  min-height: 680px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 64px;
  padding: 74px 0 90px;
}
.eyebrow { margin: 0 0 12px; color: var(--gold); font-size: 12px; font-weight: 900; letter-spacing: .28em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 24px; font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(58px, 7.1vw, 102px); line-height: .91; letter-spacing: .005em; font-weight: 900; text-transform: uppercase; }
h1 span { color: var(--gold-bright); }
.hero-lede { max-width: 600px; color: #d4cbc0; font-size: clamp(18px, 2vw, 22px); line-height: 1.6; }
.hero-actions { display: flex; align-items: center; gap: 24px; margin: 32px 0 30px; }
.store-button { display: inline-flex; align-items: center; justify-content: center; min-width: 205px; padding: 11px 18px; border: 1px solid #eee; border-radius: 12px; background: #fafafa; color: #090909; font-weight: 800; line-height: 1.05; }
.store-button small { display: block; font-size: 10px; font-weight: 500; margin-bottom: 3px; }
.text-link { color: var(--gold-bright); font-weight: 800; text-underline-offset: 4px; }
.mini-proof { display: flex; flex-wrap: wrap; gap: 10px 20px; color: #9e968d; font-size: 13px; }

.hero-art { display: grid; place-items: center; min-height: 530px; perspective: 1200px; }
.poster-stack { position: relative; width: min(410px, 80vw); aspect-ratio: .72; }
.poster { position: absolute; inset: 0; border: 2px solid var(--gold); border-radius: 21px; overflow: hidden; box-shadow: 0 36px 75px rgba(0,0,0,.62); }
.poster-back { display: flex; flex-direction: column; justify-content: flex-end; padding: 30px; font-weight: 900; }
.poster-back span { color: var(--gold); letter-spacing: .16em; font-size: 13px; }
.poster-back strong { font-size: 66px; }
.poster-back small { color: #ddd; font-size: 14px; }
.poster-one { transform: translate(-50px, 14px) rotate(-5deg); background: radial-gradient(circle at 25% 20%, #0c4966, transparent 42%), linear-gradient(145deg, #07121d, #0e2332); }
.poster-two { transform: translate(48px, 20px) rotate(5deg); background: radial-gradient(circle at 70% 24%, #7b3118, transparent 42%), linear-gradient(145deg, #2c0d15, #100a14); text-align: right; }
.poster-front {
  transform: translateZ(30px);
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    linear-gradient(180deg, transparent 15%, rgba(2,7,14,.18) 45%, #02060c 100%),
    radial-gradient(circle at 67% 26%, #d06a28, transparent 21%),
    radial-gradient(circle at 35% 24%, #1b7782, transparent 28%),
    linear-gradient(150deg, #152e46 0%, #351522 54%, #050914 100%);
}
.poster-front::before { content: ""; position: absolute; inset: 18% 9% 25%; background: linear-gradient(115deg, transparent 45%, rgba(255,229,178,.28) 46% 47%, transparent 48%), radial-gradient(ellipse at 50% 75%, rgba(5,5,8,.9), transparent 35%); filter: blur(.2px); }
.poster-front > * { position: relative; z-index: 1; }
.match { position: absolute; top: 25px; left: 25px; padding: 13px 17px; border: 2px solid var(--green); border-radius: 16px; background: rgba(0,75,54,.9); color: #fff; font: 900 34px/1 Impact, sans-serif; box-shadow: 0 0 30px rgba(92,221,160,.28); }
.match small { display: block; font: 800 13px/1.2 Inter, sans-serif; text-align: center; margin-top: 4px; }
.poster-front p { color: var(--green); font-size: 14px; font-weight: 750; }
.film-title { font: 900 clamp(52px, 6vw, 76px)/.88 Impact, sans-serif; }
.poster-meta { margin: 12px 0 20px; color: #d6cec3; font-weight: 700; }
.swipe-ticket { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 -28px -28px; border-top: 1px solid var(--line); background: rgba(5,9,20,.92); }
.swipe-ticket span { padding: 16px 5px; text-align: center; font-size: 12px; font-weight: 900; letter-spacing: .12em; }
.swipe-ticket span:nth-child(1) { color: #ff5c69; }.swipe-ticket span:nth-child(2) { color: var(--green); border-inline: 1px dotted var(--line); }.swipe-ticket span:nth-child(3) { color: var(--gold-bright); }

.mission-strip { width: min(1080px, calc(100% - 38px)); margin: 0 auto 60px; padding: 26px 34px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 25px; border: 1px solid var(--line); background: linear-gradient(120deg, #24121e, #08101d 75%); box-shadow: 0 22px 65px rgba(0,0,0,.38); clip-path: polygon(12px 0, calc(100% - 12px) 0, 100% 12px, 100% calc(100% - 12px), calc(100% - 12px) 100%, 12px 100%, 0 calc(100% - 12px), 0 12px); }
.target { color: var(--gold-bright); font-size: 64px; filter: drop-shadow(0 0 16px rgba(230,171,81,.42)); }
.mission-strip small { display: block; color: var(--gold); font-weight: 900; letter-spacing: .25em; margin-bottom: 7px; }
.mission-strip strong { display: block; font-family: Georgia, serif; font-size: clamp(23px, 3vw, 36px); }
.mission-count { display: grid; place-items: center; width: 92px; height: 92px; border: 8px solid rgba(255,255,255,.16); border-radius: 50%; }
.mission-count b { color: var(--gold-bright); font-size: 38px; line-height: .8; }.mission-count span { color: #ddd; font-size: 11px; }

.section-pad { width: min(1180px, calc(100% - 38px)); margin: 0 auto; padding: 88px 0; }
.section-heading { max-width: 720px; text-align: center; margin: 0 auto 50px; }
h2 { margin-bottom: 14px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(38px, 5vw, 62px); line-height: 1.05; }
.section-heading > p:last-child, .pro-ticket > p { color: var(--muted); font-size: 18px; line-height: 1.65; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.feature-grid article { min-height: 225px; padding: 28px; border: 1px solid rgba(230,171,81,.3); border-radius: 16px; background: linear-gradient(145deg, rgba(39,21,35,.96), rgba(8,14,25,.96)); box-shadow: inset 0 1px rgba(255,255,255,.06), 0 18px 45px rgba(0,0,0,.28); }
.feature-grid .icon { color: var(--gold); font-size: 38px; }
.feature-grid h3 { margin: 12px 0 8px; font-family: Georgia, serif; font-size: 25px; }
.feature-grid p { color: var(--muted); line-height: 1.6; }

.pro-section { padding-top: 40px; }
.pro-ticket { position: relative; padding: clamp(34px, 6vw, 72px); text-align: center; border: 2px solid var(--gold); background: radial-gradient(circle at 50% 0, rgba(132,25,44,.66), transparent 48%), #090e19; clip-path: polygon(18px 0, calc(100% - 18px) 0, 100% 18px, 100% calc(100% - 18px), calc(100% - 18px) 100%, 18px 100%, 0 calc(100% - 18px), 0 18px); box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.pro-ticket > p { max-width: 720px; margin-inline: auto; }
.pro-points { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin: 30px 0; }
.pro-points span { padding: 13px 18px; border: 1px solid rgba(230,171,81,.3); border-radius: 9px; background: rgba(0,0,0,.25); font-weight: 800; }
.price { color: var(--gold-bright) !important; font-weight: 900; font-size: 20px !important; }.price small { display: block; color: #918a82; font-weight: 500; font-size: 12px; margin-top: 5px; }

.finale { display: flex; justify-content: center; align-items: center; gap: 28px; padding-top: 50px; padding-bottom: 110px; }
.finale img { border-radius: 25px; box-shadow: 0 15px 40px rgba(0,0,0,.5); }.finale h2 { font-size: clamp(30px, 4vw, 48px); }.finale p:last-child { color: var(--muted); }
footer { padding: 46px max(24px, calc((100vw - 1180px) / 2)); border-top: 1px solid rgba(230,171,81,.25); background: #03060d; display: grid; grid-template-columns: 1fr auto; gap: 20px; color: #8f8981; }
footer img { width: 150px; } footer p { margin: 8px 0; font-size: 13px; }.footer-links { display: flex; gap: 24px; align-items: center; }.footer-links a { color: #d5c9b8; }.copyright { grid-column: 1 / -1; }

/* Shared cinema presentation for policy pages */
.legal-shell { width: min(980px, calc(100% - 38px)); margin: 0 auto; padding: 64px 0 90px; line-height: 1.68; }
.legal-hero { text-align: center; padding: 28px 16px 52px; }
.legal-hero h1 { margin: 0; color: var(--cream); font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(58px, 8vw, 94px); line-height: .92; letter-spacing: .01em; text-transform: uppercase; }
.legal-hero .updated { margin: 18px 0 0; color: var(--muted); font-size: 14px; }
.legal-shell a { color: var(--gold-bright); text-underline-offset: 3px; }
.legal-shell a:hover { color: #fff; }
.legal-shell .ticket { position: relative; margin: 0 0 28px; padding: clamp(26px, 5vw, 48px); border: 1px solid var(--line); background: linear-gradient(135deg, rgba(255,255,255,.045), transparent 34%), linear-gradient(145deg, rgba(43,20,35,.98), rgba(8,14,25,.99)); box-shadow: inset 0 1px rgba(255,255,255,.08), 0 26px 70px rgba(0,0,0,.42); clip-path: polygon(14px 0, calc(100% - 14px) 0, 100% 14px, 100% calc(100% - 14px), calc(100% - 14px) 100%, 14px 100%, 0 calc(100% - 14px), 0 14px); }
.legal-shell .summary { border-color: rgba(230,171,81,.58); background: radial-gradient(circle at 8% 0, rgba(125,18,40,.42), transparent 38%), linear-gradient(135deg, #28131f, #08101d 76%); }
.legal-shell h2 { margin: 40px 0 14px; color: var(--gold-bright); font-family: Georgia, "Times New Roman", serif; font-size: clamp(27px, 4vw, 38px); line-height: 1.15; }
.legal-shell .summary h2 { margin-top: 0; }
.legal-shell h3 { margin: 26px 0 9px; color: #f3d49c; font-size: 18px; }
.legal-shell p, .legal-shell li { color: #d5cbbf; }
.legal-shell strong { color: #fff0d4; }
.legal-shell ul { padding-left: 22px; }
.legal-shell li { margin: 8px 0; }
.truth-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 26px; }
.truth { padding: 20px; border: 1px solid rgba(230,171,81,.3); border-radius: 12px; background: rgba(3,8,16,.64); text-align: center; }
.truth .icon { font-size: 29px; }.truth b { display: block; margin: 6px 0 3px; color: var(--gold-bright); }.truth span { display: block; color: var(--muted); font-size: 13px; line-height: 1.45; }
.policy-nav { margin: 0 0 30px; padding: 20px 24px; border: 1px solid rgba(230,171,81,.32); background: linear-gradient(120deg, #24121e, #08101d 75%); clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px); }
.policy-nav strong { display: block; margin-bottom: 11px; color: var(--gold); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; }.policy-nav div { display: flex; flex-wrap: wrap; gap: 9px 20px; }.policy-nav a { color: #ded3c4; font-size: 14px; text-decoration: none; }
.data-list { display: grid; gap: 10px; margin: 18px 0; }.data-row { display: grid; grid-template-columns: 210px 1fr; gap: 18px; padding: 17px 19px; border: 1px solid rgba(230,171,81,.18); border-radius: 10px; background: rgba(3,8,16,.58); }.data-row strong { color: var(--gold-bright); }.data-row span { color: #cfc5b8; }
.service-table { width: 100%; border-collapse: collapse; margin-top: 14px; }.service-table th, .service-table td { padding: 14px 12px; border-bottom: 1px solid rgba(230,171,81,.16); text-align: left; vertical-align: top; }.service-table th { color: var(--gold); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }.service-table td { color: #d4cabc; }
.notice { margin: 20px 0; padding: 17px 19px; border-left: 3px solid var(--green); border-radius: 4px 10px 10px 4px; background: rgba(50,188,126,.09); color: #dff8ea; }
.legal-shell > footer { display: block; padding: 30px 14px 0; border: 0; background: transparent; text-align: center; color: #918779; font-size: 13px; }.legal-shell .end-mark { margin-bottom: 12px; color: var(--gold); letter-spacing: .55em; }

@media (max-width: 820px) {
  .site-header { min-height: 135px; align-items: flex-start; padding-inline: 18px; }
  .brand img { width: 170px; }
  .site-header nav { gap: 14px; }.site-header nav a:first-child { display: none; }
  .hero { grid-template-columns: 1fr; gap: 10px; padding-top: 70px; text-align: center; }
  .hero-lede { margin-inline: auto; }.hero-actions, .mini-proof { justify-content: center; }
  .hero-art { min-height: 550px; margin-top: 20px; }
  .feature-grid { grid-template-columns: 1fr 1fr; }
  .mission-strip { padding: 22px 20px; gap: 15px; }.target { font-size: 42px; }.mission-count { width: 70px; height: 70px; border-width: 6px; }
  footer { grid-template-columns: 1fr; text-align: center; }.footer-links { justify-content: center; }.copyright { grid-column: auto; }
}
@media (max-width: 560px) {
  .site-header nav { padding-top: 9px; }.site-header nav a { font-size: 12px; }
  .hero { width: min(100% - 26px, 1180px); padding-top: 48px; }.hero-actions { flex-direction: column; }
  .poster-stack { width: min(330px, 75vw); }.hero-art { min-height: 480px; }.poster-back { display: none; }
  .mission-strip { grid-template-columns: auto 1fr; }.mission-count { display: none; }
  .feature-grid { grid-template-columns: 1fr; }.feature-grid article { min-height: auto; }
  .finale { text-align: left; align-items: flex-start; }.finale img { width: 82px; height: 82px; }
  .footer-links { flex-wrap: wrap; }
  .site-header nav { gap: 10px; }
  .site-header nav a { font-size: 11px; }
  .brand img { width: 155px; }
  .legal-shell { width: min(100% - 18px, 980px); padding-top: 36px; }
  .legal-hero { padding: 18px 10px 38px; }
  .legal-hero h1 { font-size: clamp(48px, 15vw, 70px); }
  .truth-grid { grid-template-columns: 1fr; }
  .truth { display: grid; grid-template-columns: 42px 1fr; align-items: center; text-align: left; }.truth .icon { grid-row: span 2; }
  .data-row { grid-template-columns: 1fr; gap: 5px; }
  .service-table, .service-table tbody, .service-table tr, .service-table td { display: block; }.service-table thead { display: none; }.service-table tr { padding: 13px 0; border-bottom: 1px solid rgba(230,171,81,.16); }.service-table td { padding: 4px 0; border: 0; }
  .legal-shell .ticket { padding: 28px 22px; }
}
