:root {
  color-scheme: dark;
  --canvas: #262624;
  --ink: #10100f;
  --panel: #171715;
  --raised: #1d1d1a;
  --line: #34332e;
  --line-soft: #292824;
  --text: #f4f1e9;
  --muted: #aaa79e;
  --quiet: #77756e;
  --gold: #e2ce8f;
  --gold-strong: #f0d98d;
  --coral: #ef6b54;
  --green: #50c78a;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--canvas); scroll-behavior: smooth; }
body {
  min-width: 320px;
  min-height: 100dvh;
  margin: 0;
  padding: clamp(18px, 3.5vw, 54px);
  background: radial-gradient(circle at 14% 10%, rgba(226, 206, 143, .06), transparent 28rem), var(--canvas);
  color: var(--text);
  font: 500 16px/1.55 "Montserrat", sans-serif;
}
button, input, select { font: inherit; }
button, select { cursor: pointer; }
a { color: inherit; }
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, .notice:focus-visible, .receipt:focus-visible { outline: 3px solid var(--gold-strong); outline-offset: 3px; }
.skip-link { position: fixed; z-index: 100; top: -70px; left: 18px; padding: 12px 16px; border-radius: 9px; background: var(--gold); color: var(--ink); font-weight: 800; }
.skip-link:focus { top: 18px; }

.setup-shell {
  display: grid;
  width: min(1320px, 100%);
  min-height: min(860px, calc(100dvh - clamp(36px, 7vw, 108px)));
  margin: 0 auto;
  grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
  overflow: hidden;
  border: 8px solid #0b0b0a;
  border-radius: 26px;
  background: var(--ink);
  box-shadow: 0 32px 90px rgba(0, 0, 0, .3);
}

.form-panel { display: flex; min-width: 0; flex-direction: column; padding: clamp(28px, 4vw, 54px) clamp(26px, 5vw, 72px) clamp(34px, 5vw, 64px); background: var(--ink); }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 58px; }
.brand { display: inline-flex; width: fit-content; align-items: center; gap: 14px; text-decoration: none; }
.brand-logo, .preview-mark { position: relative; display: grid; width: 96px; height: 64px; flex: none; place-items: center; overflow: hidden; border: 1px solid #3a382e; border-radius: 15px; background: #171713; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .02); }
.brand-logo img, .preview-mark img { display: block; width: 100px; max-width: none; height: auto; transform: translate(-3px, -28px); }
.brand > span:last-child { display: grid; gap: 4px; }
.brand strong { font: 400 27px/.95 "Bebas Neue", sans-serif; letter-spacing: .1em; }
.brand small { color: var(--gold); font: 600 10px/1.2 "IBM Plex Mono", monospace; letter-spacing: .11em; }
.setup-state { display: grid; justify-items: end; gap: 6px; }
.save-state { display: flex; align-items: center; gap: 8px; margin: 0; color: #8e8b82; font-size: 12px; }
.save-state span { width: 7px; height: 7px; border-radius: 3px; background: var(--green); box-shadow: 0 0 10px rgba(80, 199, 138, .35); }
.mode-status { display: flex; align-items: center; gap: 7px; color: #79766d; }
.mode-status > span { width: 6px; height: 6px; border-radius: 2px; background: var(--gold); }
.mode-status strong { font: 600 9px/1.2 "IBM Plex Mono", monospace; letter-spacing: .08em; }
.mode-status[data-state="ready"] { color: var(--green); }
.mode-status[data-state="ready"] > span { background: var(--green); }
.mode-status[data-state="closed"] { color: var(--coral); }
.mode-status[data-state="closed"] > span { background: var(--coral); }

.setup-header { width: min(500px, 100%); margin: clamp(20px, 3vh, 36px) auto 0; }
.eyebrow, .step-count { margin: 0; color: var(--gold); font: 600 11px/1.4 "IBM Plex Mono", monospace; letter-spacing: .1em; }
.eyebrow { display: none; }
.progress { display: grid; width: 100%; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.progress span { height: 4px; border-radius: 3px; background: #2b2a26; transition: background .25s ease, transform .25s ease; }
.progress span.is-complete { background: var(--green); }
.progress span.is-current { background: var(--gold); transform: scaleY(1.4); }

#enrollment-form { width: min(500px, 100%); margin: 16px auto 0; }
.step { animation: step-in .32s cubic-bezier(.22, 1, .36, 1) both; }
@keyframes step-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
h1, h2 { margin: 0; font-family: "Montserrat", sans-serif; letter-spacing: -.045em; text-wrap: balance; }
.step h1 { margin-top: 12px; font-size: clamp(38px, 3.5vw, 48px); font-weight: 600; line-height: 1.02; }
.step h1 em { color: var(--gold); font-style: normal; }
.step-copy { max-width: 54ch; margin: 15px 0 0; color: var(--muted); font-size: 15px; line-height: 1.65; text-wrap: pretty; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; margin-top: 16px; }
.field { display: block; color: #d2cfc6; font-size: 12px; font-weight: 650; letter-spacing: .01em; }
.field-wide { grid-column: 1 / -1; }
.field span i { margin-left: 6px; color: #77746c; font-size: 10px; font-style: normal; font-weight: 500; }
.field input, .field select { display: block; width: 100%; min-height: 52px; margin-top: 7px; padding: 11px 15px; border: 1px solid #3c3a34; border-radius: 12px; outline: 0; background: #171715; color: var(--text); font-size: 15px; font-weight: 550; text-transform: none; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.field input::placeholder { color: #77746d; }
.field input:hover, .field select:hover { background: #1a1a17; border-color: #4b493f; }
.field input:focus, .field select:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(226, 206, 143, .11); }
.field[data-invalid="true"] input, .field[data-invalid="true"] select { border-color: var(--coral); box-shadow: 0 0 0 4px rgba(239, 107, 84, .1); }
.field > small:not(.field-error) { display: block; margin-top: 7px; color: #858178; font-size: 11px; line-height: 1.45; }
.field-error { display: block; min-height: 17px; margin-top: 5px; color: #ff8c78; font-size: 11px; line-height: 1.4; }

.form-actions { display: flex; width: 100%; align-items: center; gap: 12px; margin-top: 12px; }
.primary-button, .back-button, .secondary-button { display: inline-flex; min-height: 58px; align-items: center; justify-content: center; gap: 10px; border-radius: 12px; padding: 0 24px; font-size: 14px; font-weight: 800; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.primary-button { flex: 1; border: 1px solid #f1eee5; background: #f1eee5; color: #11110f; }
.primary-button:hover { background: #fffdf8; transform: translateY(-1px); }
.primary-button:active, .back-button:active, .secondary-button:active { transform: translateY(1px) scale(.99); }
.primary-button:disabled { cursor: wait; opacity: .58; }
.back-button, .secondary-button { border: 1px solid #44423b; background: transparent; color: #cac6bc; }
.back-button:hover, .secondary-button:hover { border-color: var(--gold); color: var(--text); }
.checkout-button { border-color: var(--gold); background: var(--gold); color: #15140f; }
.checkout-button:hover { background: var(--gold-strong); }
.action-note { margin: 12px 0 0; color: #858178; font-size: 12px; text-align: center; }
.live-message { min-height: 20px; margin: 12px 0 0; color: #ff8c78; font-size: 12px; font-weight: 650; }
.live-message.is-success { color: var(--green); }

.review-card { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--line); }
.review-card > div { min-width: 0; padding: 12px 14px; background: #181816; }
.review-card > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
.review-card small, .review-card strong { display: block; }
.review-card small { color: #87847b; font: 600 10px/1.3 "IBM Plex Mono", monospace; letter-spacing: .06em; }
.review-card strong { margin-top: 4px; overflow-wrap: anywhere; color: var(--text); font-size: 12px; line-height: 1.4; }
.setup-protection { display: flex; align-items: flex-start; gap: 14px; margin-top: 16px; padding: 17px; border: 1px solid #514b35; border-radius: 13px; background: #1a1914; }
.setup-protection > span { display: grid; width: 34px; height: 34px; flex: none; place-items: center; border-radius: 9px; background: var(--gold); color: var(--ink); font-weight: 900; }
.setup-protection strong { color: var(--gold); font-size: 11px; }
.setup-protection p { margin: 5px 0 0; color: #9c988f; font-size: 12px; line-height: 1.55; }
.decision-fieldset { display: grid; gap: 10px; margin: 21px 0 0; padding: 0; border: 0; }
.decision-fieldset legend { margin-bottom: 3px; color: #bcb8ae; font-size: 12px; font-weight: 700; }
.decision-check { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #171715; color: #aaa69c; font-size: 12px; line-height: 1.55; cursor: pointer; }
.decision-check:has(input:checked) { border-color: #62583a; background: #1b1a14; }
.decision-check:has(.field-error:not(:empty)) { border-color: var(--coral); }
.decision-check input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--gold); }
.decision-check strong { display: block; margin-bottom: 3px; color: var(--text); font-size: 12px; }
.decision-check .field-error { grid-column: 2; min-height: 0; margin-top: -6px; }
.legal-links { display: inline-flex; flex-wrap: wrap; gap: 8px; margin-left: 4px; }
.legal-links a { color: var(--gold); font-weight: 800; }
.document-stamp { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 14px; padding: 12px 14px; border: 1px dashed var(--line); border-radius: 10px; color: #8f8b82; font-size: 10px; }
.document-stamp span { color: var(--coral); letter-spacing: .05em; }
.document-stamp strong { overflow-wrap: anywhere; text-align: right; }
.trial-consent { display: grid; grid-template-columns: 22px 1fr; gap: 11px; align-items: start; margin-top: 14px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; background: #171715; color: #9f9b92; font-size: 11px; line-height: 1.55; cursor: pointer; transition: border-color .18s ease, background .18s ease; }
.trial-consent:has(input:checked) { border-color: #62583a; background: #1b1a14; }
.trial-consent[data-invalid="true"] { border-color: var(--coral); }
.trial-consent input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--gold); }
.trial-consent strong { display: block; margin-bottom: 2px; color: var(--text); font-size: 12px; }
.trial-consent .field-error { grid-column: 2; min-height: 0; margin-top: -5px; }
.trial-consent .legal-links { margin-left: 3px; }

.preview-panel { position: relative; display: flex; min-width: 0; flex-direction: column; justify-content: center; overflow: hidden; border-left: 1px solid #272622; background: radial-gradient(circle at 50% 50%, rgba(226, 206, 143, .075), transparent 22rem), #1a1a18; }
.preview-panel::before, .preview-panel::after { position: absolute; border: 1px solid rgba(226, 206, 143, .05); border-radius: 50%; content: ""; pointer-events: none; }
.preview-panel::before { width: 560px; height: 560px; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.preview-panel::after { width: 420px; height: 420px; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.preview-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: clamp(28px, 4vw, 52px); }
.preview-brand { display: inline-flex; align-items: center; gap: 13px; font-size: 18px; font-weight: 800; letter-spacing: .04em; }
.preview-mark { width: 74px; height: 54px; border-radius: 13px; }
.preview-mark img { width: 82px; transform: translate(-3px, -22px); }
.preview-top small { color: #8b887f; font-size: 10px; font-weight: 650; letter-spacing: .07em; }
.preview-stage { position: relative; z-index: 1; width: min(440px, calc(100% - 80px)); margin: 0 auto; padding: clamp(24px, 3vw, 34px); border: 1px solid #3c3a33; border-radius: 20px; background: rgba(22, 22, 19, .92); box-shadow: 0 26px 70px rgba(0, 0, 0, .32), inset 0 1px rgba(255, 255, 255, .025); }
.preview-status { display: flex; align-items: center; gap: 9px; }
.preview-status span { width: 8px; height: 8px; border-radius: 3px; background: var(--gold); box-shadow: 0 0 14px rgba(226, 206, 143, .45); }
.preview-status strong, .preview-kicker, .preview-command small, .preview-grid small, .preview-modules p { font: 600 10px/1.3 "IBM Plex Mono", monospace; letter-spacing: .07em; }
.preview-status strong { color: var(--gold); }
.preview-kicker { margin: 26px 0 7px; color: #88857c; }
.standard-preview > h2 { max-width: 100%; overflow-wrap: anywhere; font-size: clamp(34px, 3.5vw, 48px); font-weight: 650; line-height: .98; }
.standard-preview > p#preview-location { margin: 13px 0 0; color: #9b978e; font-size: 13px; }
.preview-command { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 22px; padding: 14px; border-left: 3px solid var(--gold); background: #1c1b17; }
.preview-command small, .preview-command strong { display: block; }
.preview-command small { color: #858178; }
.preview-command strong { margin-top: 6px; color: var(--text); font-size: 14px; }
.preview-command > span { padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; color: #b5b1a7; font-size: 11px; white-space: nowrap; }
.preview-grid { display: grid; gap: 7px; margin-top: 14px; }
.preview-grid article { display: grid; grid-template-columns: 32px 1fr 8px; gap: 11px; align-items: center; padding: 10px 12px; border: 1px solid var(--line-soft); border-radius: 10px; background: #181816; }
.preview-grid article > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 8px; background: #222119; color: var(--gold); font: 650 9px/1 "IBM Plex Mono", monospace; }
.preview-grid small { display: block; color: #7e7b73; }
.preview-grid strong { display: block; margin-top: 4px; color: #b9b5ab; font-size: 12px; }
.preview-grid i { width: 8px; height: 8px; border-radius: 3px; background: #46443d; }
.preview-grid article.is-complete { border-color: rgba(80, 199, 138, .28); }
.preview-grid article.is-complete i { background: var(--green); box-shadow: 0 0 10px rgba(80, 199, 138, .45); }
.preview-grid article.is-complete strong { color: var(--text); }
.preview-modules { display: none; }
.preview-modules p { margin: 0; color: #817e76; }
.preview-modules div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 11px; }
.preview-modules span { padding: 7px 9px; border: 1px solid #3b3932; border-radius: 8px; color: #aaa69c; font-size: 10px; }
.preview-foot { position: relative; z-index: 1; max-width: 470px; margin: 24px auto 0; padding: 0 30px; color: #918e85; font-size: 11px; line-height: 1.6; text-align: center; }
.preview-foot strong { display: block; margin-bottom: 3px; color: #d0ccc2; }

.activation-flow { display: none; }
body[data-current-step="4"] .standard-preview, body[data-current-step="4"] .preview-foot { display: none; }
body[data-current-step="4"] .preview-stage { width: min(400px, calc(100% - 80px)); padding: 28px; }
body[data-current-step="4"] .activation-flow { display: block; }
body[data-current-step="4"] .form-panel { padding-top: 28px; padding-bottom: 28px; }
body[data-current-step="4"] .topbar { min-height: 54px; }
body[data-current-step="4"] .setup-header { margin-top: 14px; }
body[data-current-step="4"] #enrollment-form { margin-top: 12px; }
body[data-current-step="4"] .step h1 { font-size: clamp(36px, 3.15vw, 43px); }
body[data-current-step="4"] .step-copy { margin-top: 11px; line-height: 1.5; }
body[data-current-step="4"] .review-card { margin-top: 14px; }
body[data-current-step="4"] .form-actions { margin-top: 10px; }
body[data-current-step="4"] .primary-button, body[data-current-step="4"] .back-button { min-height: 52px; }
.activation-heading { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid var(--line-soft); }
.activation-heading > span { width: 10px; height: 10px; flex: none; border: 2px solid var(--gold); border-radius: 50%; box-shadow: 0 0 16px rgba(226, 206, 143, .4); animation: core-breathe 2.4s cubic-bezier(.77, 0, .175, 1) infinite; }
.activation-heading small, .activation-list small, .activation-core small { display: block; color: #7f7c74; font: 600 9px/1.3 "IBM Plex Mono", monospace; letter-spacing: .08em; }
.activation-heading strong { display: block; max-width: 26ch; margin-top: 4px; overflow-wrap: anywhere; color: var(--text); font-size: 16px; line-height: 1.25; }
.activation-list { display: grid; gap: 7px; margin-top: 15px; }
.activation-list article { display: grid; grid-template-columns: 30px minmax(0, 1fr) 22px; gap: 10px; align-items: center; min-height: 55px; padding: 9px 11px; border: 1px solid var(--line-soft); border-radius: 10px; background: #181816; }
.activation-list article > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 8px; background: #222119; color: var(--gold); font: 650 9px/1 "IBM Plex Mono", monospace; }
.activation-list article strong { display: block; margin-top: 3px; overflow: hidden; color: #d8d4ca; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.activation-list article i { display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; background: rgba(80, 199, 138, .13); color: var(--green); font-size: 10px; font-style: normal; opacity: .4; animation: check-connect 4.8s cubic-bezier(.23, 1, .32, 1) infinite; animation-delay: calc(var(--sequence) * .55s); }
.activation-rail { position: relative; height: 24px; margin: 0 21px; overflow: hidden; }
.activation-rail span { position: absolute; width: 1px; height: 100%; left: 50%; background: linear-gradient(to bottom, var(--line), var(--gold)); }
.activation-rail i { position: absolute; width: 7px; height: 7px; left: calc(50% - 3px); top: 0; border-radius: 50%; background: var(--gold); box-shadow: 0 0 12px rgba(226, 206, 143, .55); animation: data-travel 1.8s linear infinite; }
.activation-core { display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid rgba(80, 199, 138, .28); border-radius: 12px; background: rgba(80, 199, 138, .055); }
.activation-core > span { width: 12px; height: 12px; flex: none; border: 3px solid rgba(80, 199, 138, .22); border-radius: 50%; background: var(--green); box-shadow: 0 0 18px rgba(80, 199, 138, .45); animation: core-breathe 2.4s cubic-bezier(.77, 0, .175, 1) infinite; }
.activation-core strong { display: block; margin-top: 3px; color: var(--text); font-size: 12px; }
@keyframes check-connect { 0%, 12% { opacity: .35; transform: scale(.94); } 22%, 74% { opacity: 1; transform: scale(1); } 88%, 100% { opacity: .35; transform: scale(.94); } }
@keyframes data-travel { from { opacity: 0; transform: translateY(0); } 18% { opacity: 1; } 82% { opacity: 1; } to { opacity: 0; transform: translateY(24px); } }
@keyframes core-breathe { 0%, 100% { opacity: .58; transform: scale(.94); } 50% { opacity: 1; transform: scale(1); } }

.notice { width: min(500px, 100%); margin: 28px auto 0; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: #171715; }
.notice strong { font-size: 14px; }
.notice p { margin: 6px 0 0; color: var(--muted); font-size: 12px; }
.notice a { display: inline-block; margin-top: 9px; color: var(--gold); font-size: 12px; font-weight: 800; }
.notice-canceled { border-color: #5b5031; }
.notice-closed { border-color: rgba(239, 107, 84, .45); }
.receipt { width: min(500px, 100%); margin: auto; padding: clamp(30px, 5vw, 54px); border: 1px solid var(--line); border-radius: 20px; background: #171715; text-align: center; }
.receipt-mark { display: grid; width: 58px; height: 58px; margin: 0 auto 20px; place-items: center; border-radius: 15px; background: rgba(80, 199, 138, .12); color: var(--green); font-size: 23px; font-weight: 900; }
.receipt h2 { font-size: clamp(34px, 4vw, 50px); font-weight: 650; line-height: 1.02; }
.receipt > p:not(.eyebrow):not(.receipt-help) { max-width: 46ch; margin: 17px auto 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.receipt dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 25px 0 0; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--line); text-align: left; }
.receipt dl div { padding: 15px; background: #1a1a17; }
.receipt dt { color: #89867d; font-size: 10px; }
.receipt dd { margin: 6px 0 0; color: var(--text); font-size: 12px; font-weight: 800; overflow-wrap: anywhere; }
.receipt-actions { display: grid; gap: 9px; margin-top: 22px; }
.receipt-actions .primary-button { text-decoration: none; }
.receipt-help { margin: 17px 0 0; color: #89867d; font-size: 11px; }
.receipt-help a { color: var(--gold); font-weight: 800; }
.legal-footer { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; width: min(1320px, 100%); margin: 0 auto; padding: 17px 20px 0; color: #aaa79f; font-size: 11px; }
.legal-footer a { color: #ddd8cd; font-weight: 700; }

@media (max-width: 1060px) {
  body { padding: 0; background: var(--ink); }
  .setup-shell { grid-template-columns: 1fr; min-height: 100dvh; border: 0; border-radius: 0; box-shadow: none; }
  .form-panel { min-height: 100dvh; }
  .preview-panel { min-height: 720px; border-top: 1px solid var(--line-soft); border-left: 0; }
  .preview-stage { margin: 72px auto 0; }
  .preview-foot { margin-bottom: 72px; }
  .legal-footer { background: var(--ink); padding: 20px; }
}
@media (max-width: 680px) {
  .form-panel { padding: 22px 20px 42px; }
  .brand-logo { width: 78px; height: 56px; }
  .brand-logo img { width: 84px; transform: translate(-3px, -23px); }
  .brand strong { font-size: 24px; }
  .brand small { font-size: 8px; }
  .setup-state { gap: 4px; }
  .save-state { font-size: 10px; }
  .mode-status strong { max-width: 100px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .setup-header { margin-top: 32px; }
  #enrollment-form { margin-top: 24px; }
  .step h1 { font-size: 40px; }
  .step-copy { font-size: 14px; }
  .form-grid, .review-card { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .form-actions { align-items: stretch; flex-direction: column-reverse; }
  .back-button, .primary-button { width: 100%; }
  .preview-panel { min-height: 680px; }
  .preview-top { padding: 24px 20px; }
  .preview-top small { display: none; }
  .preview-stage { width: calc(100% - 32px); margin: 48px auto; padding: 26px 20px; }
  .standard-preview > h2 { font-size: 40px; }
  .preview-command { align-items: flex-start; flex-direction: column; }
  .preview-foot { padding-inline: 24px; }
  .document-stamp { align-items: flex-start; flex-direction: column; }
  .document-stamp strong { text-align: left; }
  body[data-current-step="4"] .preview-stage { width: calc(100% - 32px); padding: 24px 20px; }
  .receipt dl { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
  .activation-list article i, .activation-heading > span, .activation-core > span { opacity: 1; transform: none; }
  .activation-rail i { display: none; }
}
