:root {
  --color-canvas: #fef6f4;
  --color-surface: #ffffff;
  --color-ink: #272238;
  --color-ink-muted: #5e5874;
  --color-brand: #7567e8;
  --color-brand-deep: #5551c7;
  --color-line: rgb(39 34 56 / 24%);
  --color-line-strong: rgb(39 34 56 / 56%);
  --color-line-inverse: rgb(254 246 244 / 48%);
  --font-heading: ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --weight-regular: 400;
  --weight-strong: 700;
  --weight-display: 850;
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 40px;
  --space-6: 48px;
  --space-8: 64px;
  --space-12: 96px;
  --radius-small: 8px;
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --motion-fast: 180ms;
  --motion-reveal: 420ms;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--color-canvas); }

body {
  position: relative;
  min-height: 100%;
  margin: 0;
  overflow-x: hidden;
  color: var(--color-ink);
  background: var(--color-canvas);
  font-family: var(--font-body);
  font-weight: var(--weight-regular);
}

body::before {
  position: fixed;
  inset: 0;
  z-index: 0;
  content: "";
  opacity: 0;
  background: var(--color-brand-deep);
  pointer-events: none;
  transition: opacity var(--motion-reveal) var(--ease-out);
}

body.is-dark::before { opacity: 1; }
[hidden] { display: none !important; }
button, input { font: inherit; }
button, label { -webkit-tap-highlight-color: transparent; }
button { touch-action: manipulation; }
a { color: inherit; }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 10;
  width: min(100% - 64px, 1184px);
  min-height: 72px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.wordmark {
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: var(--weight-display);
  letter-spacing: -.035em;
  text-decoration: none;
}

.wordmark img {
  display: block;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border-radius: 22.5%;
}

.header-note,
.eyebrow,
.step-label,
.progress-label,
.email-form > label {
  margin: 0;
  font-size: 11px;
  font-weight: var(--weight-strong);
  letter-spacing: .12em;
  line-height: 1.5;
  text-transform: uppercase;
}

.header-note { color: var(--color-ink-muted); }
body.is-dark .site-header,
body.is-dark .header-note { color: var(--color-canvas); }

.experience {
  position: relative;
  z-index: 1;
  min-height: 100svh;
  padding: var(--space-12) var(--space-4) var(--space-8);
}

.hero {
  width: min(100%, 1184px);
  min-height: calc(100svh - 160px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(296px, .92fr);
  align-items: center;
  align-content: center;
  column-gap: clamp(40px, 6vw, 88px);
  row-gap: var(--space-3);
}

.copy-column { min-width: 0; }
.intro-panel { max-width: 690px; opacity: 1; transform: translateY(0); }

.intro-panel.is-leaving {
  opacity: 0;
  transform: translateY(-12px);
  transition: opacity var(--motion-fast) ease-out, transform var(--motion-fast) ease-out;
}

.eyebrow { margin-bottom: var(--space-3); color: var(--color-brand-deep); }
.intro-copy { opacity: 1; transform: translateY(0); }

.intro-copy.is-changing {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity var(--motion-fast) ease-out, transform var(--motion-fast) ease-out;
}

.intro-copy.is-entering { animation: reveal-up var(--motion-reveal) var(--ease-out) both; }

.intro-copy h1 {
  max-width: 12ch;
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(48px, 6.4vw, 84px);
  font-weight: var(--weight-display);
  letter-spacing: -.052em;
  line-height: 1.08;
  text-wrap: balance;
}

.intro-copy p {
  max-width: 43ch;
  margin: var(--space-3) 0 0;
  color: var(--color-ink-muted);
  font-size: clamp(17px, 1.8vw, 20px);
  line-height: 1.55;
}

body.is-dark .intro-panel,
body.is-dark .intro-copy p,
body.is-dark .eyebrow { color: var(--color-canvas); }

.character-column {
  --video-stage-half: min(156px, 14.5vw, 22svh);
  min-width: 0;
  display: grid;
  justify-items: center;
  align-content: center;
}

.media-shell { position: relative; width: 100%; display: grid; justify-items: center; }

.character-stage {
  position: relative;
  width: min(312px, 29vw, 44svh);
  min-width: 224px;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-small);
  background: var(--color-canvas);
  transform: translateY(0);
  transition: opacity var(--motion-reveal) var(--ease-out), transform var(--motion-reveal) var(--ease-out);
}

body.is-dark .character-stage { border-color: var(--color-line-inverse); background: var(--color-brand-deep); }
body.is-dark .character-stage.has-static-pose { border-color: transparent; background: transparent; }

