/* Movie! Plus design kit. Every selector is opt-in under body.mp.
   Original kit: movieplus-design-kit/css/movieplus.css.
   Content stays visible; JavaScript only adds finite entrance animations. */
body.mp {
  --mp-bg: #070708; --mp-card: #121214; --mp-line: #26262b;
  --mp-text: #fff; --mp-muted: #d4d4d8; --mp-soft: #b4b4bb;
  --mp-accent: #e3262c; --mp-accent-2: #ff4d52; --mp-accent-text: #ff5a5f;
  --mp-warn-bg: #1c170d; --mp-warn-line: #5a4416; --mp-gold: #ffd666;
  --mp-ease: cubic-bezier(.2,.8,.2,1);
  --mp-width: 1240px; --mp-gutter: clamp(20px, 4vw, 64px);
  margin: 0; min-height: 100vh; padding: calc(68px + env(safe-area-inset-top)) 0 84px;
  background: var(--mp-bg); color: var(--mp-text); color-scheme: dark;
  font-family: Poppins, system-ui, -apple-system, 'Segoe UI', sans-serif;
  line-height: 1.6; -webkit-font-smoothing: antialiased; isolation: isolate;
}
body.mp *, body.mp *::before, body.mp *::after { box-sizing: border-box; }
body.mp [hidden] { display: none !important; }
body.mp img, body.mp video { display: block; max-width: 100%; height: auto; }
body.mp img { overflow-wrap: anywhere; }
body.mp a { color: var(--mp-accent-text); text-underline-offset: .2em; }
body.mp a:hover { color: #fff; }
body.mp :focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
body.mp :is(h1,h2,h3,h4,p,figure) { margin: 0; }
body.mp h1 { font-size: clamp(2.75rem, 2rem + 3.2vw, 4.75rem); line-height: 1.04; font-weight: 900; letter-spacing: -.045em; text-wrap: balance; }
body.mp h2 { font-size: clamp(1.85rem, 1.35rem + 1.8vw, 2.75rem); line-height: 1.12; font-weight: 800; letter-spacing: -.035em; text-wrap: balance; }
body.mp h3 { font-size: 1.15rem; line-height: 1.35; font-weight: 700; }
body.mp p { color: var(--mp-muted); font-size: 1.0625rem; line-height: 1.65; }
body.mp :is(p,li,a,label,h3) { overflow-wrap: anywhere; }
body.mp :is(button,input,select,textarea) { font: inherit; }
body.mp button { cursor: pointer; }
body.mp button:disabled { cursor: default; }
body.mp :is(button,summary,a,input,select) { touch-action: manipulation; -webkit-tap-highlight-color: #e3262c26; }
body.mp [id] { scroll-margin-top: 100px; }
body.mp .mp-container { width: min(var(--mp-width), calc(100% - var(--mp-gutter) * 2)); margin-inline: auto; }
body.mp .mp-wrap { width: min(calc(var(--mp-width) + var(--mp-gutter) * 2),100%); margin-inline: auto; padding: clamp(2.25rem,5vw,4.5rem) var(--mp-gutter) 0; display: flex; flex-direction: column; gap: clamp(4rem,7vw,7rem); }
body.mp .mp-wrap .mp-container { width: 100%; }
body.mp .mp-wrap > .mp-band, body.mp .mp-wrap > .mp-hero { padding: 0; }
body.mp :is(.mp-wrap,.mp-hero-content,.mp-info-grid,.mp-download-grid,.mp-plan-grid,.mp-payment-grid,.mp-install-guide-layout,.mp-brand-showcase) > * { min-width: 0; }

/* Ambient light from the kit. Clipping is limited to decoration. */
body.mp .mp-bg { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
body.mp .mp-blob { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; }
body.mp .mp-b1 { width: 420px; height: 420px; background: #7a0a0e; top: -140px; left: -120px; animation: mp-drift1 16s ease-in-out infinite alternate; }
body.mp .mp-b2 { width: 360px; height: 360px; background: #4a0508; bottom: -120px; right: -140px; animation: mp-drift2 19s ease-in-out infinite alternate; }
body.mp .mp-b3 { width: 240px; height: 240px; background: #a3121a; top: 45%; left: 60%; opacity: .25; animation: mp-drift1 22s ease-in-out infinite alternate-reverse; }
body.mp .mp-grain { position: absolute; inset: 0; background-image: radial-gradient(#ffffff09 1px, transparent 1px); background-size: 3px 3px; }
@keyframes mp-drift1 { to { transform: translate(80px,120px) scale(1.15); } }
@keyframes mp-drift2 { to { transform: translate(-90px,-140px) scale(1.2); } }

/* Navigation remains usable without a menu script. */
body.mp .mp-top { position: fixed; inset: 0 0 auto; z-index: 40; padding: calc(.75rem + env(safe-area-inset-top)) 0 .75rem; background: #070708cc; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid #ffffff0d; transition: background .3s, border-color .3s; }
body.mp .mp-top.mp-scrolled { background: #070708ed; border-color: #ffffff1c; }
body.mp .mp-top-in { position: relative; display: flex; justify-content: space-between; align-items: center; gap: .75rem; }
body.mp .mp-brand { display: inline-flex; align-items: center; gap: .625rem; color: #fff; text-decoration: none; flex-shrink: 0; font-size: 1.125rem; font-weight: 700; }
body.mp .mp-brand img { width: 44px; height: 32px; object-fit: contain; }
body.mp .mp-menu { margin-left: auto; }
body.mp .mp-menu-trigger { display: flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .5rem .85rem; border: 1px solid #3a3a40; border-radius: 999px; color: var(--mp-muted); font-size: .8125rem; font-weight: 600; cursor: pointer; list-style: none; }
body.mp .mp-menu-trigger::-webkit-details-marker { display: none; }
body.mp .mp-menu[open] .mp-menu-trigger { color: #fff; background: #e3262c26; border-color: var(--mp-accent-2); }
body.mp .mp-menu .mp-nav { position: absolute; right: 0; top: calc(100% + 1rem); width: min(300px, 100%); max-height: calc(100dvh - 110px); overflow-y: auto; overscroll-behavior: contain; padding: .5rem; border: 1px solid #3a3a40; border-radius: 20px; background: #121214f5; backdrop-filter: blur(20px); box-shadow: 0 24px 70px #0009; }
body.mp .mp-nav-list { display: grid; gap: .25rem; padding: 0; margin: 0; list-style: none; }
body.mp .mp-nav-link { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: .5rem .85rem; border-radius: 12px; color: var(--mp-muted); text-decoration: none; font-size: .875rem; font-weight: 500; }
body.mp .mp-nav-link:hover, body.mp .mp-nav-link[aria-current] { background: #e3262c20; color: #fff; }
body.mp .mp-nav-link { position: relative; transition: color .2s, background .2s; }
body.mp .mp-nav-link::after { content: ''; position: absolute; height: 2px; inset: auto 25% 5px; background: var(--mp-accent-2); transform: scaleX(0); transition: transform .25s var(--mp-ease); }
body.mp .mp-nav-link:is(:hover,:focus-visible,[aria-current])::after { transform: scaleX(1); }

/* Hero */
body.mp .mp-hero { padding: 2.25rem 0; }
body.mp .mp-hero-content { position: relative; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 1.25rem; isolation: isolate; }
body.mp .mp-hero-content > h1 { max-width: 18ch; }
body.mp .mp-hero-lockup { display: flex; align-items: center; justify-content: center; gap: .8rem; }
body.mp .mp-hero-logo-plate img { width: 58px; height: 42px; object-fit: contain; }
body.mp .mp-eyebrow, body.mp .mp-chip { display: inline-flex; align-items: center; gap: .5rem; font-size: .75rem; font-weight: 700; letter-spacing: 3px; color: var(--mp-accent-text); text-transform: uppercase; }
body.mp .mp-eyebrow::before { content: ''; width: 22px; height: 2px; background: currentColor; flex-shrink: 0; }
body.mp .mp-ghost { position: absolute; top: 16px; left: 0; width: 100%; z-index: -1; color: transparent; -webkit-text-stroke: 1.5px #ffffff13; font-size: clamp(8rem, 38vw, 12rem); font-weight: 900; letter-spacing: -.065em; line-height: 1; white-space: nowrap; user-select: none; pointer-events: none; }
body.mp .mp-grad { background: linear-gradient(100deg,#ff7a7e 0%,#e3262c 45%,#ff4d52 70%,#ffb3b5 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: mp-shine 5s linear infinite; }
@keyframes mp-shine { to { background-position: -220% 0; } }
body.mp .mp-hero-copy { max-width: 60ch; }
body.mp .mp-hero-accent { width: 100px; height: 2px; background: linear-gradient(90deg,transparent,var(--mp-accent-2),transparent); }
body.mp .mp-hero-actions, body.mp .mp-button-row { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
body.mp .mp-hero-actions { justify-content: center; width: 100%; margin-top: .5rem; }
body.mp .mp-facts { display: grid; gap: .85rem; width: 100%; margin-top: .5rem; text-align: left; }
body.mp .mp-feature-strip { display: grid; grid-template-columns: 1fr; gap: .75rem; width: 100%; margin-top: 1rem; }
body.mp .mp-fact { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.5fr); gap: .85rem; padding-block: .7rem; border-bottom: 1px solid var(--mp-line); }
body.mp .mp-fact strong { font-size: .875rem; color: #fff; }
body.mp .mp-fact span { font-size: .875rem; color: var(--mp-soft); }
body.mp .mp-facts > .mp-avail { justify-content: center; }
body.mp .mp-feature-pill { position: relative; padding: 1.15rem 3rem 1.15rem 1.25rem; border: 1px solid var(--mp-line); border-radius: 18px; background: #121214b3; text-align: left; text-decoration: none; transition: border-color .25s, transform .25s; }
body.mp .mp-feature-pill::after { content: '↗'; position: absolute; right: 1.25rem; top: 1.2rem; color: var(--mp-accent-text); font-size: 1.25rem; }
body.mp .mp-feature-pill:hover { border-color: #803239; transform: translateY(-3px); }
body.mp .mp-feature-pill strong { display: block; color: #fff; font-weight: 700; }
body.mp .mp-feature-pill span { display: block; font-size: .85rem; color: var(--mp-soft); margin-top: .3rem; }
body.mp .mp-avail { display: flex; align-items: center; gap: .85rem; padding: 1rem; border-radius: 16px; background: #e3262c1f; border: 1.5px solid #ff4d5273; text-align: left; }
body.mp .mp-avail strong { display: block; font-size: .6875rem; letter-spacing: 2px; color: var(--mp-accent-text); text-transform: uppercase; }
body.mp .mp-avail span:not(.mp-dot) { display: block; font-size: .9rem; font-weight: 600; }
body.mp .mp-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--mp-accent-2); animation: mp-ping 1.8s infinite; }
@keyframes mp-ping { 0%,100% { box-shadow: 0 0 0 0 #ff4d5200; } 20% { box-shadow: 0 0 0 0 #ff4d52b3; } 70% { box-shadow: 0 0 0 8px #ff4d5200; } }

/* The kit's phone stage; installation images retain their full-image ratio. */
body.mp .mp-stage { position: relative; width: min(74%,290px); margin-top: 2rem; }
body.mp .mp-ring { position: absolute; inset: -14% -22%; border-radius: 50%; background: radial-gradient(closest-side,#e3262c73,#e3262c00 70%); animation: mp-glow 4s ease-in-out infinite; }
body.mp .mp-stage .mp-phone { aspect-ratio: 1 / 2; border: 7px solid #26262b; border-radius: 38px; box-shadow: 0 30px 80px #0009; animation: mp-device-float 6s ease-in-out infinite; }
body.mp .mp-stage .mp-phone img { object-fit: cover; }
body.mp .mp-badge { position: absolute; right: -4%; top: 16%; z-index: 2; padding: .6rem .85rem; background: #121214d9; backdrop-filter: blur(10px); border: 1px solid #ffffff1a; border-radius: 16px; text-align: left; box-shadow: 0 12px 30px #0008; animation: mp-device-float 6s ease-in-out .8s infinite; }
body.mp .mp-badge small { display: block; font-size: .6875rem; color: var(--mp-soft); letter-spacing: 1px; text-transform: uppercase; }
body.mp .mp-badge b { display: block; font-size: 1.25rem; font-weight: 800; }
body.mp .mp-scroll-hint { display: flex; justify-content: center; margin-top: 2rem; }
body.mp .mp-mouse { width: 22px; height: 34px; border: 2px solid #4a4a52; border-radius: 12px; position: relative; }
body.mp .mp-mouse::after { content: ''; position: absolute; left: 50%; top: 6px; width: 4px; height: 7px; margin-left: -2px; border-radius: 2px; background: var(--mp-accent-2); animation: mp-wheel 1.6s infinite; }
@keyframes mp-glow { 50% { transform: scale(1.08); opacity: .75; } }
@keyframes mp-device-float { 50% { transform: translateY(-12px) rotate(-1deg); } }
@keyframes mp-wheel { to { transform: translateY(10px); opacity: 0; } }

/* Buttons */
body.mp .mp-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-height: 52px; padding: .8rem 1.3rem; border-radius: 14px; border: 1.5px solid #34343a; background: #1a1a1e; color: #fff; font-size: .95rem; font-weight: 600; line-height: 1.4; text-align: center; text-decoration: none; overflow: hidden; transition: transform .2s var(--mp-ease), background .2s, border-color .2s; }
body.mp .mp-btn:hover { background: #26262c; border-color: #66666e; color: #fff; }
body.mp .mp-btn:active { transform: scale(.97); }
body.mp .mp-btn.mp-primary { background: linear-gradient(135deg,#ff3b41,#c81e24); border-color: transparent; box-shadow: 0 10px 30px #e3262c40; }
body.mp .mp-btn.mp-primary::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg,transparent 30%,#ffffff47 50%,transparent 70%); transform: translateX(-100%); animation: mp-sweep 3.2s ease-in-out infinite; }
body.mp .mp-btn:disabled { opacity: .6; }
@keyframes mp-sweep { 60%,100% { transform: translateX(100%); } }

/* Sections, cards and notices */
body.mp .mp-band { padding: 2.25rem 0; }
body.mp .mp-section-heading { max-width: 760px; display: grid; gap: 1rem; margin-bottom: 1.5rem; }
body.mp .mp-info-grid, body.mp .mp-payment-grid, body.mp .mp-steps-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
body.mp .mp-download-grid, body.mp .mp-install-guide-layout { display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: start; }
body.mp .mp-card, body.mp .mp-notice-panel, body.mp .mp-article-card, body.mp .mp-plan-card, body.mp .mp-payment-card, body.mp .mp-step-card { min-width: 0; border: 1.5px solid var(--mp-line); border-radius: 20px; padding: 1.4rem; background: #121214d9; }
body.mp .mp-card, body.mp .mp-plan-card, body.mp .mp-payment-card, body.mp .mp-step-card { display: flex; flex-direction: column; align-items: flex-start; gap: .85rem; }
body.mp .mp-card { transition: border-color .3s, transform .3s var(--mp-ease); }
body.mp .mp-card:hover { border-color: #68272d; }
body.mp .mp-card > .mp-btn, body.mp .mp-plan-card > .mp-btn { margin-top: auto; }
body.mp .mp-card-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; border: 1.5px solid #4a1416; color: var(--mp-accent-text); background: #2a0b0d; }
body.mp .mp-card-icon svg { width: 24px; height: 24px; }
body.mp .mp-notice-panel > * + *, body.mp .mp-article-card > * + * { margin-top: 1rem; }
body.mp .mp-notice { position: relative; background: linear-gradient(90deg,#f5b9420a,transparent 65%),var(--mp-warn-bg); border: 1.5px solid var(--mp-warn-line); border-radius: 20px; padding: 1.15rem 1.25rem; }
body.mp .mp-notice p { font-size: 1rem; color: #e7e2d6; }
body.mp .mp-warning { border-color: var(--mp-warn-line); background: var(--mp-warn-bg); }
body.mp .mp-check-list, body.mp .mp-compat-list { margin: 1rem 0 0; padding: 0; list-style: none; display: grid; gap: .75rem; color: var(--mp-muted); }
body.mp .mp-check-list li { position: relative; padding-left: 1.15rem; }
body.mp .mp-check-list li::before { content: ''; position: absolute; left: 0; top: .65em; width: 6px; height: 6px; border-radius: 50%; background: var(--mp-accent-2); }
body.mp .mp-compat-list li { padding: 1rem; border: 1px solid var(--mp-line); border-radius: 14px; background: var(--mp-bg); }

/* Eight steps: preserve the full 900×1280 images inside the phone frame. */
body.mp .mp-tlw { position: relative; max-width: 560px; margin: 2.5rem auto 0; }
body.mp .mp-tlw::before, body.mp .mp-fill { content: ''; position: absolute; left: 23px; top: 24px; width: 2px; height: calc(100% - 48px); background: var(--mp-line); }
body.mp .mp-tlw::before { height: var(--mp-track-length, calc(100% - 48px)); }
body.mp .mp-fill { height: 0; background: linear-gradient(var(--mp-accent-2),var(--mp-accent)); box-shadow: 0 0 12px #ff3b4166; }
body.mp .mp-timeline { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 2rem; padding: 0; margin: 0; list-style: none; }
body.mp .mp-timeline > li { display: flex; align-items: flex-start; gap: 1rem; min-width: 0; }
body.mp .mp-node { position: relative; flex: 0 0 48px; height: 48px; border-radius: 14px; border: 1.5px solid #4a1416; background: #2a0b0d; color: var(--mp-accent-text); display: grid; place-items: center; font-weight: 700; transition: background .3s, box-shadow .3s; }
body.mp .mp-on .mp-node { background: var(--mp-accent); border-color: var(--mp-accent); color: #fff; box-shadow: 0 0 0 6px #e3262c26,0 8px 24px #e3262c47; }
body.mp .mp-step-figure { flex: 1; min-width: 0; margin: 0; }
body.mp .mp-phone { position: relative; aspect-ratio: 900 / 1280; border: 7px solid #26262b; border-radius: 32px; overflow: hidden; background: #000; box-shadow: 0 24px 60px #0007,0 0 0 1px #ffffff0f inset; }
body.mp .mp-phone picture, body.mp .mp-phone img { display: block; width: 100%; height: 100%; object-fit: contain; }
body.mp .mp-on .mp-phone { animation: mp-float 6s ease-in-out infinite; }
@keyframes mp-float { 50% { transform: translateY(-5px); } }

/* Gold TV card and Premium plans */
body.mp .mp-premium { position: relative; overflow: hidden; border-radius: 24px; padding: 2rem; background: linear-gradient(145deg,#2a2008 0%,#16120a 55%,#121214 100%); border: 1.5px solid #6b5418; }
body.mp .mp-premium::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg,transparent 35%,#ffd6661f 50%,transparent 65%); transform: translateX(-100%); animation: mp-sweep 4.5s ease-in-out infinite; }
body.mp .mp-premium > * { position: relative; }
body.mp .mp-crown { position: relative; width: 60px; height: 60px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; background: linear-gradient(145deg,#ffd666,#e0a526); color: #201703; box-shadow: 0 10px 30px #f5b94259; animation: mp-device-float 5s ease-in-out infinite; }
body.mp .mp-hero-lockup:has(.mp-crown) { flex-direction: column; gap: 1.5rem; }
body.mp .mp-hero-lockup:has(.mp-crown) .mp-eyebrow { color: var(--mp-gold); }
body.mp .mp-tv { text-align: center; }
body.mp .mp-tv > .mp-crown { margin: .5rem auto 1.5rem; }
body.mp .mp-tv .mp-section-heading { margin-inline: auto; }
body.mp .mp-codes { display: flex; flex-direction: column; align-items: center; gap: .25rem; }
body.mp .mp-code { color: var(--mp-gold); font-size: clamp(2.5rem,12vw,4rem); font-weight: 800; letter-spacing: .04em; line-height: 1.15; user-select: all; }
body.mp .mp-copy-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin: 1.25rem 0; }
body.mp .mp-copy { border-color: #6b5418; color: #ffe08a; }
body.mp .mp-plan-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
body.mp .mp-plan-card { background: linear-gradient(145deg,#211b0d,#121214 70%); border-color: #514019; }
body.mp .mp-featured { border-color: var(--mp-gold); }
body.mp .mp-plan-price { color: var(--mp-gold); font-size: 1.8rem; font-weight: 800; line-height: 1.2; }
body.mp .mp-plan-price small { display: block; font-size: .82rem; font-weight: 500; color: var(--mp-soft); margin-top: .4rem; }
body.mp .mp-plan-price-old { display: block; color: var(--mp-soft); font-size: 1rem; }
body.mp .mp-plan-price-new { display: block; }
body.mp .mp-payment-value { display: block; font-weight: 700; font-size: 1.25rem; }
body.mp .mp-badge-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
body.mp .mp-badge-soft { display: inline-flex; min-height: 32px; align-items: center; border: 1px solid #3a3a40; border-radius: 999px; padding: .4rem .8rem; font-size: .8rem; color: var(--mp-muted); text-decoration: none; }
body.mp .mp-badge-soft[href] { min-height: 44px; }
body.mp .mp-brand-showcase { display: grid; gap: 1.5rem; }
body.mp .mp-brand-showcase-copy > * + * { margin-top: 1rem; }
body.mp .mp-brand-showcase-media { max-width: 800px; margin-inline: auto; }
body.mp .mp-brand-showcase-copy { text-align: center; }
body.mp .mp-brand-showcase .mp-badge-row { justify-content: center; }
body.mp .mp-brand-showcase-media img, body.mp .mp-media-frame { border-radius: 22px; overflow: hidden; border: 1px solid var(--mp-line); }
body.mp .mp-media-frame img { width: 100%; }
body.mp .mp-promo-card { padding: 1.5rem; border: 1.5px solid #683020; border-radius: 24px; background: linear-gradient(145deg,#2a0b0d,#121214); }
body.mp .mp-promo-layout { display: grid; grid-template-columns: 1fr auto; gap: 1.25rem; align-items: center; }
body.mp .mp-promo-layout h2 { margin: 1rem 0; }
body.mp .mp-promo-banner { margin: 0 0 1rem; }
body.mp .mp-promo-banner img { max-height: 420px; margin-inline: auto; object-fit: contain; }
body.mp .mp-promo-countdown, body.mp .mp-promo-code { padding: .75rem 1rem; border: 1px solid #6b5418; border-radius: 14px; background: #0004; font-weight: 700; color: var(--mp-gold); }
body.mp .mp-promo-code-row { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; align-items: center; }

/* Documents, media and payment form */
body.mp .mp-article-shell { max-width: 820px; }
body.mp .mp-article-shell > * + *, body.mp .mp-content-stack > * + * { margin-top: 1.25rem; }
body.mp .mp-article-card h2 { font-size: clamp(1.35rem,5vw,1.8rem); }
body.mp .mp-article-card li { color: var(--mp-muted); }
body.mp .mp-license-list { display: grid; gap: 1rem; }
body.mp .mp-license-item { border-bottom: 1px solid var(--mp-line); padding: 1rem 0; }
body.mp .mp-license-item > * + * { margin-top: .75rem; }
body.mp .mp-image-gallery { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
body.mp .mp-image-gallery img { border: 7px solid #26262b; border-radius: 28px; }
body.mp .mp-form-row { display: flex; gap: 1rem; }
body.mp .mp-form-group { flex: 1; min-width: 0; margin-bottom: 1rem; }
body.mp .mp-form label { display: block; margin-bottom: .4rem; color: var(--mp-muted); }
body.mp .mp-form-control, body.mp .mp-custom-select { width: 100%; min-height: 48px; border: 1.5px solid #3a3a40; border-radius: 12px; padding: .7rem .85rem; color: #fff; background: var(--mp-bg); }
body.mp .mp-form-control::placeholder { color: #a1a1aa; }
body.mp .mp-redirect-shell { min-height: calc(100vh - 180px); display: grid; place-items: center; padding: 1.25rem; }
body.mp .mp-redirect-card { width: min(760px,100%); padding: 1.5rem; border: 1.5px solid var(--mp-line); border-radius: 26px; background: #121214d9; }
body.mp .mp-redirect-media { display: grid; grid-template-columns: minmax(0,180px) 1fr; gap: 1.5rem; }
body.mp .mp-redirect-action { text-align: center; margin-top: 1.5rem; }
body.mp .mp-redirect-action > * + * { margin-top: 1rem; }
body.mp .mp-social-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .75rem; }
body.mp .mp-footer { padding: 3rem 0 1rem; color: var(--mp-soft); font-size: .875rem; text-align: center; }
body.mp .mp-footer a { display: inline-block; padding-block: .75rem; color: var(--mp-muted); }
body.mp .mp-text-center { text-align: center; }
body.mp .mp-mb-0 { margin-bottom: 0; }
body.mp .mp-mb-2 { margin-bottom: .5rem; }
body.mp .mp-mb-3 { margin-bottom: 1rem; }
body.mp .mp-mt-2 { margin-top: .5rem; }
body.mp .mp-mt-3 { margin-top: 1rem; }
body.mp .mp-mt-4 { margin-top: 1.5rem; }
body.mp .mp-mx-auto { margin-inline: auto; }
body.mp .mp-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

/* APK questions work as a regular form with a static fallback below. */
body.mp .mp-picker { padding: clamp(1.25rem,4vw,2rem); margin: 1.5rem 0; border: 1.5px solid #683034; border-radius: 24px; background: radial-gradient(100% 100% at 0 0,#300d11,#121214 70%); }
body.mp .mp-picker > * + * { margin-top: 1.25rem; }
body.mp .mp-picker fieldset { padding: 0; margin: 0 0 1.5rem; border: 0; min-width: 0; }
body.mp .mp-picker legend { font-size: 1.2rem; font-weight: 700; margin-bottom: .8rem; }
body.mp .mp-picker [data-mp-step] legend { display: flex; align-items: flex-start; gap: .75rem; }
body.mp .mp-picker [data-mp-step="01"] legend::before { content: '01'; }
body.mp .mp-picker [data-mp-step="02"] legend::before { content: '02'; }
body.mp .mp-picker [data-mp-step="03"] legend::before { content: '03'; }
body.mp .mp-picker [data-mp-step] legend::before { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border: 1px solid #68272d; border-radius: 10px; background: #2a0b0d; color: var(--mp-accent-text); font-size: .8rem; }
body.mp .mp-choices { display: flex; flex-wrap: wrap; gap: .6rem; }
body.mp .mp-device-choices { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,200px),1fr)); }
body.mp .mp-picker-tv { display: grid; gap: 1.25rem; margin-bottom: 1.5rem; }
body.mp .mp-picker-code { display: grid; gap: .8rem; justify-items: center; }
body.mp .mp-picker-tv .mp-codes { gap: 1rem; }
body.mp .mp-picker-tv .mp-code { font-size: clamp(2.25rem,5vw,3.5rem); }
body.mp .mp-picker-tv > .mp-btn { justify-self: start; }
body.mp .mp-choice { display: flex; align-items: center; gap: .6rem; padding: .8rem 1rem; min-height: 48px; border: 1.5px solid #44444b; border-radius: 14px; background: var(--mp-bg); cursor: pointer; }
body.mp .mp-choice:has(input:checked) { border-color: var(--mp-accent-2); background: #e3262c26; }
body.mp .mp-choice input { accent-color: var(--mp-accent); width: 18px; height: 18px; margin: 0; flex: 0 0 auto; }
body.mp .mp-picker-result { display: grid; gap: 1rem; padding-top: 1.25rem; border-top: 1px solid var(--mp-line); }
body.mp .mp-picker-result strong { font-size: 1.15rem; overflow-wrap: anywhere; }
body.mp .mp-picker-help { color: var(--mp-muted); margin: .8rem 0; }
body.mp .mp-download-fallback { margin: 1rem 0; }
body.mp .mp-download-fallback summary { cursor: pointer; min-height: 44px; padding-block: .6rem; color: var(--mp-muted); }
body.mp .mp-direct-links { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .75rem; }

/* Downloads: start with the choice, keep extra help below it. */
body.mp .mp-skip-link { position: fixed; left: 1rem; top: -100px; z-index: 60; padding: .75rem 1rem; border-radius: 10px; background: #fff; color: #070708; }
body.mp .mp-skip-link:focus { top: 1rem; }
body.mp .mp-download-page { gap: clamp(2rem,5vw,4rem); }
body.mp .mp-download-intro { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 2rem; }
body.mp .mp-download-heading { position: relative; isolation: isolate; min-width: 0; max-width: 46rem; }
body.mp .mp-download-heading h1 { font-size: clamp(2.5rem,5vw,4.25rem); max-width: 18ch; }
body.mp .mp-download-heading p { margin-top: 1rem; max-width: 48ch; }
body.mp .mp-download-heading .mp-ghost { top: -1rem; left: -.02em; width: 100%; font-size: clamp(4.75rem,12vw,9rem); }
body.mp .mp-download-intro .mp-avail { flex-shrink: 0; }
body.mp .mp-download-start { display: grid; gap: 1rem; }
body.mp .mp-appgallery, body.mp .mp-download-help { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding: 1.25rem clamp(1.25rem,2.5vw,2rem); border: 1px solid var(--mp-line); border-radius: 22px; background: #121214b3; }
body.mp .mp-appgallery-copy { display: flex; align-items: center; gap: .85rem; }
body.mp .mp-appgallery-copy svg { flex: 0 0 30px; color: var(--mp-accent-text); }
body.mp .mp-appgallery p { font-size: 1rem; }
body.mp .mp-download-page .mp-picker { margin: 0; }
body.mp .mp-download-page .mp-picker > h2 { margin-bottom: 1.5rem; font-size: clamp(1.5rem,3vw,2rem); }
body.mp .mp-download-page .mp-picker-result { margin-top: 1.5rem; }
body.mp .mp-download-page .mp-picker-result .mp-picker-help { margin: 0; font-size: .9rem; }
body.mp .mp-download-more { padding-block: .5rem; }
body.mp .mp-download-more .mp-btn { background: transparent; box-shadow: none; }
body.mp .mp-fallback-group { border-top: 1px solid var(--mp-line); padding-block: .5rem; }
body.mp .mp-download-fallback .mp-direct-links { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,200px),1fr)); gap: 1.5rem; }
body.mp .mp-direct-option { display: grid; align-content: start; gap: .75rem; }
body.mp .mp-direct-option h4 { margin: 0; }
body.mp .mp-download-help h2 { font-size: clamp(1.4rem,3vw,1.85rem); margin-bottom: .6rem; }
body.mp .mp-download-help p { max-width: 58ch; font-size: 1rem; }

/* A native horizontal guide: swipe, keyboard or buttons; never autoplay. */
body.mp .mp-guide { min-width: 0; }
body.mp .mp-guide-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 1.25rem; margin-bottom: 1.5rem; }
body.mp .mp-guide-heading p { max-width: 58ch; margin-top: .8rem; }
body.mp .mp-guide-controls { display: flex; gap: .6rem; }
body.mp .mp-guide-controls .mp-btn { min-height: 44px; padding: .6rem 1rem; }
body.mp .mp-guide-track { display: grid; grid-auto-flow: column; grid-auto-columns: min(320px,calc(100% - 28px)); gap: 1.25rem; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--mp-accent) var(--mp-card); padding: .3rem .1rem 1.25rem; margin: 0; list-style: none; }
body.mp .mp-guide-slide { display: flex; flex-direction: column; align-items: start; gap: .75rem; padding: 1.25rem; border: 1px solid var(--mp-line); border-radius: 22px; background: var(--mp-card); scroll-snap-align: start; min-width: 0; }
body.mp .mp-guide-number { color: var(--mp-accent-text); font-size: .8rem; font-weight: 700; }
body.mp .mp-guide-slide p { font-size: .9375rem; line-height: 1.6; }
body.mp .mp-guide-image { display: block; width: min(100%,220px); margin: auto auto 0; padding-top: .75rem; border-radius: 24px; }
body.mp .mp-guide-image .mp-phone { display: block; width: 100%; border-width: 5px; border-radius: 24px; box-shadow: 0 10px 24px #0005; }
body.mp .mp-guide-progress { display: flex; align-items: center; gap: 1rem; margin-top: .75rem; }
body.mp .mp-guide-meter { flex: 1; height: 3px; overflow: hidden; border-radius: 10px; background: var(--mp-line); }
body.mp .mp-guide-meter > span { display: block; width: 100%; height: 100%; background: var(--mp-accent-2); transform: scaleX(0); transform-origin: left; }
body.mp .mp-guide-status { color: var(--mp-soft); font-size: .85rem; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) {
  body.mp .mp-download-intro .mp-avail { padding: .75rem 1rem; }
  body.mp .mp-appgallery > .mp-btn { width: 100%; }
  body.mp .mp-download-page .mp-device-choices { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.mp .mp-download-page .mp-choice { padding: .75rem; font-size: .9rem; }
}

/* The animated CTA border from the original kit, under a readable solid face. */
@property --mp-angle { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
body.mp .mp-cta { position: relative; isolation: isolate; overflow: hidden; border: 0; border-radius: 26px; background: var(--mp-card); }
body.mp .mp-cta::before { content: ''; position: absolute; inset: 0; z-index: -2; border-radius: inherit; background: conic-gradient(from var(--mp-angle),#ff3b41,#2a0b0d,#2a0b0d,#ff3b41,#2a0b0d,#2a0b0d,#ff3b41); animation: mp-spin 6s linear infinite; pointer-events: none; }
body.mp .mp-cta::after { content: ''; position: absolute; inset: 2px; z-index: -1; border-radius: 24px; background: radial-gradient(120% 80% at 50% 0%,#24090b,#121214 60%); pointer-events: none; }
@keyframes mp-spin { to { --mp-angle: 360deg; } }

/* The kit's three vertical floating social buttons. */
body.mp .mp-social-menu { position: relative; }
body.mp .mp-social-trigger { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 1px solid #ffffff40; border-radius: 50%; background: #121214e6; color: #fff; box-shadow: 0 8px 22px #0008; backdrop-filter: blur(14px); list-style: none; cursor: pointer; }
body.mp .mp-social-trigger::-webkit-details-marker { display: none; }
body.mp .mp-social-links { display: flex; flex-direction: column; gap: .55rem; position: absolute; right: 0; bottom: calc(100% + .6rem); }
@media (min-width: 641px) {
  body.mp .mp-social-menu[open] .mp-social-trigger { display: none; }
  body.mp .mp-social-menu[open] .mp-social-links { position: static; }
}
body.mp .mp-fab { position: fixed; right: max(.875rem,env(safe-area-inset-right)); bottom: calc(1rem + env(safe-area-inset-bottom)); z-index: 35; display: flex; flex-direction: column; gap: .55rem; }
body.mp .mp-fab a { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; box-shadow: 0 8px 22px #0009,0 0 0 2px #ffffff14 inset; transition: transform .2s var(--mp-ease); }
body.mp .mp-fab a:hover { transform: scale(1.08); }
body.mp .mp-tg { background: #229ed9; }
body.mp .mp-fb { background: #1877f2; }
body.mp .mp-ig { background: radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%); }

/* No hidden CSS state: reveal animations are finite and added on intersection. */
body.mp .mp-reveal { opacity: 1; transform: none; }
body.mp .mp-d1 { --mp-delay: 80ms; }
body.mp .mp-d2 { --mp-delay: 160ms; }
body.mp .mp-d3 { --mp-delay: 240ms; }
body.mp .mp-d4 { --mp-delay: 320ms; }
body.mp .mp-reveal.mp-enter { animation: mp-rise .8s var(--mp-ease) var(--mp-delay,0ms) backwards; }
@keyframes mp-rise { from { opacity: .15; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* Content-driven grids: two columns on tablets, three/four when they fit. */
@media (min-width: 641px) {
  body.mp .mp-info-grid, body.mp .mp-payment-grid, body.mp .mp-steps-grid,
  body.mp .mp-feature-strip { grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: clamp(1rem,2vw,1.5rem); }
  body.mp .mp-plan-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
  body.mp .mp-facts { grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(1rem,3vw,2.5rem); margin-top: 2rem; }
  body.mp .mp-fact { grid-template-columns: 1fr; align-content: start; gap: .5rem; border-top: 1px solid var(--mp-line); border-bottom: 0; padding-block: 1.25rem 0; }
  body.mp .mp-facts > .mp-avail { grid-column: 1 / -1; justify-self: center; }
  body.mp .mp-image-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.mp .mp-codes { flex-direction: row; justify-content: center; gap: 1.5rem; }
  body.mp .mp-picker .mp-custom-select { max-width: 560px; }
  body.mp .mp-picker-result { justify-items: start; }
  body.mp .mp-direct-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.mp .mp-card, body.mp .mp-notice-panel, body.mp .mp-article-card,
  body.mp .mp-premium { padding: clamp(1.5rem,2.5vw,2.5rem); }
}
@media (min-width: 900px) {
  body.mp .mp-menu.mp-menu-wide[open] > summary { display: none; }
  body.mp .mp-menu.mp-menu-wide .mp-nav { position: static; width: auto; max-height: none; overflow: visible; padding: 0; border: 0; background: transparent; backdrop-filter: none; box-shadow: none; }
  body.mp .mp-menu.mp-menu-wide .mp-nav-list { display: flex; gap: .5rem; }
  body.mp .mp-hero-content:has(> .mp-stage) { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr); column-gap: clamp(2rem,5vw,5rem); row-gap: 1.5rem; align-items: center; justify-items: start; text-align: left; }
  body.mp .mp-hero-content:has(> .mp-stage) > .mp-hero-lockup { grid-column: 1; grid-row: 1; }
  body.mp .mp-hero-content:has(> .mp-stage) > h1 { grid-column: 1; grid-row: 2; max-width: 15ch; }
  body.mp .mp-hero-content:has(> .mp-stage) > .mp-hero-copy { grid-column: 1; grid-row: 3; }
  body.mp .mp-hero-content:has(> .mp-stage) > .mp-hero-actions { grid-column: 1; grid-row: 4; justify-content: flex-start; }
  body.mp .mp-hero-content > .mp-stage { grid-column: 2; grid-row: 1 / 5; justify-self: center; width: min(85%,280px); margin: 0; }
  body.mp .mp-hero-content:has(> .mp-stage) > .mp-facts { grid-column: 1 / -1; grid-row: 5; }
  body.mp .mp-hero-content > .mp-scroll-hint { grid-column: 1 / -1; grid-row: 6; justify-self: center; margin: 0; }
  body.mp .mp-hero-content > .mp-ghost { width: auto; left: -1%; top: -3%; font-size: clamp(12rem,21vw,19rem); }
  body.mp .mp-download-grid, body.mp .mp-install-guide-layout { grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr); gap: clamp(2rem,4vw,4rem); }
  body.mp .mp-brand-showcase { grid-template-columns: 1fr 1fr; align-items: center; gap: 3rem; }
  body.mp .mp-brand-showcase-copy { text-align: left; }
  body.mp .mp-brand-showcase .mp-badge-row { justify-content: flex-start; }
  body.mp .mp-tlw { max-width: 1000px; margin-top: 4rem; }
  body.mp .mp-tlw::before, body.mp .mp-fill { left: calc(50% - 1px); }
  body.mp .mp-timeline { gap: 2.5rem; }
  body.mp .mp-timeline > li { display: grid; grid-template-columns: minmax(0,1fr) 48px minmax(0,1fr); gap: 1.5rem; align-items: start; }
  body.mp .mp-node { grid-column: 2; grid-row: 1; }
  body.mp .mp-step-figure { grid-column: 1; grid-row: 1; width: min(100%,340px); justify-self: end; }
  body.mp .mp-timeline > li:nth-child(even) .mp-step-figure { grid-column: 3; justify-self: start; }
  body.mp .mp-step-figure::after { content: ''; position: absolute; left: calc(50% - 48px); top: 23px; width: 24px; height: 1px; background: var(--mp-line); }
  body.mp .mp-timeline > li { position: relative; }
  body.mp .mp-timeline > li:nth-child(even) .mp-step-figure::after { left: calc(50% + 24px); }
}
@media (min-width: 1160px) {
  body.mp .mp-plan-grid { grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); }
}

/* Feedback for mouse, keyboard and touch; motion never carries information. */
body.mp :is(.mp-btn,.mp-feature-pill,.mp-choice,.mp-plan-card,.mp-step-card,.mp-payment-card) { transition: transform .22s var(--mp-ease), border-color .22s, background .22s, box-shadow .22s; }
body.mp :is(.mp-card,.mp-plan-card,.mp-step-card,.mp-payment-card):focus-within { border-color: var(--mp-accent-2); }
body.mp .mp-choice:has(input:focus-visible) { outline: 3px solid #fff; outline-offset: 4px; }
body.mp .mp-choice:active { transform: scale(.98); }
body.mp .mp-motion-toggle { display: block; margin: 1.25rem auto; padding: .5rem .85rem; min-height: 44px; border: 1px solid var(--mp-line); border-radius: 999px; background: #121214; color: var(--mp-soft); font-size: .75rem; }
body.mp .mp-motion-toggle:hover { border-color: var(--mp-soft); color: #fff; }
@media (hover: hover) and (pointer: fine) {
  body.mp :is(.mp-card,.mp-plan-card,.mp-step-card,.mp-payment-card):hover { transform: translateY(-5px); border-color: #803239; box-shadow: 0 18px 40px #0004; }
  body.mp .mp-plan-card:hover { border-color: var(--mp-gold); }
  body.mp .mp-btn:not(:disabled):hover { transform: translateY(-3px); box-shadow: 0 10px 26px #0005; }
  body.mp .mp-btn.mp-primary:hover { box-shadow: 0 12px 32px #e3262c59; }
  body.mp .mp-btn:not(:disabled):active { transform: translateY(0) scale(.97); }
  body.mp .mp-choice:hover { border-color: var(--mp-accent-2); }
}
body.mp.mp-motion-paused *, body.mp.mp-motion-paused *::before, body.mp.mp-motion-paused *::after { animation-play-state: paused !important; transition: none !important; }
body.mp.mp-motion-paused .mp-reveal { animation: none; }
body.mp.mp-motion-paused :is(.mp-btn,.mp-card,.mp-plan-card,.mp-step-card,.mp-payment-card,.mp-choice,.mp-feature-pill,.mp-fab a):is(:hover,:active) { transform: none !important; }
@media (max-width: 640px) {
  body.mp [id] { scroll-margin-top: calc(88px + env(safe-area-inset-top)); }
  body.mp .mp-hero { padding-top: 2.25rem; }
  body.mp .mp-hero-content { gap: 1.125rem; }
  body.mp .mp-hero-lockup { gap: .6rem; }
  body.mp .mp-eyebrow { letter-spacing: 2px; font-size: .7rem; }
  body.mp .mp-hero-actions, body.mp .mp-button-row { width: 100%; flex-direction: column; align-items: stretch; }
  body.mp .mp-avail { justify-content: center; }
  body.mp .mp-download-grid, body.mp .mp-install-guide-layout, body.mp .mp-plan-grid, body.mp .mp-feature-strip, body.mp .mp-promo-layout, body.mp .mp-image-gallery { grid-template-columns: 1fr; }
  body.mp .mp-section-heading { gap: .85rem; }
  body.mp .mp-card, body.mp .mp-notice-panel, body.mp .mp-article-card { padding: 1.2rem; }
  body.mp .mp-card > .mp-btn, body.mp .mp-plan-card > .mp-btn { width: 100%; }
  body.mp .mp-timeline > li { gap: .7rem; }
  body.mp .mp-node { flex-basis: 36px; height: 40px; border-radius: 12px; font-size: .85rem; }
  body.mp .mp-tlw::before, body.mp .mp-fill { left: 17px; top: 20px; height: calc(100% - 40px); }
  body.mp .mp-tlw::before { height: var(--mp-track-length, calc(100% - 40px)); }
  body.mp .mp-fill { height: 0; }
  body.mp .mp-phone { border-width: 5px; border-radius: 24px; }
  body.mp .mp-premium { padding: 1.5rem 1.15rem; }
  body.mp .mp-copy-actions { flex-direction: column; }
  body.mp .mp-form-row { flex-direction: column; gap: 0; }
  body.mp .mp-redirect-media { grid-template-columns: 1fr; }
  body.mp .mp-redirect-media img { max-width: 220px; margin-inline: auto; }
  body.mp .mp-fab { right: max(.875rem, env(safe-area-inset-right)); }
  body.mp .mp-direct-links { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  body.mp *, body.mp *::before, body.mp *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  body.mp .mp-reveal { opacity: 1; transform: none; }
  body.mp .mp-grad { background-position: 50% 0; }
  body.mp :is(.mp-btn,.mp-card,.mp-plan-card,.mp-step-card,.mp-payment-card,.mp-choice,.mp-feature-pill,.mp-fab a):is(:hover,:active) { transform: none !important; }
}
