@font-face {
  font-family: "Druk Wide";
  src: url("/assets/fonts/DrukWideBold.ttf") format("truetype");
  font-display: swap;
  font-weight: 700;
}

:root {
  --background: #111111;
  --text: #f2f2f0;
  --accent: #ffffff;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  background: var(--background);
  color: var(--text);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
}

a { color: inherit; text-decoration: none; }

h1, h2, p { margin-top: 0; }
h1 { max-width: 1100px; margin-bottom: 28px; font-family: "Druk Wide", Impact, sans-serif; font-size: clamp(4rem, 15vw, 13rem); line-height: 0.82; letter-spacing: -0.07em; text-transform: uppercase; }
h2 { max-width: 650px; margin-bottom: 18px; font-size: clamp(1.8rem, 4vw, 3.6rem); line-height: 1; letter-spacing: -0.05em; font-weight: 400; }
code { color: var(--text); font-family: monospace; }

:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }

/* Landing page */
.home-page { background: #0b0b0b; }
.home-shell { position: relative; display: flex; min-height: 100svh; flex-direction: column; overflow: hidden; background: #0b0b0b; }
.home-shell::before { position: absolute; inset: 0; pointer-events: none; content: ""; opacity: .32; background: repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), rgba(255,255,255,.055) 25%); }
.icon-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.home-header, .home-main, .home-footer { position: relative; z-index: 1; }
.home-header { display: grid; grid-template-columns: 1fr auto; align-items: center; padding: 18px clamp(24px, 4vw, 64px) 24px; background: transparent; }
.home-mark { display: block; width: 78px; }
.home-mark img { display: block; width: 100%; height: auto; }
.home-nav { display: flex; grid-column: 2; justify-content: flex-end; gap: clamp(16px, 2.3vw, 36px); }
.home-nav a { position: relative; color: #777; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; transition: color 180ms ease, transform 240ms ease; }
.home-nav a::after { position: absolute; right: 0; bottom: -8px; left: 0; height: 1px; background: currentColor; content: ""; opacity: 0; transform: scaleX(0); transition: opacity 180ms ease, transform 240ms ease; }
.home-nav a:hover, .home-nav a:focus-visible, .home-nav a.active { color: var(--text); }
.home-nav a:hover, .home-nav a:focus-visible { transform: translateY(-3px); }
.home-nav a:hover::after, .home-nav a:focus-visible::after, .home-nav a.active::after { opacity: 1; transform: scaleX(1); }
.menu-toggle { display: none; }
.home-main { display: flex; width: min(100%, 1280px); flex: 1; margin: 0 auto; flex-direction: column; justify-content: center; padding: 12vh clamp(24px, 8vw, 120px) 14vh; transform: translateY(-11vh); }
.signature-wrap { width: min(22vw, 280px); margin: 0 auto; }
.signature { display: block; width: 100%; height: auto; mix-blend-mode: screen; }
.home-tagline { margin: 34px auto 0; color: #8b8b8b; font-family: "Druk Wide", Impact, sans-serif; font-size: clamp(.72rem, 1.1vw, .95rem); letter-spacing: .1em; text-transform: uppercase; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.social-icon { width: 28px; height: 28px; color: #f2f2f0; }
.home-footer { display: flex; justify-content: center; padding: 22px clamp(24px, 4vw, 64px); color: #686868; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; }

/* Home composition */
.home-main.home-layout { display: grid; grid-template-columns: minmax(230px, .65fr) minmax(540px, 1.35fr); width: min(1400px, 100%); flex: 1; align-items: center; gap: clamp(56px, 8vw, 140px); padding: clamp(54px, 8vh, 96px) clamp(32px, 6vw, 96px); transform: none; }
.identity-panel { position: relative; display: flex; min-height: 420px; align-self: center; align-items: center; justify-content: center; flex-direction: column; text-align: center; }
.identity-panel::before { position: absolute; z-index: -1; top: 50%; left: 50%; width: min(38vw, 470px); aspect-ratio: 1; pointer-events: none; background: url("/assets/brand/movyftw/mark-animated.gif") center / contain no-repeat; content: ""; opacity: .08; mix-blend-mode: screen; transform: translate(-50%, -50%); }
.identity-panel .signature-wrap { width: min(24vw, 300px); margin: 0 auto; }
.identity-panel .home-tagline { margin: 24px auto 0; font-size: clamp(.58rem, .75vw, .72rem); }
.social-directory { align-self: center; }
.directory-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 18px; }
.directory-heading h2 { margin: 0; font-family: "Druk Wide", Impact, sans-serif; font-size: clamp(.82rem, 1.2vw, 1.1rem); letter-spacing: .04em; text-transform: uppercase; }
.network-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #333; border-bottom: 1px solid #333; }
.network-panel { min-height: 158px; padding: 22px 24px; border-bottom: 1px solid #292929; transition: background-color 180ms ease; }
.network-panel.single-account { min-height: 120px; }
.network-panel:nth-child(odd) { border-right: 1px solid #292929; }
.network-panel:nth-last-child(-n + 2) { border-bottom: 0; }
.network-panel:hover { background: rgba(255,255,255,.018); }
.network-head { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.network-head h3 { margin: 0; font-size: .78rem; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; }
.network-head .social-icon { width: 22px; height: 22px; }
.live-badge { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; padding: 5px 8px; border: 1px solid #3b3b3b; color: #d8d8d8; font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; transition: border-color 180ms ease, color 180ms ease; }
.live-badge[hidden] { display: none; }
.live-badge span { width: 6px; height: 6px; border-radius: 50%; background: #f04444; box-shadow: 0 0 0 3px rgba(240,68,68,.12); }
.live-badge:hover, .live-badge:focus-visible { border-color: #707070; color: #fff; }
.account-list { display: grid; }
.account-list a { display: grid; grid-template-columns: 24px 1fr 12px; align-items: center; gap: 10px; min-height: 29px; border-bottom: 1px solid #202020; color: #777; font-size: .68rem; transition: color 180ms ease, padding 180ms ease; }
.account-list a:last-child { border-bottom: 0; }
.account-list a:hover, .account-list a:focus-visible { color: #fff; transform: translateX(3px); }
.account-list span { color: #454545; font-size: .55rem; letter-spacing: .1em; }
.account-list strong { font-weight: 400; }
.account-list i { color: #555; font-style: normal; text-align: right; }
.link-arrow { display: block; width: 14px; height: 14px; background: currentColor; color: #555; font-size: 0; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 13 13 3M7 3h6v6' fill='none' stroke='black' stroke-width='1.25'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 13 13 3M7 3h6v6' fill='none' stroke='black' stroke-width='1.25'/%3E%3C/svg%3E") center / contain no-repeat; transition: color 180ms ease, transform 180ms ease; }

/* Affiliates */
.affiliate-main { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(210px, .48fr) minmax(0, 1.52fr); width: min(1400px, 100%); flex: 1; align-items: start; gap: clamp(52px, 8vw, 130px); margin: 0 auto; padding: clamp(70px, 10vh, 120px) clamp(32px, 6vw, 96px) 100px; }
.affiliate-intro { padding-top: 6px; }
.affiliate-intro h1 { margin: 0; font-family: "Druk Wide", Impact, sans-serif; font-size: clamp(1.7rem, 3vw, 3rem); line-height: 1; letter-spacing: -.04em; text-transform: uppercase; }
.affiliate-intro > p:last-child { max-width: 260px; margin: 24px 0 0; color: #666; font-size: .78rem; line-height: 1.65; }
.affiliate-directory { width: 100%; }
.affiliate-directory .directory-heading { align-items: baseline; margin-bottom: 0; padding-bottom: 16px; border-bottom: 1px solid #303030; }
.affiliate-directory .directory-heading h2 { font-size: .85rem; }
.affiliate-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid #303030; }
.affiliate-card { min-width: 0; border-right: 1px solid #292929; color: #777; transition: background-color 180ms ease, color 180ms ease; }
.affiliate-card:last-child { border-right: 0; }
.affiliate-card:hover, .affiliate-card:focus-visible { background: rgba(255,255,255,.018); color: #fff; }
.affiliate-logo { display: grid; width: 100%; aspect-ratio: 1.15 / 1; place-items: center; border-bottom: 1px solid #242424; }
.affiliate-logo img { display: block; width: min(82px, 42%); max-height: 42%; object-fit: contain; }
.affiliate-logo-wallhack img { width: min(70px, 36%); }
.affiliate-meta { position: relative; display: grid; gap: 7px; padding: 13px 38px 15px 14px; }
.affiliate-meta strong { color: #e8e8e6; font-size: .68rem; font-weight: 400; line-height: 1.35; letter-spacing: .05em; text-transform: uppercase; }
.affiliate-meta small { color: #4e4e4e; font-size: .56rem; letter-spacing: .12em; text-transform: uppercase; }
.affiliate-meta i { position: absolute; right: 14px; bottom: 17px; color: #555; font-style: normal; transition: color 180ms ease, transform 180ms ease; }
.affiliate-card:hover .affiliate-meta i, .affiliate-card:focus-visible .affiliate-meta i { color: #fff; transform: translate(2px, -2px); }

/* Setup */
.setup-main { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(210px, .48fr) minmax(0, 1.52fr); width: min(1400px, 100%); flex: 1; align-items: start; gap: clamp(52px, 8vw, 130px); margin: 0 auto; padding: clamp(70px, 10vh, 120px) clamp(32px, 6vw, 96px) 100px; }
.setup-intro { padding-top: 6px; }
.setup-index { margin: 0 0 28px; color: #555; font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; }
.setup-intro h1 { margin: 0; font-family: "Druk Wide", Impact, sans-serif; font-size: clamp(1.7rem, 3vw, 3rem); line-height: 1; letter-spacing: -.04em; text-transform: uppercase; }
.setup-intro > p:last-child { max-width: 260px; margin: 24px 0 0; color: #666; font-size: .78rem; line-height: 1.65; }
.setup-catalog { display: grid; gap: 64px; }
.setup-category-heading { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid #303030; }
.setup-category-heading h2 { margin: 0; font-family: "Druk Wide", Impact, sans-serif; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; }
.setup-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid #303030; }
.setup-item { min-width: 0; border-right: 1px solid #292929; border-bottom: 1px solid #292929; }
.setup-item:nth-child(3n) { border-right: 0; }
.setup-item img { display: block; width: 100%; aspect-ratio: 1.15 / 1; object-fit: cover; filter: saturate(.7); transition: filter 220ms ease, opacity 220ms ease; }
.setup-item:hover img { filter: saturate(1); }
.setup-item > div { display: grid; gap: 7px; padding: 13px 14px 15px; border-top: 1px solid #242424; }
.setup-item span { color: #4e4e4e; font-size: .56rem; letter-spacing: .12em; text-transform: uppercase; }
.setup-item h3 { margin: 0; font-size: .68rem; font-weight: 400; line-height: 1.35; letter-spacing: .03em; }
.setup-item:has(h3 a) { position: relative; display: flex; flex-direction: column; }
.setup-item:has(h3 a) > div { flex: 1; grid-template-rows: auto auto auto 1fr; }
.setup-item h3 a::after { position: absolute; inset: 0; content: ""; }
.setup-item .setup-cta { display: flex; align-items: center; justify-content: space-between; align-self: end; margin-top: 6px; padding-top: 11px; border-top: 1px solid #303030; color: #f2f2f0; font-size: .58rem; letter-spacing: .12em; transition: color 180ms ease; }
.setup-cta .link-arrow { color: currentColor; transition: transform 180ms ease; }
.setup-item:hover .setup-cta .link-arrow, .setup-item:has(a:focus-visible) .setup-cta .link-arrow { transform: translate(2px, -2px); }
.setup-item small { color: #555; font-size: .57rem; letter-spacing: .04em; }

/* Contact */
.contact-main { align-items: start; }
.contact-directory { width: 100%; }
.contact-link { position: relative; display: grid; gap: 14px; min-height: 180px; align-content: center; padding: 28px 64px 28px 0; border-bottom: 1px solid #303030; color: #e8e8e6; transition: padding 220ms ease, background-color 180ms ease; }
.contact-link:hover, .contact-link:focus-visible { padding-left: 14px; background: rgba(255,255,255,.018); }
.contact-link span { color: #4e4e4e; font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; }
.contact-link strong { overflow-wrap: anywhere; font-size: clamp(1.05rem, 2.2vw, 1.8rem); font-weight: 400; letter-spacing: .02em; }
.contact-link i { position: absolute; right: 16px; top: 50%; color: #555; font-size: 1.2rem; font-style: normal; transform: translateY(-50%); transition: color 180ms ease, transform 180ms ease; }
.contact-link:hover i, .contact-link:focus-visible i { color: #fff; transform: translate(2px, calc(-50% - 2px)); }

/* Classes */
.classes-catalog { min-width: 0; }
.classes-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid #303030; }
.class-item { min-width: 0; border-right: 1px solid #292929; border-bottom: 1px solid #292929; color: #777; transition: background-color 180ms ease; }
.class-item:nth-child(even) { border-right: 0; }
.class-item:hover, .class-item:focus-visible { background: rgba(255,255,255,.018); }
.class-item img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; filter: saturate(.72); transition: filter 220ms ease, opacity 220ms ease; }
.class-item:hover img, .class-item:focus-visible img { filter: saturate(1); }
.class-meta { position: relative; display: grid; gap: 7px; padding: 13px 40px 15px 14px; border-top: 1px solid #242424; }
.class-meta small { color: #4e4e4e; font-size: .56rem; letter-spacing: .12em; text-transform: uppercase; }
.class-meta strong { color: #e8e8e6; font-size: .68rem; font-weight: 400; line-height: 1.35; letter-spacing: .04em; text-transform: uppercase; }
.class-meta code { color: #555; font-size: .56rem; letter-spacing: .06em; }
.class-meta i { position: absolute; right: 14px; bottom: 16px; color: #555; font-style: normal; transition: color 180ms ease, transform 180ms ease; }
.class-item:hover .class-meta i, .class-item:focus-visible .class-meta i { color: #fff; transform: translate(2px, -2px); }
.class-dialog { width: min(1180px, calc(100% - 32px)); max-width: none; max-height: calc(100svh - 32px); padding: 0; border: 1px solid #383838; background: #0b0b0b; color: #f2f2f0; }
.class-dialog::backdrop { background: rgba(0,0,0,.86); }
.class-dialog-shell { display: grid; }
.class-dialog-header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; min-height: 58px; padding: 0 18px; border-bottom: 1px solid #303030; }
.class-dialog-header span { color: #555; font-size: .56rem; letter-spacing: .14em; text-transform: uppercase; }
.class-dialog-header strong { font-size: .72rem; font-weight: 400; letter-spacing: .1em; text-transform: uppercase; }
.class-dialog-header button { padding: 8px 0; border: 0; background: transparent; color: #777; cursor: pointer; font: inherit; font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; transition: color 180ms ease; }
.class-dialog-header button:hover, .class-dialog-header button:focus-visible { color: #fff; }
.class-dialog img { display: block; width: 100%; max-height: calc(100svh - 92px); object-fit: contain; }
.dialog-open { overflow: hidden; }

/* Latest post notification */
.post-notification { position: fixed; z-index: 30; right: 24px; bottom: 24px; width: min(430px, calc(100% - 32px)); border: 1px solid #393939; background: #0a0a0a; box-shadow: 0 18px 56px rgba(0,0,0,.48); animation: notification-in 320ms cubic-bezier(.2,.8,.2,1) both; }
.post-notification::before { position: absolute; z-index: 2; top: -1px; right: -1px; left: -1px; height: 2px; background: #f2f2f0; content: ""; }
.post-notification-close { position: absolute; z-index: 3; top: 12px; right: 12px; display: grid; width: 28px; height: 28px; place-items: center; padding: 0; border: 1px solid #303030; background: #0a0a0a; color: #777; cursor: pointer; font: inherit; font-size: .9rem; transition: border-color 180ms ease, color 180ms ease; }
.post-notification-close:hover, .post-notification-close:focus-visible { color: #fff; }
.post-notification-link { display: grid; grid-template-columns: 132px minmax(0, 1fr); min-height: 132px; color: #e8e8e6; }
.post-notification-link img { display: block; width: 132px; height: 100%; min-height: 132px; object-fit: cover; filter: saturate(.7) contrast(1.04); transition: filter 180ms ease; }
.post-notification-link:hover img, .post-notification-link:focus-visible img { filter: saturate(1); }
.post-notification-copy { display: grid; align-content: center; gap: 8px; min-width: 0; padding: 18px 48px 14px 18px; }
.post-notification-copy small { color: #8a8a8a; font-size: .53rem; letter-spacing: .14em; text-transform: uppercase; }
.post-notification-copy strong { display: -webkit-box; overflow: hidden; font-size: .78rem; font-weight: 400; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.post-notification-copy > span:not(.post-notification-action) { color: #555; font-size: .55rem; letter-spacing: .06em; text-transform: uppercase; }
.post-notification-action { display: flex; align-items: center; justify-content: space-between; margin-top: 3px; padding-top: 9px; border-top: 1px solid #262626; color: #a8a8a8; font-size: .56rem; letter-spacing: .1em; text-transform: uppercase; transition: color 180ms ease; }
.post-notification-action i { font-size: .82rem; font-style: normal; transition: transform 180ms ease; }
.post-notification-link:hover .post-notification-action, .post-notification-link:focus-visible .post-notification-action { color: #fff; }
.post-notification-link:hover .post-notification-action i, .post-notification-link:focus-visible .post-notification-action i { transform: translate(2px, -2px); }
@keyframes notification-in { from { opacity: 0; transform: translate(16px, 8px); } to { opacity: 1; transform: translate(0); } }

@media (max-width: 760px) {
  body.menu-open { overflow: hidden; }
  .home-header { position: relative; z-index: 8; grid-template-columns: 1fr auto; padding-top: 22px; padding-bottom: 22px; }
  .home-mark { position: relative; z-index: 8; width: 62px; }
  .menu-toggle { position: relative; z-index: 8; display: grid; grid-column: 2; width: 44px; height: 44px; place-items: center; margin-right: -10px; padding: 0; border: 0; background: transparent; color: #929292; cursor: pointer; }
  .menu-toggle > span:not(.visually-hidden) { position: absolute; right: 10px; height: 1px; background: currentColor; transition: width 180ms ease, transform 220ms cubic-bezier(.2,.8,.2,1), opacity 180ms ease, background-color 180ms ease; }
  .menu-toggle > span:nth-child(1) { width: 20px; transform: translateY(-4px); }
  .menu-toggle > span:nth-child(2) { opacity: 0; }
  .menu-toggle > span:nth-child(3) { width: 14px; transform: translateY(4px); }
  .menu-toggle:hover, .menu-toggle:focus-visible { color: #f2f2f0; }
  .menu-open .menu-toggle > span:nth-child(1) { width: 20px; transform: rotate(45deg); }
  .menu-open .menu-toggle > span:nth-child(3) { width: 20px; transform: rotate(-45deg); }
  .home-nav { position: fixed; z-index: 7; inset: 0; display: grid; width: 100%; height: 100svh; grid-column: auto; align-content: center; justify-items: center; gap: 4px; padding: 100px 28px 56px; background-color: #0b0b0b; background-image: repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), rgba(255,255,255,.035) 25%); counter-reset: mobile-nav; opacity: 0; pointer-events: none; transition: opacity 220ms ease; }
  .menu-open .home-nav { opacity: 1; pointer-events: auto; }
  .home-nav a, .home-nav a:hover, .home-nav a:focus-visible { display: grid; width: min(260px, calc(100vw - 72px)); min-height: 52px; grid-template-columns: 34px 1fr 34px; align-items: center; padding: 0; border: 0; color: #777; font-size: .76rem; transform: translateX(16px); counter-increment: mobile-nav; opacity: 0; transition: color 180ms ease, opacity 240ms ease, transform 320ms cubic-bezier(.2,.8,.2,1); }
  .home-nav a:nth-child(2) { margin-left: 14px; }
  .home-nav a:nth-child(3) { margin-left: 28px; }
  .home-nav a:nth-child(4) { margin-left: 42px; }
  .home-nav a:nth-child(5) { margin-left: 56px; }
  .home-nav a::before { color: #444; content: "0" counter(mobile-nav); font-size: .5rem; letter-spacing: .1em; }
  .home-nav a::after { position: static; width: 22px; height: 1px; justify-self: end; border: 0; background: #f2f2f0; opacity: 0; transform: scaleX(0); transform-origin: right; }
  .home-nav a.active { color: #f2f2f0; }
  .home-nav a.active::after { opacity: 1; transform: scaleX(1); }
  .menu-open .home-nav a { opacity: 1; transform: translateX(0); }
  .menu-open .home-nav a:nth-child(1) { transition-delay: 60ms; }
  .menu-open .home-nav a:nth-child(2) { transition-delay: 100ms; }
  .menu-open .home-nav a:nth-child(3) { transition-delay: 140ms; }
  .menu-open .home-nav a:nth-child(4) { transition-delay: 180ms; }
  .menu-open .home-nav a:nth-child(5) { transition-delay: 220ms; }
  .home-main { padding-top: 8vh; padding-bottom: 9vh; transform: translateY(-7vh); }
  .signature-wrap { width: 38vw; }
  .home-tagline { margin-top: 24px; font-size: .62rem; }
  .home-main.home-layout { grid-template-columns: 1fr; gap: 54px; padding: 54px 24px 64px; transform: none; }
  .identity-panel { text-align: center; }
  .identity-panel .signature-wrap { width: min(50vw, 220px); margin: 0 auto; }
  .identity-panel .home-tagline { margin-top: 20px; }
  .network-grid { grid-template-columns: 1fr; }
  .network-panel, .network-panel:nth-child(odd) { min-height: 140px; padding: 20px 18px; border-right: 0; border-bottom: 1px solid #292929; }
  .network-panel.single-account { min-height: 116px; }
  .network-panel:last-child { border-bottom: 0; }
  .directory-heading { align-items: center; }
  .setup-main { grid-template-columns: 1fr; gap: 48px; padding: 54px 24px 72px; }
  .setup-intro { text-align: center; }
  .setup-intro > p:last-child { margin-right: auto; margin-left: auto; }
  .affiliate-main { grid-template-columns: 1fr; gap: 48px; padding: 54px 24px 72px; }
  .affiliate-intro { text-align: center; }
  .affiliate-intro > p:last-child { margin-right: auto; margin-left: auto; }
}

@media (max-width: 520px) {
  .setup-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .setup-item, .setup-item:nth-child(3n) { border-right: 1px solid #292929; }
  .setup-item:nth-child(even) { border-right: 0; }
  .setup-category-heading { align-items: flex-end; gap: 16px; }
  .affiliate-list { grid-template-columns: 1fr; }
  .affiliate-card { border-right: 0; border-bottom: 1px solid #292929; }
  .affiliate-card:last-child { border-bottom: 0; }
  .affiliate-logo { aspect-ratio: 2.2 / 1; }
  .classes-grid { grid-template-columns: 1fr; }
  .class-item { border-right: 0; }
  .contact-link { min-height: 150px; }
  .class-dialog { width: calc(100% - 20px); max-height: calc(100svh - 20px); }
  .class-dialog-header { grid-template-columns: 1fr auto; gap: 10px; padding: 0 14px; }
  .class-dialog-header span { display: none; }
  .post-notification { right: 16px; bottom: 16px; }
  .post-notification-link { grid-template-columns: 104px minmax(0, 1fr); min-height: 120px; }
  .post-notification-link img { width: 104px; min-height: 120px; }
  .post-notification-copy { padding-right: 44px; padding-left: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; }
  .post-notification { animation: none; }
}