.character-stage.has-static-pose {
  width: min(312px, 29vw, 42svh);
  min-width: 224px;
  aspect-ratio: 1 / 1;
  overflow: visible;
  border-color: transparent;
  background: transparent;
}

.character-media {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  opacity: 1;
  visibility: visible;
  transition: opacity var(--motion-reveal) var(--ease-out), transform var(--motion-reveal) var(--ease-out);
}

.character-media.is-hidden {
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
}

.pose-image { object-fit: contain; }

.play-prompt,
.motion-control,
.skip-intro {
  z-index: 4;
  min-height: 48px;
  padding: 0 var(--space-2);
  border: 1px solid var(--color-line-strong);
  border-radius: 6px;
  color: var(--color-ink);
  background: var(--color-canvas);
  font-size: 12px;
  font-weight: var(--weight-strong);
  cursor: pointer;
  transition: opacity var(--motion-fast) ease-out, transform var(--motion-fast) ease-out;
}

.play-prompt {
  position: absolute;
  inset: 50% auto auto 50%;
  min-width: min(232px, calc(100% - 32px));
  transform: translate(-50%, -50%);
}

.play-prompt:hover,
.play-prompt:focus-visible { transform: translate(-50%, calc(-50% - 2px)); }
.motion-control {
  width: 48px;
  padding: 0;
}

.skip-intro { padding-inline: 12px; }
.motion-control:hover,
.skip-intro:hover { opacity: .76; }

.character-controls {
  margin-top: var(--space-1);
  display: none;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
}

.character-controls:has(.skip-intro:not([hidden]), .motion-control:not([hidden])) { display: flex; }

.motion-icon {
  position: relative;
  width: 16px;
  height: 16px;
  display: inline-block;
}

.motion-icon::before,
.motion-icon::after {
  position: absolute;
  top: 1px;
  width: 4px;
  height: 14px;
  content: "";
  background: currentColor;
}

.motion-icon::before { left: 2px; }
.motion-icon::after { right: 2px; }

.motion-control.is-paused .motion-icon::before {
  top: 1px;
  left: 4px;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 11px solid currentColor;
  background: transparent;
}

.motion-control.is-paused .motion-icon::after { display: none; }

body.is-survey .copy-column,
body.is-survey .survey-panel.is-visible { display: contents; }

body.is-survey .progress-block { grid-column: 1; grid-row: 1; align-self: end; }
body.is-survey .speech-panel { grid-column: 2; grid-row: 1; align-self: end; justify-self: center; }
body.is-survey .answer-form,
body.is-survey .email-form { grid-column: 1; grid-row: 2; align-self: start; }
body.is-survey .character-column { grid-column: 2; grid-row: 2; align-self: start; }
.survey-panel.is-visible > * { animation: reveal-up var(--motion-reveal) var(--ease-out) both; }

.progress-block { width: min(100%, 600px); margin-bottom: var(--space-3); }
.progress-heading { min-height: 40px; display: flex; align-items: center; gap: var(--space-2); }

.progress-number {
  width: 40px;
  height: 40px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid var(--color-line-strong);
  border-radius: 6px;
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: var(--weight-display);
  letter-spacing: -.04em;
}

.progress-label { color: var(--color-ink-muted); }

.progress-dots {
  margin: var(--space-2) 0 0 56px;
  padding: 0;
  display: flex;
  gap: var(--space-1);
  list-style: none;
}

.progress-dots li {
  width: 9px;
  height: 9px;
  border: 1px solid var(--color-line-strong);
  border-radius: 2px;
  background: transparent;
}

.progress-dots li.is-complete { border-color: var(--color-brand-deep); background: var(--color-brand-deep); }
.progress-dots li.is-current { border-width: 2px; border-color: var(--color-brand-deep); background: transparent; }

.back-button {
  min-height: 48px;
  margin-left: auto;
  padding: 0 var(--space-1);
  border: 0;
  color: var(--color-ink-muted);
  background: transparent;
  font-size: 12px;
  font-weight: var(--weight-strong);
  cursor: pointer;
}

.back-button:hover { color: var(--color-ink); }
body.is-dark .progress-number { border-color: var(--color-line-inverse); color: var(--color-ink); background: var(--color-canvas); }
body.is-dark .progress-label,
body.is-dark .back-button { color: var(--color-canvas); }
body.is-dark .progress-dots li { border-color: var(--color-line-inverse); }
body.is-dark .progress-dots li.is-complete { border-color: var(--color-canvas); background: var(--color-canvas); }
body.is-dark .progress-dots li.is-current { border-color: var(--color-canvas); background: transparent; }

.speech-panel {
  position: relative;
  z-index: 4;
  width: min(100%, 440px);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-small);
  color: var(--color-ink);
  background: var(--color-canvas);
  transform: translateY(0);
}

.speech-panel::after {
  position: absolute;
  right: 34%;
  bottom: -9px;
  width: 16px;
  height: 16px;
  content: "";
  border-right: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
  background: var(--color-canvas);
  transform: rotate(45deg);
}

.step-label { min-height: 17px; margin-bottom: 6px; color: var(--color-brand-deep); }

.speech-panel h1 {
  margin: 0;
  outline: 0;
  font-family: var(--font-heading);
  font-size: clamp(25px, 3vw, 36px);
  font-weight: var(--weight-display);
  letter-spacing: -.04em;
  line-height: 1.12;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.success-email {
  margin: var(--space-1) 0 0;
  color: var(--color-ink-muted);
  font-size: 14px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.join-another {
  min-height: 48px;
  margin-top: 4px;
  padding: 0;
  border: 0;
  color: var(--color-ink-muted);
  background: transparent;
  font-size: 13px;
  font-weight: var(--weight-strong);
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}

.answer-form { width: min(100%, 600px); display: grid; gap: var(--space-2); }

.choices {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
}

.choice {
  position: relative;
  min-width: 0;
  min-height: 64px;
  padding: 11px var(--space-2);
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-small);
  color: var(--color-ink);
  background: var(--color-surface);
  cursor: pointer;
  transition: opacity var(--motion-fast) ease-out, transform var(--motion-fast) ease-out;
}

.choice:hover { transform: translateY(-2px); }

.choice input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.choice-control {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid var(--color-line-strong);
  border-radius: 50%;
}

.choice-control::after {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  content: "";
  opacity: 0;
  background: var(--color-brand-deep);
  transform: scale(.5);
  transition: opacity var(--motion-fast) ease-out, transform var(--motion-fast) ease-out;
}

.choice:has(input:checked) { border-color: var(--color-brand-deep); background: var(--color-canvas); }
.choice:has(input:checked) .choice-control { border-color: var(--color-brand-deep); }
.choice:has(input:checked) .choice-control::after { opacity: 1; transform: scale(1); }

.choice-label { min-width: 0; font-size: 15px; font-weight: var(--weight-strong); line-height: 1.35; }

.continue-button,
.email-row button {
  min-height: 56px;
  padding: 0 var(--space-3);
  border: 1px solid var(--color-ink);
  border-radius: var(--radius-small);
  color: var(--color-surface);
  background: var(--color-ink);
  font-size: 16px;
  font-weight: var(--weight-strong);
  cursor: pointer;
  transition: opacity var(--motion-fast) ease-out, transform var(--motion-fast) ease-out;
}

.continue-button:not(:disabled):hover,
.email-row button:not(:disabled):hover { transform: translateY(-2px); }
.continue-button:disabled,
.email-row button:disabled { opacity: .48; cursor: not-allowed; }
body.is-dark .choice { border-color: var(--color-canvas); background: var(--color-canvas); }
body.is-dark .continue-button { border-color: var(--color-canvas); color: var(--color-ink); background: var(--color-canvas); }

.email-form { width: min(100%, 600px); display: grid; gap: var(--space-1); }
.email-form > label { color: var(--color-ink); }
.email-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2); }

.email-row input {
  min-width: 0;
  min-height: 56px;
  padding: 0 var(--space-2);
  border: 2px solid var(--color-line-strong);
  border-radius: var(--radius-small);
  color: var(--color-ink);
  background: var(--color-surface);
  font-size: 16px;
}

.email-row input[aria-invalid="true"] { border-color: var(--color-ink); }

.privacy-copy,
.form-status {
  max-width: 65ch;
  margin: 0;
  color: var(--color-ink-muted);
  font-size: 12px;
  line-height: 1.55;
}

.privacy-copy a { font-weight: var(--weight-strong); text-underline-offset: 3px; }
.form-status { min-height: 20px; }
.form-status.is-error { color: var(--color-ink); }
body.is-dark .email-form > label,
body.is-dark .privacy-copy,
body.is-dark .form-status,
body.is-dark .form-status.is-error { color: var(--color-canvas); }

.choice:has(input:focus-visible),
.play-prompt:focus-visible,
.motion-control:focus-visible,
.skip-intro:focus-visible,
.back-button:focus-visible,
.continue-button:focus-visible,
.email-row input:focus-visible,
.email-row button:focus-visible,
.wordmark:focus-visible,
.privacy-copy a:focus-visible,
.privacy-page a:focus-visible,
.privacy-request input:focus-visible,
.privacy-request button:focus-visible {
  outline: 3px solid var(--color-brand-deep);
  outline-offset: 3px;
}

.join-another:focus-visible {
  outline: 3px solid var(--color-brand-deep);
  outline-offset: 3px;
}

body.is-dark .choice:has(input:focus-visible),
body.is-dark .play-prompt:focus-visible,
body.is-dark .motion-control:focus-visible,
body.is-dark .skip-intro:focus-visible,
body.is-dark .back-button:focus-visible,
body.is-dark .continue-button:focus-visible,
body.is-dark .email-row input:focus-visible,
body.is-dark .email-row button:focus-visible,
body.is-dark .wordmark:focus-visible,
body.is-dark .privacy-copy a:focus-visible { outline-color: var(--color-canvas); }

body.is-complete .progress-block,
body.is-complete .answer-form,
body.is-complete .email-form { display: none !important; }
body.is-complete .speech-panel,
body.is-complete .character-column { align-self: center; }

.noscript-message {
  position: relative;
  z-index: 20;
  width: min(100% - 32px, 640px);
  margin: 0 auto var(--space-3);
  padding: var(--space-2);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-small);
  background: var(--color-surface);
  line-height: 1.55;
}

@keyframes reveal-up {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 900px) and (min-width: 701px) {
  .site-header { width: calc(100% - 48px); }
  .experience { padding-inline: var(--space-3); }
  .hero { grid-template-columns: minmax(0, 1fr) minmax(248px, .72fr); column-gap: var(--space-4); }
  .character-stage,
  .character-stage.has-static-pose { min-width: 0; width: min(280px, 34vw, 42svh); }
  .speech-panel { padding: 14px var(--space-2); }
  .speech-panel h1 { font-size: clamp(24px, 3.4vw, 32px); }
  .choice { min-height: 60px; }
}

@media (max-width: 700px) {
  .site-header { width: calc(100% - 32px); min-height: 56px; }
  .wordmark { font-size: 18px; }
  .header-note { font-size: 10px; }
  .experience { min-height: 100svh; padding: 56px var(--space-2) 12px; }
  .hero { min-height: calc(100svh - 68px); grid-template-columns: 1fr; align-content: center; row-gap: 12px; }
  .intro-panel { order: 1; padding-top: var(--space-2); }
  .character-column { order: 2; }
  .eyebrow { margin-bottom: var(--space-2); }
  .intro-copy h1 { max-width: 13ch; font-size: clamp(38px, 11.5vw, 54px); }
  .intro-copy p { margin-top: var(--space-2); font-size: 16px; }
  .character-stage { width: min(188px, 48vw, 28svh); min-width: 0; }
  .character-stage.has-static-pose { width: min(180px, 46vw, 26svh); min-width: 0; }
  .character-column { --video-stage-half: min(94px, 24vw, 14svh); }
  .character-controls { position: absolute; inset: 0; margin: 0; pointer-events: none; }
  .character-controls .skip-intro,
  .character-controls .motion-control { position: absolute; top: 0; pointer-events: auto; }
  .character-controls .skip-intro { right: calc(50% + var(--video-stage-half) + 8px); }
  .character-controls .motion-control { left: calc(50% + var(--video-stage-half) + 8px); }

  body.is-survey .hero { grid-template-rows: auto auto auto auto; align-content: center; row-gap: var(--space-1); }
  body.is-survey .progress-block { grid-column: 1; grid-row: 1; align-self: auto; margin: 0; }
  body.is-survey .speech-panel { grid-column: 1; grid-row: 2; align-self: auto; }
  body.is-survey .character-column { grid-column: 1; grid-row: 3; align-self: auto; }
  body.is-survey .answer-form,
  body.is-survey .email-form { grid-column: 1; grid-row: 4; align-self: auto; }

  .progress-heading { min-height: 32px; gap: 12px; }
  .progress-number { width: 32px; height: 32px; font-size: 15px; }
  .progress-label { font-size: 10px; }
  .progress-dots { margin: 6px 0 0 44px; gap: 6px; }
  .progress-dots li { width: 8px; height: 8px; }
  .back-button { min-height: 48px; margin-block: -8px; }
  .speech-panel { width: 100%; padding: 11px var(--space-2); }
  .speech-panel::after { right: 38%; }
  .step-label { min-height: 15px; margin-bottom: 3px; font-size: 10px; }
  .speech-panel h1 { font-size: clamp(22px, 6.5vw, 28px); line-height: 1.08; }
  .choices { grid-template-columns: 1fr; gap: 6px; }
  .answer-form { gap: var(--space-1); }
  .choice { min-height: 48px; padding: 7px 12px; gap: 10px; }
  .choice:hover { transform: none; }
  .choice-control { width: 20px; height: 20px; }
  .choice-control::after { width: 9px; height: 9px; }
  .choice-label { font-size: 14px; }
  .continue-button { min-height: 48px; }
  .email-row { grid-template-columns: 1fr; gap: var(--space-1); }
  .email-row input,
  .email-row button { min-height: 52px; }
  .privacy-copy { font-size: 11px; }
  body.is-complete .hero { grid-template-rows: auto auto; row-gap: var(--space-3); }
  body.is-complete .speech-panel { grid-row: 1; }
  body.is-complete .character-column { grid-row: 2; }
}

@media (max-width: 700px) and (max-height: 700px) {
  .site-header { min-height: 48px; }
  .experience { padding-top: 48px; padding-bottom: 8px; }
  .hero { min-height: calc(100svh - 56px); row-gap: 6px; }
  .header-note { display: none; }
  .character-stage { width: min(132px, 37vw, 23svh); }
  .character-stage.has-static-pose { width: min(128px, 36vw, 22svh); }
  .character-column { --video-stage-half: min(66px, 18.5vw, 11.5svh); }
  .speech-panel { padding-block: 8px; }
  .speech-panel h1 { font-size: clamp(20px, 6vw, 24px); }
  .step-label { margin-bottom: 1px; }
  .progress-dots { display: none; }
  .choice { min-height: 48px; padding-block: 5px; }
  .continue-button { min-height: 48px; }
  .play-prompt,
  .motion-control,
  .skip-intro { min-height: 48px; }
}

@media (max-height: 720px) and (min-width: 701px) {
  .experience { padding-block: var(--space-8) var(--space-3); }
  .hero { min-height: calc(100svh - 88px); }
  .character-stage { width: min(264px, 39svh); }
  .character-stage.has-static-pose { width: min(248px, 38svh); }
  .intro-copy h1 { font-size: clamp(44px, 5.8vw, 68px); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
    transition-duration: .01ms !important;
  }
}

.privacy-page {
  position: relative;
  z-index: 1;
  width: min(100% - 32px, 760px);
  margin-inline: auto;
  padding: 120px 0 var(--space-12);
}

.privacy-page header { margin-bottom: var(--space-8); }
.privacy-page h1,
.privacy-page h2 { font-family: var(--font-heading); font-weight: var(--weight-display); letter-spacing: -.04em; line-height: 1.12; }
.privacy-page h1 { max-width: 12ch; margin: 0; font-size: clamp(48px, 8vw, 76px); }
.privacy-page h2 { margin: var(--space-6) 0 var(--space-2); font-size: 24px; }
.privacy-page p,
.privacy-page li { max-width: 65ch; font-size: 16px; line-height: 1.6; }
.privacy-page ul { padding-left: var(--space-3); }
.privacy-page .effective { color: var(--color-ink-muted); }
.privacy-page .back-home { font-weight: var(--weight-strong); text-underline-offset: 4px; }

.not-found-mopkin {
  width: min(180px, 50vw);
  height: auto;
  margin: var(--space-4) 0 0 auto;
  display: block;
}

.privacy-request {
  margin-top: var(--space-4);
  padding: var(--space-3);
  border: 1px solid var(--color-line-strong);
  border-radius: var(--radius-small);
  display: grid;
  gap: var(--space-1);
}

.privacy-request label { font-weight: var(--weight-strong); }
.privacy-request-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-1); }
.privacy-request input,
.privacy-request button { min-height: 52px; border-radius: var(--radius-small); font-size: 16px; }
.privacy-request input { min-width: 0; padding-inline: var(--space-2); border: 2px solid var(--color-line-strong); }
.privacy-request button { padding-inline: var(--space-3); border: 1px solid var(--color-ink); color: var(--color-surface); background: var(--color-ink); font-weight: var(--weight-strong); }

@media (max-width: 560px) {
  .privacy-page { padding-top: var(--space-12); }
  .privacy-page header { margin-bottom: var(--space-6); }
  .privacy-request-row { grid-template-columns: 1fr; }
}
