/* P15 R08E-02 BLOCK 01: styles.css; SOURCE_SHA256=1645C14CF80F545C769EF359D7D1EA28971C75BCFEE07735C89EE1396BDD4F88 */
:root {
  --navy-950: #042a54;
  --navy-900: #07335f;
  --navy-800: #124873;
  --navy-700: #1c5d89;
  --blue-100: #eaf6ff;
  --blue-200: #d8edfb;
  --blue-300: #b7daf2;
  --pink-600: #ed255d;
  --pink-500: #fc3667;
  --pink-100: #fff0f5;
  --gold-600: #a86600;
  --gold-500: #be7b06;
  --gold-100: #fff8e8;
  --yellow: #ffda5e;
  --ink: #102c49;
  --muted: #557087;
  --line: #d8e4ec;
  --surface: #ffffff;
  --surface-warm: #fffdf9;
  --shadow-sm: 0 8px 24px rgba(5, 48, 92, 0.08);
  --shadow-md: 0 18px 50px rgba(5, 48, 92, 0.14);
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --content: 1180px;
  --reading: 740px;
  --vvh: 100dvh;
  --header-height: 76px;
  --focus: #0c6ebd;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-height) + 24px);
}

body {
  margin: 0;
  min-width: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 0 3%, rgba(182, 222, 248, 0.62), transparent 24rem),
    radial-gradient(circle at 100% 42%, rgba(213, 236, 251, 0.55), transparent 28rem),
    linear-gradient(180deg, #f8fcff 0%, #ffffff 30%, #fffdf9 100%);
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

body.modal-open {
  overflow: hidden;
}

button,
input,
textarea {
  font: inherit;
}

button {
  color: inherit;
}

button:not(:disabled),
summary,
label,
[role="button"] {
  cursor: pointer;
}

button:disabled {
  cursor: wait;
  opacity: 0.66;
}

img,
svg {
  display: block;
  max-width: 100%;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1,
h2,
h3 {
  color: var(--navy-950);
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1.08;
  text-wrap: balance;
}

h1 {
  margin-bottom: 0.55rem;
  font-size: clamp(2.45rem, 5.2vw, 4.7rem);
  letter-spacing: -0.045em;
}

h2 {
  margin-bottom: 0.65rem;
  font-size: clamp(1.72rem, 3vw, 2.6rem);
  letter-spacing: -0.028em;
}

h3 {
  margin-bottom: 0.5rem;
  font-size: clamp(1.16rem, 2vw, 1.45rem);
}

p:last-child {
  margin-bottom: 0;
}

:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.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;
}

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 1000;
  transform: translateY(-160%);
  padding: 0.7rem 1rem;
  color: #fff;
  background: var(--navy-950);
  border-radius: 8px;
}

.skip-link:focus {
  transform: translateY(0);
}

.prototype-banner {
  display: flex;
  position: relative;
  z-index: 30;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 34px;
  padding: 0.35rem 1rem;
  color: #fff;
  background: var(--navy-950);
  font-size: 0.8rem;
  text-align: center;
}

.prototype-banner strong {
  color: #fff;
}

.site-header {
  position: sticky;
  z-index: 25;
  top: 0;
  border-bottom: 1px solid rgba(10, 55, 95, 0.1);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 3px 18px rgba(5, 48, 92, 0.06);
  backdrop-filter: blur(16px);
}

.header-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1.25rem;
  align-items: center;
  width: min(var(--content), calc(100% - 2rem));
  min-height: var(--header-height);
  margin: 0 auto;
}

.brand {
  display: inline-flex;
  gap: 0.68rem;
  align-items: center;
  min-height: 52px;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.brand img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.brand-copy {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
}

.brand-copy strong {
  color: var(--navy-950);
  font-size: 1.31rem;
  line-height: 1.1;
}

.brand-copy span {
  color: var(--muted);
  font-size: 0.77rem;
}

.desktop-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.25rem, 1.2vw, 1rem);
}

.desktop-nav button,
.site-footer nav button {
  min-height: 48px;
  padding: 0.5rem 0.55rem;
  border: 0;
  background: transparent;
  color: var(--navy-950);
  font-size: 0.9rem;
  font-weight: 700;
}

.desktop-nav button:hover,
.site-footer nav button:hover {
  color: var(--pink-600);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.icon-text-button {
  min-height: 48px;
  padding: 0.5rem 0.55rem;
  border: 0;
  background: transparent;
  color: var(--navy-950);
  font-size: 0.84rem;
  font-weight: 700;
}

.menu-button {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-width: 76px;
  min-height: 48px;
  padding: 0.45rem 0.6rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  font-weight: 750;
}

.menu-lines,
.menu-lines::before,
.menu-lines::after {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}

.menu-lines {
  position: relative;
}

.menu-lines::before,
.menu-lines::after {
  content: "";
  position: absolute;
  left: 0;
}

.menu-lines::before { top: -6px; }
.menu-lines::after { top: 6px; }

.mobile-menu {
  width: min(100% - 2rem, 540px);
  margin: 0 auto;
  padding: 0.5rem 0 1rem;
}

.mobile-menu button:not(.button) {
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 0.75rem;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  text-align: left;
  font-weight: 700;
}

.mobile-menu .button {
  width: 100%;
  margin-top: 0.75rem;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 50px;
  padding: 0.72rem 1.15rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 800;
  line-height: 1.15;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.button:not(:disabled):hover {
  transform: translateY(-1px);
}

.button-primary {
  color: #fff;
  background: linear-gradient(135deg, var(--pink-600), var(--pink-500));
  box-shadow: 0 10px 22px rgba(237, 37, 93, 0.22);
}

.button-primary:not(:disabled):hover {
  box-shadow: 0 14px 28px rgba(237, 37, 93, 0.28);
}

.button-secondary {
  border-color: #b8cede;
  color: var(--navy-950);
  background: #fff;
}

.button-secondary:hover,
.button-quiet:hover {
  background: var(--blue-100);
}

.button-quiet {
  border-color: transparent;
  color: var(--navy-900);
  background: transparent;
}

.button-gold {
  color: #fff;
  background: linear-gradient(135deg, var(--gold-600), #cf8c0a);
  box-shadow: 0 10px 22px rgba(166, 102, 0, 0.18);
}

.button-small {
  min-height: 44px;
  padding-inline: 1rem;
  font-size: 0.86rem;
}

.button-wide {
  width: 100%;
}

.text-link {
  min-height: 46px;
  padding: 0.35rem 0;
  border: 0;
  color: var(--navy-800);
  background: transparent;
  font-weight: 800;
  text-align: left;
  text-decoration: underline;
  text-decoration-color: rgba(252, 54, 103, 0.45);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.hero {
  padding: clamp(1.8rem, 4vw, 4.5rem) 1rem 1rem;
}

.hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(350px, 1.08fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: stretch;
  width: min(var(--content), 100%);
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(164, 203, 231, 0.55);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.93);
  box-shadow: var(--shadow-md);
}

.hero-form-column {
  padding: clamp(1.5rem, 4vw, 3.4rem);
}

.eyebrow {
  margin-bottom: 0.45rem;
  color: var(--pink-600);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hero h1 {
  position: relative;
  display: inline-block;
}

.hero h1::after {
  content: "";
  position: absolute;
  right: 0.08em;
  bottom: -0.13em;
  left: 58%;
  height: 7px;
  border-radius: 999px;
  background: var(--yellow);
  transform: rotate(-1deg);
}

.hero-lead {
  max-width: 34rem;
  margin-bottom: 1.2rem;
  color: var(--navy-800);
  font-size: clamp(1.1rem, 1.7vw, 1.34rem);
}

.field-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.45rem;
}

.field-heading label {
  color: var(--navy-950);
  font-weight: 850;
}

.field-heading span {
  color: var(--muted);
  font-size: 0.75rem;
}

.dream-shell {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 2px;
  border-radius: 15px;
  background: #b8d0df;
}

.dream-shell::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -1px;
  border-radius: inherit;
  background: conic-gradient(from 90deg, #fe4e74, #ffd148, #70c994, #6cc9e5, #7074de, #fe4e74);
  pointer-events: none;
}

.dream-shell.spectrum-wave::before {
  animation: spectrum-once 3.6s ease-in-out 1 both;
}

.dream-shell.spectrum-settled::before {
  animation: none;
  background: linear-gradient(120deg, #f35d81, #efc953 35%, #6dc5df 70%, #7775da);
}

@keyframes spectrum-once {
  0% { filter: saturate(0.7); opacity: 0.55; }
  50% { filter: saturate(1.05); opacity: 0.92; }
  100% { filter: saturate(0.82); opacity: 0.72; }
}

#dreamText {
  display: block;
  width: 100%;
  min-height: 9rem;
  max-height: 44vh;
  resize: none;
  overflow-y: auto;
  padding: 1rem 1.05rem;
  border: 0;
  border-radius: 13px;
  outline: 0;
  color: var(--ink);
  background: #fff;
  font-size: 1.06rem;
  line-height: 1.55;
}

.dream-shell:focus-within {
  box-shadow: 0 0 0 4px rgba(12, 110, 189, 0.2);
}

.dream-shell:focus-within::before {
  background: var(--focus);
}

.dream-shell.editor-mode {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
}

.dream-shell.editor-mode #dreamText {
  flex: 1 1 auto;
  height: 100% !important;
  min-height: 12rem;
  max-height: none;
  padding: clamp(1rem, 2.4vw, 1.6rem);
  font-size: clamp(1.05rem, 2vw, 1.22rem);
}

.field-help,
.memory-note,
.dictation-status,
.editor-status {
  color: var(--muted);
  font-size: 0.82rem;
}

.field-help {
  margin: 0.5rem 0 0;
}

.hero-dictionary-link {
  margin: 0.45rem 0 0.85rem;
  text-align: left;
}

.field-error {
  margin: 0.65rem 0;
  padding: 0.7rem 0.85rem;
  border-left: 4px solid #b42318;
  border-radius: 6px;
  color: #7a271a;
  background: #fff2f0;
  font-weight: 750;
}

.input-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 0.9rem 0 0.45rem;
}

.input-tools .button {
  flex: 1 1 12rem;
}

.demo-tag,
.card-label,
.prototype-price {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.2rem 0.48rem;
  border-radius: 999px;
  color: var(--navy-800);
  background: var(--blue-100);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.dictation-button.is-active {
  border-color: var(--pink-500);
  color: var(--pink-600);
  background: var(--pink-100);
}

.dictation-button,
.dictation-label,
.dictation-button .demo-tag {
  white-space: nowrap;
}

.dictation-button .demo-tag {
  flex: 0 0 auto;
}

.dictation-status {
  min-height: 1.3rem;
  margin: 0 0 0.9rem;
}

.trust-notes {
  display: grid;
  gap: 0.35rem;
  margin-top: 1rem;
}

.trust-notes p {
  display: flex;
  gap: 0.55rem;
  margin: 0;
  color: var(--navy-800);
  font-size: 0.84rem;
}

.trust-notes .prototype-ai-note {
  display: block;
  padding: 0.55rem 0.7rem;
  border-radius: 9px;
  color: #6e4b00;
  background: var(--gold-100);
  font-weight: 750;
}

.memory-note {
  margin: 0.65rem 0 0;
}

.hero-visual {
  position: relative;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: linear-gradient(150deg, #eaf6ff, #fff5e9);
}

.hero-visual svg {
  width: 100%;
  height: 100%;
  min-height: 590px;
}

.hero-visual figcaption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  padding: 0.35rem 0.6rem;
  border-radius: 999px;
  color: #fff;
  background: rgba(4, 42, 84, 0.78);
  font-size: 0.7rem;
}

.benefit-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  width: min(var(--content), calc(100% - 2rem));
  margin: 0 auto;
  border: 1px solid rgba(164, 203, 231, 0.5);
  border-top: 0;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-sm);
}

.benefit-strip article {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  min-width: 0;
  padding: 1rem 1.25rem;
  border-right: 1px solid var(--line);
}

.benefit-strip article:last-child {
  border-right: 0;
}

.benefit-strip article > span {
  color: var(--pink-500);
  font-size: 1.8rem;
}

.benefit-strip strong {
  display: block;
  color: var(--navy-950);
  font-size: 0.94rem;
}

.benefit-strip p {
  margin: 0;
  color: var(--muted);
  font-size: 0.78rem;
}

.section {
  width: min(var(--content), calc(100% - 2rem));
  margin: 0 auto;
  padding: clamp(3.6rem, 7vw, 6.5rem) 0 0;
}

.section-heading {
  max-width: 48rem;
  margin-bottom: 1.4rem;
}

.section-heading > p:not(.eyebrow) {
  color: var(--muted);
}

.section-heading.compact h2 {
  font-size: clamp(1.72rem, 2.8vw, 2.25rem);
}

.demo-grid,
.split-section,
.info-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

.sample-dream-card,
.steps-card,
.dictionary-card,
.comparison-card,
.about-card,
.faq-card,
.editorial-grid article,
.flow-card,
.dream-recap {
  border: 1px solid rgba(156, 192, 217, 0.48);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow-sm);
}

.sample-dream-card,
.dictionary-card,
.comparison-card,
.about-card,
.faq-card {
  padding: clamp(1.25rem, 3vw, 2.1rem);
}

.sample-dream-card {
  background:
    radial-gradient(circle at 92% 12%, rgba(255, 218, 94, 0.32), transparent 10rem),
    linear-gradient(145deg, #f2faff, #fffdfa);
}

.sample-dream-card > p {
  color: var(--navy-800);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.15rem;
  line-height: 1.65;
}

.steps-card {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
}

.steps-card li {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 0.85rem;
  align-items: center;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--line);
}

.steps-card li:last-child {
  border-bottom: 0;
}

.steps-card li > span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--navy-800);
  font-weight: 850;
}

.steps-card strong {
  color: var(--navy-950);
}

.steps-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
}

.dictionary-card {
  background:
    radial-gradient(circle at 85% 22%, rgba(255, 218, 94, 0.28), transparent 11rem),
    linear-gradient(145deg, #ecf8ff, #d8edfb);
}

.dictionary-search {
  display: grid;
  grid-template-columns: 1fr 52px;
  gap: 0.4rem;
}

.dictionary-search input {
  min-width: 0;
  min-height: 52px;
  padding: 0.75rem 1rem;
  border: 1px solid #adc8db;
  border-radius: 12px;
  color: var(--ink);
  background: #fff;
}

.dictionary-search button {
  min-width: 52px;
  min-height: 52px;
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: var(--navy-950);
  font-size: 1.45rem;
}

.dictionary-results {
  display: grid;
  gap: 0.5rem;
  margin-top: 0.7rem;
}

.dictionary-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 48px;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(128, 176, 207, 0.55);
  border-radius: 10px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.92);
}

.dictionary-result button {
  min-height: 42px;
  border: 0;
  color: var(--navy-800);
  background: transparent;
  font-weight: 800;
  text-decoration: underline;
}

.chip-label {
  margin: 1rem 0 0.55rem;
  color: var(--navy-950);
  font-weight: 800;
}

.chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.chip-list button {
  min-height: 44px;
  padding: 0.45rem 0.85rem;
  border: 1px solid #b8d2e5;
  border-radius: 999px;
  color: var(--navy-900);
  background: #fff;
  font-weight: 800;
}

.comparison-card {
  background: linear-gradient(145deg, #fff, var(--surface-warm));
}

.comparison-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
}

.comparison-columns section {
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
}

.comparison-columns ul {
  padding-left: 1.2rem;
}

.comparison-columns li {
  margin-bottom: 0.45rem;
}

.paid-column {
  border-color: #e6c67d !important;
  background: var(--gold-100) !important;
}

.prototype-price {
  color: #765000;
  background: #ffebba;
}

.price {
  margin: 0.3rem 0;
  color: var(--gold-600);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2rem;
  font-weight: 800;
}

.heading-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  max-width: none;
}

.editorial-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.editorial-grid article {
  overflow: hidden;
  padding-bottom: 1.1rem;
}

.editorial-grid article > :not(.editorial-art) {
  margin-right: 1.1rem;
  margin-left: 1.1rem;
}

.editorial-art {
  height: 140px;
  margin-bottom: 1rem;
  background-color: var(--blue-200);
}

.art-forest {
  background:
    linear-gradient(180deg, rgba(8, 45, 59, 0.08), rgba(4, 42, 84, 0.25)),
    radial-gradient(ellipse at 50% 100%, #e9d8a6 0 8%, transparent 9%),
    repeating-linear-gradient(82deg, #1e6a57 0 14px, #2c8064 14px 28px, #d8e9be 29px 34px);
}

.art-night {
  position: relative;
  background:
    radial-gradient(circle at 60% 45%, #fffbe7 0 16px, #f8e7ac 17px 28px, transparent 29px),
    radial-gradient(circle at 18% 28%, #fff 0 2px, transparent 3px),
    radial-gradient(circle at 80% 20%, #fff 0 1px, transparent 2px),
    linear-gradient(150deg, #091f49, #445198 60%, #9d7aa1);
}

.art-sky {
  background:
    radial-gradient(ellipse at 30% 85%, #fff 0 18%, transparent 19%),
    radial-gradient(ellipse at 70% 92%, #f8fbff 0 22%, transparent 23%),
    linear-gradient(180deg, #72bce8, #d8effd 65%, #fff3de);
}

.info-section {
  padding-bottom: clamp(4rem, 8vw, 7rem);
}

.about-card {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 1rem;
  align-items: start;
}

.about-card img {
  width: 112px;
  height: 112px;
  object-fit: contain;
}

.faq-list {
  display: grid;
  gap: 0.55rem;
}

.faq-list details {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

.faq-list summary {
  min-height: 50px;
  padding: 0.75rem 2.5rem 0.75rem 0.85rem;
  color: var(--navy-950);
  font-weight: 800;
}

.faq-list p {
  padding: 0 0.85rem 0.85rem;
  color: var(--muted);
}

.site-footer {
  border-top: 1px solid var(--line);
  background: #fff;
}

.footer-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1.5rem;
  align-items: center;
  width: min(var(--content), calc(100% - 2rem));
  min-height: 120px;
  margin: 0 auto;
}

.footer-brand {
  display: flex;
  gap: 0.65rem;
  align-items: center;
}

.footer-brand img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.footer-brand div {
  display: flex;
  flex-direction: column;
}

.footer-brand span,
.site-footer p {
  color: var(--muted);
  font-size: 0.76rem;
}

.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.prototype-tools-footer {
  width: min(var(--content), calc(100% - 2rem));
  margin: 0 auto;
  border-top: 1px dashed rgba(109, 141, 166, 0.38);
  color: var(--muted);
}

.prototype-tools-footer summary {
  display: flex;
  align-items: center;
  width: fit-content;
  min-height: 44px;
  margin: 0 auto;
  padding: 0.35rem 0.2rem;
  cursor: pointer;
  color: #61778a;
  font-size: 0.76rem;
  font-weight: 750;
}

.prototype-tools-footer-content {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.2rem;
  align-items: center;
  justify-content: center;
  padding: 0 0 0.8rem;
}

.prototype-tools-footer .memory-note {
  margin: 0;
  font-size: 0.76rem;
}

.prototype-tools-footer .text-link {
  min-height: 44px;
  font-size: 0.78rem;
}

/* Focused mock flow */
.flow-screen {
  width: min(1120px, calc(100% - 2rem));
  min-height: 72vh;
  margin: 0 auto;
  padding: clamp(2rem, 5vw, 4rem) 0 clamp(4rem, 8vw, 7rem);
}

.flow-toolbar {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) auto minmax(120px, 1fr);
  gap: 1rem;
  align-items: center;
  margin-bottom: 1.25rem;
}

.flow-toolbar > :last-child {
  justify-self: end;
}

.flow-toolbar > div {
  text-align: center;
}

.flow-toolbar h1 {
  margin: 0.35rem 0 0;
  font-size: clamp(1.8rem, 4vw, 3rem);
}

.flow-layout {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}

.dream-recap {
  position: sticky;
  top: calc(var(--header-height) + 1rem);
  padding: 1.1rem;
}

.recap-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.7rem;
}

.recap-heading h2 {
  margin: 0;
  font-size: 1.25rem;
}

.dream-recap summary {
  min-height: 46px;
  padding: 0.65rem 0;
  color: var(--navy-800);
  font-weight: 750;
}

#dreamRecapText {
  max-height: 44vh;
  overflow-y: auto;
  padding: 0.8rem;
  border-radius: 9px;
  background: var(--blue-100);
  font-size: 0.9rem;
  white-space: pre-wrap;
}

.flow-content {
  min-width: 0;
}

.flow-card {
  padding: clamp(1.2rem, 3.5vw, 2.3rem);
}

.demo-notice {
  margin-bottom: 1.2rem;
  padding: 0.8rem 0.95rem;
  border-left: 4px solid var(--gold-500);
  border-radius: 8px;
  background: var(--gold-100);
}

.demo-notice strong {
  color: #6e4b00;
}

.demo-notice p {
  margin: 0.15rem 0 0;
  color: #745d2a;
  font-size: 0.88rem;
}

.recognized-symbols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin: 1.2rem 0;
}

.symbol-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.4rem;
  align-items: center;
  min-width: 0;
  padding: 0.8rem;
  border: 1px solid #b9d3e5;
  border-radius: 12px;
  background: var(--blue-100);
}

.symbol-card .symbol-open {
  min-height: 44px;
  padding: 0.4rem;
  border: 0;
  color: var(--navy-900);
  background: transparent;
  font-weight: 850;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.symbol-card .symbol-remove {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid #abc7da;
  border-radius: 50%;
  background: #fff;
  font-size: 1.35rem;
}

.zero-state {
  margin: 1rem 0;
  padding: 0.8rem;
  border-radius: 9px;
  color: var(--navy-800);
  background: var(--blue-100);
}

.emotion-fieldset {
  margin: 1.5rem 0;
  padding: 0;
  border: 0;
}

.emotion-fieldset legend {
  margin-bottom: 0.7rem;
  color: var(--navy-950);
  font-weight: 850;
}

.emotion-fieldset legend span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 500;
}

.emotion-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.55rem;
}

.emotion-grid label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0.55rem;
  border: 1px solid #b8cede;
  border-radius: 999px;
  background: #fff;
  font-weight: 750;
}

.emotion-grid label:has(input:checked) {
  border-color: var(--pink-500);
  color: var(--pink-600);
  background: var(--pink-100);
}

.emotion-grid input {
  width: 1.1rem;
  height: 1.1rem;
  margin-right: 0.35rem;
}

.prototype-controls {
  margin: 1.3rem 0;
  padding: 0.7rem 0.85rem;
  border: 1px dashed #a9bdcc;
  border-radius: 10px;
  background: #f8fafc;
}

.prototype-controls summary {
  min-height: 40px;
  color: var(--navy-800);
  font-weight: 750;
}

.prototype-controls label {
  display: flex;
  gap: 0.55rem;
  align-items: center;
  min-height: 48px;
  padding-top: 0.5rem;
}

.prototype-controls input {
  width: 1.25rem;
  height: 1.25rem;
}

.centered-state {
  display: grid;
  justify-items: center;
  min-height: 440px;
  place-content: center;
  text-align: center;
}

.calm-loader {
  width: 52px;
  height: 52px;
  margin-bottom: 1rem;
  border: 4px solid var(--blue-200);
  border-top-color: var(--pink-500);
  border-radius: 50%;
  animation: calm-spin 1.2s linear infinite;
}

@keyframes calm-spin {
  to { transform: rotate(360deg); }
}

.state-icon {
  display: grid;
  width: 54px;
  height: 54px;
  margin-bottom: 1rem;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #b42318;
  font-size: 1.7rem;
  font-weight: 900;
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: center;
}

.button-row.centered {
  justify-content: center;
}

.result-card {
  max-width: 820px;
  margin: 0 auto;
}

.result-copy {
  max-width: var(--reading);
  color: #263f55;
  font-size: 1.08rem;
  line-height: 1.78;
}

.result-copy p {
  margin-bottom: 1.15rem;
}

.result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: center;
  margin-top: 1.4rem;
}

.paid-offer {
  margin-top: 2rem;
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid #e4c475;
  border-radius: var(--radius-md);
  background: linear-gradient(145deg, #fffaf0, #fff3d4);
}

.paid-offer h3 {
  margin-top: 0.65rem;
  font-size: clamp(1.4rem, 3vw, 2rem);
}

/* Dialogs */
dialog {
  max-width: calc(100% - 2rem);
  padding: 0;
  border: 0;
  border-radius: var(--radius-md);
  color: var(--ink);
  background: #fff;
  box-shadow: var(--shadow-md);
}

dialog::backdrop {
  background: rgba(4, 25, 48, 0.62);
  backdrop-filter: blur(5px);
}

.content-dialog {
  width: min(600px, calc(100% - 2rem));
}

.dialog-frame {
  position: relative;
  max-height: min(84vh, 720px);
  overflow-y: auto;
  padding: clamp(1.25rem, 4vw, 2.2rem);
}

.dialog-close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  font-size: 1.55rem;
}

.dialog-frame h2 {
  margin-top: 0.75rem;
  padding-right: 2.5rem;
}

.dialog-note {
  padding: 0.7rem;
  border-radius: 9px;
  color: var(--muted);
  background: var(--blue-100);
  font-size: 0.88rem;
}

.editor-dialog {
  width: min(1000px, calc(100% - 2rem));
  height: min(860px, calc(var(--vvh) - 1.5rem));
  max-height: calc(var(--vvh) - 1.5rem);
}

.editor-frame {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
  background: linear-gradient(180deg, #f6fbff, #fff);
}

.editor-header,
.editor-footer {
  display: flex;
  flex: 0 0 auto;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem 1rem;
  border-color: var(--line);
  background: rgba(255, 255, 255, 0.96);
}

.editor-header {
  border-bottom: 1px solid var(--line);
}

.editor-footer {
  border-top: 1px solid var(--line);
}

.editor-header h2 {
  margin: 0.3rem 0 0;
  font-size: 1.55rem;
}

.editor-textarea-mount {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  padding: clamp(0.75rem, 2vw, 1.25rem);
}

.editor-textarea-mount > .dream-shell {
  width: 100%;
}

.editor-footer .editor-status {
  flex: 1 1 auto;
}

/* Responsive layout */
@media (max-width: 1120px) {
  .desktop-nav,
  .desktop-actions {
    display: none;
  }

  .header-inner {
    grid-template-columns: 1fr auto;
  }

  .menu-button {
    display: inline-flex;
  }

  .input-tools .dictation-button .demo-tag {
    display: none;
  }

  .hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(310px, 0.86fr);
  }

  .footer-inner {
    grid-template-columns: 1fr;
    padding: 1.2rem 0;
    text-align: center;
  }

  .footer-brand,
  .site-footer nav {
    justify-content: center;
  }
}

@media (max-width: 820px) {
  :root {
    --header-height: 68px;
  }

  body {
    font-size: 16.5px;
  }

  .hero {
    padding: 1rem 0.75rem 0;
  }

  .hero-inner {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .hero-form-column {
    padding: 1.25rem;
  }

  .hero-visual {
    order: 2;
    min-height: 290px;
  }

  .hero-visual svg {
    min-height: 290px;
  }

  .benefit-strip {
    grid-template-columns: 1fr;
    width: calc(100% - 1.5rem);
  }

  .benefit-strip article {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .benefit-strip article:last-child {
    border-bottom: 0;
  }

  .demo-grid,
  .split-section,
  .info-section,
  .flow-layout {
    grid-template-columns: 1fr;
  }

  .section {
    width: calc(100% - 1.5rem);
  }

  .editorial-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .editorial-grid article:last-child {
    grid-column: 1 / -1;
  }

  .dream-recap {
    position: static;
  }

  .recognized-symbols {
    grid-template-columns: repeat(2, 1fr);
  }

  .emotion-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  :root {
    --header-height: 64px;
  }

  .prototype-banner {
    flex-direction: column;
    gap: 0;
    padding-block: 0.28rem;
    line-height: 1.25;
  }

  .header-inner {
    width: calc(100% - 1rem);
  }

  .brand img {
    width: 50px;
    height: 50px;
  }

  .brand-copy strong {
    font-size: 1.05rem;
  }

  .brand-copy span {
    font-size: 0.66rem;
  }

  .menu-button {
    min-width: 70px;
  }

  h1 {
    font-size: clamp(2.25rem, 12vw, 3.25rem);
  }

  .hero-form-column {
    padding: 1.05rem;
  }

  .hero h1::after {
    left: 48%;
    height: 6px;
  }

  .hero-lead {
    font-size: 1.05rem;
  }

  .field-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.1rem;
  }

  #dreamText {
    min-height: 8.2rem;
    padding: 0.85rem;
    font-size: 1rem;
  }

  .input-tools {
    display: grid;
    grid-template-columns: 1fr;
  }

  .hero-visual {
    min-height: 230px;
  }

  .hero-visual svg {
    min-height: 230px;
  }

  .comparison-columns,
  .editorial-grid,
  .about-card,
  .recognized-symbols {
    grid-template-columns: 1fr;
  }

  .editorial-grid article:last-child {
    grid-column: auto;
  }

  .about-card img {
    width: 88px;
    height: 88px;
  }

  .flow-screen {
    width: calc(100% - 1rem);
    padding-top: 1rem;
  }

  .flow-toolbar {
    grid-template-columns: 1fr 1fr;
  }

  .flow-toolbar > div {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .flow-toolbar > :first-child {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
  }

  .flow-toolbar > :last-child {
    grid-column: 2;
    grid-row: 2;
  }

  .flow-card,
  .dream-recap {
    padding: 1rem;
  }

  .emotion-grid {
    grid-template-columns: 1fr 1fr;
  }

  .button-row > .button {
    flex: 1 1 100%;
  }

  .editor-dialog {
    width: 100%;
    max-width: 100%;
    height: var(--vvh);
    max-height: var(--vvh);
    margin: 0;
    border-radius: 0;
  }

  .editor-frame {
    overflow-y: auto;
  }

  .editor-textarea-mount {
    flex: 1 0 9rem;
  }

  .dream-shell.editor-mode #dreamText {
    min-height: 8rem;
  }

  .editor-header,
  .editor-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .editor-header .button,
  .editor-footer .button {
    width: 100%;
  }

  .editor-footer .editor-status {
    order: -1;
  }

  .dialog-frame {
    max-height: calc(var(--vvh) - 1rem);
  }
}

@media (max-height: 520px) {
  .editor-frame {
    overflow-y: auto;
  }

  .editor-textarea-mount {
    flex: 1 0 8rem;
  }

  .dream-shell.editor-mode #dreamText {
    min-height: 7rem;
  }
}

@media (max-width: 360px) {
  .brand-copy span {
    display: none;
  }

  .hero {
    padding-inline: 0.4rem;
  }

  .hero-form-column {
    padding: 0.9rem;
  }

  .section,
  .benefit-strip {
    width: calc(100% - 0.8rem);
  }

  .emotion-grid {
    grid-template-columns: 1fr;
  }
}

/* R02 — visual convergence with the approved Variant 3 */
:root {
  --header-height: 68px;
  --radius-sm: 9px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --shadow-sm: 0 6px 18px rgba(5, 48, 92, 0.07);
  --shadow-md: 0 14px 38px rgba(5, 48, 92, 0.11);
}

body {
  font-size: 16px;
  line-height: 1.48;
}

h2 {
  font-size: clamp(1.65rem, 2.4vw, 2.15rem);
}

h3 {
  font-size: clamp(1.08rem, 1.6vw, 1.3rem);
}

.prototype-banner {
  min-height: 28px;
  padding-block: 0.18rem;
  font-size: 0.75rem;
}

.site-header {
  position: sticky;
  backdrop-filter: none;
}

.header-inner {
  min-height: var(--header-height);
}

.brand {
  min-height: 48px;
  gap: 0.58rem;
}

.brand img {
  width: 52px;
  height: 52px;
}

.brand-copy strong {
  font-size: 1.18rem;
}

.brand-copy span {
  font-size: 0.75rem;
}

.desktop-nav button,
.site-footer nav button,
.icon-text-button {
  min-height: 44px;
  font-size: 0.84rem;
}

.button {
  min-height: 46px;
  padding: 0.66rem 1rem;
}

.hero {
  padding: 0.85rem 1rem 0;
}

.hero-inner {
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  gap: 0;
  align-items: stretch;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.hero-form-column {
  z-index: 1;
  padding: clamp(1.25rem, 2.3vw, 1.85rem);
  background: rgba(255, 255, 255, 0.97);
}

.hero-form-column > .eyebrow {
  display: none;
}

.hero h1 {
  margin-bottom: 0.38rem;
  font-size: clamp(3rem, 4.2vw, 3.65rem);
  text-wrap: balance;
}

.hero h1::after {
  bottom: -0.08em;
  left: 60%;
  height: 6px;
}

.hero-lead {
  max-width: 31rem;
  margin-bottom: 0.72rem;
  font-size: clamp(1rem, 1.35vw, 1.14rem);
  line-height: 1.4;
}

.field-heading {
  margin-bottom: 0.3rem;
}

.field-heading span {
  font-size: 0.74rem;
}

#dreamText {
  padding: 0.82rem 0.9rem;
  font-size: 1rem;
  line-height: 1.45;
}

.field-help {
  margin-top: 0.32rem;
  font-size: 0.77rem;
  line-height: 1.35;
}

.hero-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(205px, 1.25fr);
  gap: 0.55rem;
  align-items: start;
  margin-top: 0.62rem;
}

.input-tools {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 6.5rem), 1fr));
  gap: 0.4rem;
  margin: 0;
}

.input-tools .button {
  min-width: 0;
  min-height: 46px;
  padding-inline: 0.55rem;
  font-size: 0.8rem;
}

#dictationButton .demo-tag {
  display: none;
}

.dictation-status {
  min-height: 1rem;
  margin: 0.24rem 0 0;
  font-size: 0.75rem;
  line-height: 1.35;
}

.trust-notes {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 0.28rem 0.75rem;
  margin-top: 0.52rem;
}

.trust-notes p {
  gap: 0.4rem;
  font-size: 0.77rem;
  line-height: 1.35;
}

.trust-notes .prototype-ai-note {
  grid-column: 1 / -1;
  padding: 0.38rem 0.55rem;
  font-size: 0.75rem;
}

.hero-visual {
  min-height: 0;
  background: linear-gradient(150deg, #eaf6ff, #fff5e9);
}

.hero-visual svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
}

.benefit-strip {
  margin-top: 0.35rem;
  border-top: 1px solid rgba(164, 203, 231, 0.5);
  border-radius: var(--radius-md);
}

.benefit-strip article {
  gap: 0.65rem;
  padding: 0.72rem 1rem;
}

.benefit-strip article > span {
  font-size: 1.35rem;
}

.benefit-strip strong {
  font-size: 0.86rem;
}

.benefit-strip p {
  font-size: 0.76rem;
  line-height: 1.35;
}

.section {
  padding-top: clamp(1.2rem, 2.6vw, 2rem);
}

.section-heading {
  margin-bottom: 0.85rem;
}

.section-heading.compact h2 {
  font-size: clamp(1.62rem, 2.35vw, 2rem);
}

.section-heading > p:not(.eyebrow) {
  margin-bottom: 0;
  line-height: 1.45;
}

.split-section {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 1rem;
  align-items: stretch;
}

.dictionary-card,
.comparison-card,
.about-card,
.faq-card {
  padding: clamp(1rem, 2vw, 1.4rem);
}

.dictionary-card,
.comparison-card,
.about-card,
.faq-card,
.editorial-grid article {
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

.dictionary-card {
  background:
    radial-gradient(circle at 92% 15%, rgba(255, 218, 94, 0.22), transparent 9rem),
    linear-gradient(145deg, #eef9ff, #dff1fc);
}

.dictionary-search {
  grid-template-columns: minmax(0, 1fr) 48px;
}

.dictionary-search input,
.dictionary-search button {
  min-height: 48px;
}

.dictionary-search button {
  min-width: 48px;
}

.chip-label {
  margin-top: 0.75rem;
  font-size: 0.82rem;
}

.chip-list {
  gap: 0.38rem;
}

.chip-list button {
  min-height: 40px;
  padding: 0.38rem 0.72rem;
  font-size: 0.82rem;
}

.dictionary-cta {
  width: fit-content;
  margin-top: 0.9rem;
}

.comparison-columns {
  gap: 0.7rem;
  align-items: stretch;
}

.comparison-columns section {
  display: flex;
  flex-direction: column;
  padding: 0.9rem;
  border-radius: 11px;
}

.comparison-columns h3 {
  min-height: 2.35em;
}

.comparison-columns ul {
  margin: 0.25rem 0 0;
}

.comparison-columns li {
  margin-bottom: 0.38rem;
}

.paid-column .button {
  margin-top: auto;
}

.price {
  font-size: 1.7rem;
}

.editorial-section .section-heading {
  max-width: none;
}

.editorial-grid {
  gap: 0.85rem;
}

.editorial-grid article {
  display: flex;
  flex-direction: column;
  padding-bottom: 0.9rem;
}

.editorial-grid article .text-link {
  align-self: flex-start;
  margin-top: auto;
}

.editorial-art {
  height: 108px;
  margin-bottom: 0.8rem;
}

.editorial-grid article > :not(.editorial-art) {
  margin-right: 0.9rem;
  margin-left: 0.9rem;
}

.editorial-grid article > p {
  color: var(--muted);
  font-size: 0.88rem;
}

.card-label,
.prototype-price,
.demo-tag {
  font-size: 0.72rem;
}

.info-section {
  padding-bottom: clamp(2rem, 4vw, 3.5rem);
}

.about-card {
  grid-template-columns: 92px 1fr;
}

.about-card img {
  width: 92px;
  height: 92px;
}

.faq-list {
  gap: 0.4rem;
}

.faq-list summary {
  min-height: 46px;
  padding-block: 0.64rem;
  font-size: 0.88rem;
}

.faq-list p {
  font-size: 0.86rem;
}

.footer-inner {
  min-height: 88px;
}

.footer-brand img {
  width: 50px;
  height: 50px;
}

@media (min-width: 700px) and (max-width: 1120px) {
  .hero-inner {
    grid-template-columns: minmax(0, 1.16fr) minmax(285px, 0.84fr);
  }

  .hero-form-column {
    padding: 1.15rem;
  }

  .hero h1 {
    font-size: clamp(2.45rem, 5vw, 3.2rem);
  }

  .hero-lead {
    font-size: 1rem;
  }

  .hero-actions {
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  .trust-notes {
    grid-template-columns: 1fr;
  }

  .trust-notes .prototype-ai-note {
    grid-column: auto;
  }
}

@media (min-width: 700px) and (max-width: 820px) {
  .hero {
    padding: 0.7rem 0.75rem 0;
  }

  .hero-inner {
    grid-template-columns: minmax(0, 1.3fr) minmax(270px, 0.7fr);
  }

  .hero-visual {
    order: initial;
    min-height: 0;
  }

  .hero-visual svg {
    min-height: 0;
  }

  .benefit-strip {
    grid-template-columns: repeat(3, 1fr);
  }

  .benefit-strip article {
    border-right: 1px solid var(--line);
    border-bottom: 0;
  }

  .benefit-strip article:last-child {
    border-right: 0;
  }

  .split-section,
  .info-section {
    grid-template-columns: 1fr 1fr;
  }

  .section-heading.compact h2 {
    font-size: 1.52rem;
  }

  .comparison-columns {
    grid-template-columns: 1fr;
  }

  .comparison-columns h3 {
    min-height: 0;
  }
}

@media (max-width: 699px) {
  :root {
    --header-height: 64px;
  }

  .prototype-banner {
    min-height: 30px;
    padding: 0.22rem 0.5rem;
    font-size: 0.72rem;
    line-height: 1.2;
  }

  .header-inner {
    width: calc(100% - 1rem);
  }

  .brand img {
    width: 48px;
    height: 48px;
  }

  .menu-button {
    min-width: 72px;
    min-height: 46px;
  }

  .hero {
    padding: 0.5rem 0.5rem 0;
  }

  .hero-inner {
    grid-template-columns: 1fr;
  }

  .hero-form-column {
    padding: 0.95rem 1rem 1rem;
  }

  .hero h1 {
    margin-bottom: 0.28rem;
    font-size: clamp(2.15rem, 10.5vw, 2.55rem);
    letter-spacing: -0.04em;
  }

  .hero h1::after {
    left: 58%;
    height: 5px;
  }

  .hero-lead {
    margin-bottom: 0.55rem;
    font-size: 0.98rem;
    line-height: 1.38;
  }

  .field-heading {
    align-items: baseline;
    flex-direction: row;
    gap: 0.4rem;
  }

  .field-heading label {
    font-size: 0.94rem;
  }

  .field-heading span {
    font-size: 0.75rem;
    text-align: right;
  }

  #dreamText {
    min-height: 7.4rem;
    padding: 0.75rem 0.8rem;
    font-size: 0.96rem;
    line-height: 1.42;
  }

  .field-help {
    margin-top: 0.24rem;
    font-size: 0.78rem;
    line-height: 1.3;
  }

  .hero-actions {
    grid-template-columns: 1fr;
    gap: 0.42rem;
    margin-top: 0.48rem;
  }

  .input-tools {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem;
  }

  .input-tools .button {
    min-height: 44px;
    padding: 0.52rem 0.35rem;
    font-size: 0.8rem;
  }

  #beginDreamButton {
    min-height: 48px;
  }

  .dictation-status {
    margin-top: 0.2rem;
    font-size: 0.75rem;
  }

  .trust-notes {
    grid-template-columns: 1fr;
    gap: 0.22rem;
    margin-top: 0.42rem;
  }

  .trust-notes p,
  .trust-notes .prototype-ai-note {
    font-size: 0.78rem;
  }

  .trust-notes .prototype-ai-note {
    grid-column: auto;
    padding: 0.34rem 0.48rem;
  }

  .hero-visual,
  .hero-visual svg {
    min-height: 205px;
    max-height: 225px;
  }

  .benefit-strip {
    grid-template-columns: 1fr 1fr;
    width: calc(100% - 1rem);
    margin-top: 0.45rem;
  }

  .benefit-strip article {
    align-items: flex-start;
    padding: 0.65rem;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .benefit-strip article:first-child {
    border-right: 1px solid var(--line);
  }

  .benefit-strip article:last-child {
    grid-column: 1 / -1;
    border-bottom: 0;
  }

  .benefit-strip article > span {
    font-size: 1.05rem;
  }

  .benefit-strip strong {
    font-size: 0.78rem;
  }

  .benefit-strip p {
    font-size: 0.72rem;
  }

  .section {
    width: calc(100% - 1rem);
    padding-top: 1rem;
  }

  .split-section,
  .info-section {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  .dictionary-card,
  .comparison-card,
  .about-card,
  .faq-card {
    padding: 1rem;
  }

  .section-heading.compact h2 {
    font-size: 1.62rem;
  }

  .comparison-columns,
  .editorial-grid,
  .about-card {
    grid-template-columns: 1fr;
  }

  .comparison-columns h3 {
    min-height: 0;
  }

  .editorial-grid article:last-child {
    grid-column: auto;
  }

  .about-card img {
    width: 82px;
    height: 82px;
  }

  .footer-inner {
    min-height: 0;
  }
}

@media (max-width: 360px) {
  .prototype-banner {
    font-size: 0.75rem;
  }

  .brand img {
    width: 44px;
    height: 44px;
  }

  .brand-copy strong {
    font-size: 1rem;
  }

  .hero {
    padding-inline: 0.3rem;
  }

  .hero-form-column {
    padding: 0.78rem 0.85rem 0.9rem;
  }

  .hero h1 {
    font-size: 2.08rem;
  }

  .hero-lead {
    font-size: 0.92rem;
  }

  .input-tools .button {
    font-size: 0.78rem;
  }

  #dreamText {
    min-height: 7rem;
  }

  .section,
  .benefit-strip {
    width: calc(100% - 0.6rem);
  }
}

/* R02B · approved asset integration and Variant 3 microdetails */
.hero-inner {
  background: #fff;
}

.hero-form-column {
  box-shadow: 22px 0 42px rgba(255, 255, 255, 0.3);
}

.hero-visual {
  isolation: isolate;
  position: relative;
  overflow: hidden;
  background: #dceeff;
}

.hero-visual::before {
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: 12%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.46), transparent);
  content: "";
  pointer-events: none;
}

.hero-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 18% center;
}

.hero-image-kicker {
  position: absolute;
  z-index: 2;
  top: 1.15rem;
  right: 1.2rem;
  max-width: 13rem;
  margin: 0;
  color: #123d69;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.12rem, 1.8vw, 1.5rem);
  font-style: italic;
  font-weight: 700;
  line-height: 1.15;
  text-align: right;
  text-shadow: 0 1px 8px rgba(255, 255, 255, 0.9);
}

.hero-glass-note {
  position: absolute;
  z-index: 2;
  right: 1.1rem;
  bottom: 1.05rem;
  width: min(16rem, calc(100% - 2rem));
  padding: 0.86rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 16px;
  background: rgba(8, 42, 73, 0.55);
  box-shadow: 0 12px 28px rgba(8, 42, 73, 0.2);
  color: #fff;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.35;
  backdrop-filter: blur(8px);
}

.dictation-status {
  color: #6d7d8b;
}

.trust-notes .prototype-ai-note {
  border-color: rgba(228, 195, 102, 0.28);
  background: rgba(255, 248, 226, 0.58);
  color: #7c6c45;
}

.benefit-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: rgba(255, 255, 255, 0.94);
}

.benefit-strip article {
  min-width: 0;
  gap: 0.72rem;
  align-items: center;
}

.benefit-strip article > img,
.benefit-strip article > picture {
  display: flex;
  flex: 0 0 39px;
  align-items: center;
  justify-content: center;
}

.benefit-strip .benefit-icon {
  display: block;
  flex: none;
  width: auto;
  max-width: 39px;
  height: auto;
  max-height: 35px;
  object-fit: contain;
}

.benefit-strip article > picture .benefit-icon {
  max-width: 35px;
  max-height: 33px;
}

.benefit-strip strong {
  display: block;
  color: var(--navy);
  line-height: 1.25;
}

.benefit-strip p {
  margin-top: 0.12rem;
  color: #526b82;
}

.dictionary-card {
  position: relative;
  display: block;
  min-height: 430px;
  overflow: hidden;
  background: linear-gradient(145deg, #edf8ff 0%, #dceef9 100%);
}

.dictionary-card::after {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 85% 20%, rgba(255, 236, 158, 0.32), transparent 27%),
    linear-gradient(120deg, transparent 55%, rgba(255, 255, 255, 0.16));
  content: "";
  pointer-events: none;
}

.dictionary-content {
  position: relative;
  z-index: 2;
  max-width: 64%;
}

.dictionary-book {
  position: absolute;
  z-index: 1;
  right: -6%;
  bottom: 0;
  display: block;
  width: 62%;
  height: 84%;
  object-fit: cover;
  object-position: 66% 64%;
  filter: saturate(0.94) contrast(0.98);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 28%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 28%);
}

.dictionary-search {
  position: relative;
  z-index: 3;
}

.chip-list {
  gap: 0 0.18rem;
}

.chip-list button {
  display: inline-flex;
  min-width: 44px;
  min-height: 44px;
  padding: 4px 2px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 18px;
  background: transparent;
  box-shadow: none;
}

.chip-list button > span {
  display: inline-flex;
  min-height: 29px;
  padding: 0 12px;
  align-items: center;
  justify-content: center;
  border: 1px solid #d8e6f0;
  border-radius: 999px;
  background: linear-gradient(180deg, #fff, #fbfdff);
  box-shadow: 0 1px 3px rgba(11, 52, 100, 0.08);
  color: #0b3464;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.3;
}

.chip-list button:hover > span {
  border-color: #9dbbd0;
  background: #f7fbff;
}

.chip-list button:focus-visible {
  outline-offset: -1px;
}

.comparison-card {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.98), #fffaf2);
}

.comparison-columns {
  gap: 0.72rem;
}

.comparison-columns section {
  border: 1px solid #dbe6ee;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 22px rgba(18, 61, 105, 0.05);
}

.comparison-columns .paid-column {
  border-color: #e8c46b;
  background: linear-gradient(160deg, #fffdf8, #fff7df);
}

.comparison-columns h3 {
  display: flex;
  gap: 0.48rem;
  align-items: center;
}

.premium-crown {
  display: inline-block;
  flex: 0 0 23px;
  width: 23px;
  height: 24px;
  object-fit: contain;
}

.feature-list {
  display: grid;
  gap: 0.38rem;
  margin: 0.2rem 0 0;
  padding: 0;
  list-style: none;
}

.feature-list li {
  display: flex;
  gap: 0.48rem;
  align-items: flex-start;
  margin: 0;
  color: #274b70;
  font-size: 0.84rem;
  line-height: 1.35;
}

.feature-list li::before {
  display: none;
}

.feature-list img {
  flex: 0 0 auto;
  width: 17px;
  height: auto;
  margin-top: 0.04rem;
  object-fit: contain;
}

.free-column .button,
.paid-column .button {
  margin-top: auto;
}

.free-column .button {
  margin-top: 0.85rem;
}

.paid-column .prototype-price {
  align-self: flex-start;
  margin-bottom: 0.42rem;
  opacity: 0.62;
}

.paid-column .price {
  margin: 0.65rem 0 0;
  color: #a86e05;
}

.paid-column .price + p {
  margin: 0.08rem 0 0.7rem;
  color: #75684c;
  font-size: 0.78rem;
}

.editorial-grid article {
  overflow: hidden;
  padding-top: 0;
  background: #fff;
}

.editorial-grid article > .editorial-media {
  position: relative;
  height: 150px;
  margin: 0 0 0.8rem;
  overflow: hidden;
  background: #dceaf5;
}

.editorial-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 240ms ease;
}

.editorial-grid article:hover .editorial-media img {
  transform: scale(1.015);
}

.play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  background: rgba(8, 48, 88, 0.78);
  box-shadow: 0 8px 20px rgba(7, 35, 63, 0.25);
  place-items: center;
  transform: translate(-50%, -50%);
  backdrop-filter: blur(3px);
}

.play-icon > span {
  width: 0;
  height: 0;
  margin-left: 3px;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 11px solid #fff;
}

@media (max-width: 899px) {
  .benefit-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .benefit-strip article:nth-child(2) {
    border-right: 0;
  }

  .benefit-strip article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .benefit-strip article:nth-child(3) {
    border-right: 1px solid var(--line);
  }

  .split-section {
    grid-template-columns: 1fr;
  }

  .dictionary-content {
    max-width: 66%;
  }
}

@media (max-width: 699px) {
  .hero-form-column {
    box-shadow: none;
  }

  .hero-visual::before {
    inset: 0 0 auto;
    width: auto;
    height: 12%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.38), transparent);
  }

  .hero-visual,
  .hero-image {
    min-height: 222px;
    max-height: 238px;
  }

  .hero-image {
    position: relative;
    object-position: 18% center;
  }

  .hero-image-kicker {
    top: 0.85rem;
    right: 0.9rem;
    max-width: 10rem;
    font-size: 1.05rem;
  }

  .hero-glass-note {
    right: 0.8rem;
    bottom: 0.75rem;
    width: min(13rem, calc(100% - 1.6rem));
    padding: 0.68rem 0.78rem;
    border-radius: 13px;
    font-size: 0.82rem;
  }

  .benefit-strip article {
    min-height: 92px;
    padding: 0.68rem 0.72rem;
  }

  .benefit-strip article:last-child {
    grid-column: auto;
    border-bottom: 0;
  }

  .benefit-strip article > img,
  .benefit-strip article > picture {
    flex-basis: 30px;
  }

  .benefit-strip .benefit-icon,
  .benefit-strip article > picture .benefit-icon {
    max-width: 30px;
    max-height: 30px;
  }

  .benefit-strip strong {
    font-size: 0.79rem;
  }

  .benefit-strip p {
    font-size: 0.73rem;
  }

  .dictionary-card {
    min-height: 0;
  }

  .dictionary-content {
    max-width: none;
  }

  .dictionary-book {
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% + 2rem);
    height: 172px;
    margin: 0.8rem -1rem -1rem;
    object-position: 65% 64%;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 24%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 24%);
  }

  .comparison-columns h3 {
    min-height: 0;
  }

  .editorial-grid article > .editorial-media {
    height: 158px;
  }
}

/* R02C · homepage microdetail fixes only */
.ui-icon {
  display: block;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.header-actions .icon-text-button {
  display: inline-flex;
  align-items: center;
  gap: 0.34rem;
}

.header-icon {
  width: 19px;
  height: 19px;
  color: var(--navy-900);
  stroke-width: 1.55;
}

.desktop-actions .button-small {
  isolation: isolate;
  position: relative;
  min-height: 44px;
  padding: 0 1.05rem;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: 0.8125rem;
  font-weight: 750;
}

.desktop-actions .button-small::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 5px 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--pink-600), var(--pink-500));
  box-shadow: 0 3px 9px rgba(237, 37, 93, 0.12);
}

.desktop-actions .button-small:not(:disabled):hover {
  background: transparent;
  box-shadow: none;
}

@media (min-width: 1121px) {
  .hero-actions {
    grid-template-columns: max-content minmax(205px, 1fr);
  }

  .hero-actions .input-tools {
    grid-template-columns: max-content max-content;
    width: max-content;
  }

  .hero-actions #dictationButton {
    width: max-content;
    min-width: max-content;
    padding-inline: 0.9rem;
    gap: 0.45rem;
    font-size: 0.8rem;
  }

  .hero-actions #expandEditorButton {
    width: max-content;
    min-width: max-content;
    padding-inline: 0.72rem;
  }
}

.dream-shell {
  padding: 1px;
  border-radius: 14px;
  background: #aebfce;
  box-shadow: 0 1px 3px rgba(9, 56, 92, 0.05);
  transition: box-shadow 0.18s ease, background-color 0.18s ease;
}

.dream-shell::before {
  inset: -1px;
  border-radius: inherit;
  background: linear-gradient(110deg, #829fe0 0%, #a58bdc 19%, #dfa0bf 38%, #e4c674 57%, #72c1b9 77%, #829fe0 100%);
  background-position: 0% 50%;
  background-size: 300% 100%;
  filter: saturate(0.78);
  opacity: 0.42;
  transition: opacity 0.18s ease, filter 0.18s ease;
}

.dream-shell.spectrum-settled::before {
  animation: none;
  background-position: 50% 50%;
  filter: saturate(0.76);
  opacity: 0.4;
}

.dream-shell.spectrum-wave::before,
.dream-shell.spectrum-settled:has(#dreamText:placeholder-shown)::before {
  animation: r04c7-dream-input-highlight 6.4s ease-in-out infinite;
}

.dream-shell:focus-within {
  box-shadow: 0 0 0 3px rgba(139, 113, 213, 0.14), 0 0 18px rgba(97, 145, 210, 0.1), 0 1px 3px rgba(9, 56, 92, 0.05);
}

.dream-shell:focus-within::before {
  filter: saturate(0.9);
  opacity: 0.54;
}

.dream-shell.editor-mode:focus-within {
  box-shadow: 0 0 0 2px rgba(139, 113, 213, 0.13), 0 0 14px rgba(97, 145, 210, 0.08);
}

.dream-shell:has(#dreamText[aria-invalid="true"]) {
  background: #b42318;
  box-shadow: 0 0 0 2px rgba(180, 35, 24, 0.28), 0 1px 3px rgba(9, 56, 92, 0.05);
}

.dream-shell:has(#dreamText[aria-invalid="true"])::before {
  animation: none !important;
  background: linear-gradient(110deg, #d75f52, #b42318);
  background-size: 100% 100%;
  filter: none;
  opacity: 0.96;
}

.dream-shell #dreamText {
  border-radius: 13px;
}

@keyframes r04c7-dream-input-highlight {
  0%, 100% {
    background-position: 0% 50%;
    filter: saturate(0.74);
    opacity: 0.4;
  }
  34% {
    background-position: 48% 50%;
    filter: saturate(0.88);
    opacity: 0.5;
  }
  68% {
    background-position: 100% 50%;
    filter: saturate(0.84);
    opacity: 0.47;
  }
}

.dictation-button {
  gap: 0.42rem;
  border-color: rgba(18, 78, 124, 0.22);
  color: var(--navy-900);
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 2px 7px rgba(9, 56, 92, 0.035);
  font-size: 0.75rem;
  font-weight: 750;
}

.dictation-button:hover {
  border-color: rgba(18, 78, 124, 0.36);
  background: #fff;
  box-shadow: 0 4px 11px rgba(9, 56, 92, 0.07);
}

.dictation-button .tool-icon {
  width: 17px;
  height: 17px;
  color: var(--navy-800);
  stroke-width: 1.9;
}

.dictation-button.is-active .tool-icon {
  color: var(--pink-600);
}

.trust-notes p {
  align-items: flex-start;
}

.trust-notes p > span {
  min-width: 0;
}

.microcopy-icon {
  width: 17px;
  height: 17px;
  margin-top: 0.02rem;
  color: #315e89;
  stroke-width: 1.75;
}

@media (max-width: 699px) {
  .dictation-button {
    gap: 0.34rem;
    font-size: 0.75rem;
  }

  .dictation-button .tool-icon,
  .microcopy-icon {
    width: 16px;
    height: 16px;
  }
}

/* R03 · step 2 only: symbols, multiple feelings and long-dream mock context */
#flowScreen.flow-screen {
  width: min(1040px, calc(100% - 2rem));
  min-height: 72vh;
  padding: clamp(1.25rem, 3vw, 2.25rem) 0 clamp(3rem, 7vw, 5rem);
}

#flowScreen .flow-toolbar {
  display: flex;
  gap: 1rem 1.5rem;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 1rem;
}

#flowScreen .flow-title-block {
  min-width: 0;
}

#flowScreen .flow-title-block h1 {
  margin: 0.25rem 0 0;
  scroll-margin-top: 6.5rem;
  font-size: clamp(1.8rem, 3.5vw, 2.55rem);
}

#flowScreen .flow-prototype-note {
  margin: 0.3rem 0 0;
  color: #64798c;
  font-size: 0.84rem;
}

#flowScreen .flow-toolbar-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
}

#flowScreen .flow-toolbar-actions .button {
  min-height: 44px;
  padding: 0.5rem 0.72rem;
  white-space: nowrap;
  font-size: 0.82rem;
}

#flowScreen .dream-recap {
  position: static;
  margin: 0 0 1rem;
  padding: 0.9rem 1rem;
  border-radius: 14px;
  box-shadow: 0 5px 16px rgba(8, 54, 88, 0.06);
}

#flowScreen .dream-recap .recap-heading {
  align-items: baseline;
}

#flowScreen .dream-recap h2 {
  margin: 0;
  font-size: 1.08rem;
}

#flowScreen #dreamRecapText {
  max-height: min(50vh, 28rem);
  margin: 0.65rem 0 0;
  overflow: auto;
  overflow-wrap: anywhere;
  color: var(--ink);
  line-height: 1.55;
  white-space: pre-wrap;
}

#flowScreen .flow-layout {
  display: block;
}

#flowScreen .flow-content {
  width: 100%;
}

#flowScreen #symbolsStep {
  width: min(860px, 100%);
  margin-inline: auto;
  padding: clamp(1.1rem, 3vw, 1.75rem);
}

#flowScreen .step2-block {
  margin: 0;
}

#flowScreen .step2-block h2,
#flowScreen .emotion-title {
  display: block;
  margin: 0;
  color: var(--navy-950);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.25rem, 2.4vw, 1.62rem);
  font-weight: 800;
  line-height: 1.18;
}

#flowScreen .step2-help,
#flowScreen .emotion-help {
  display: block;
  margin: 0.28rem 0 0;
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 500;
  line-height: 1.4;
}

#flowScreen .recognized-symbols {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.85rem 0 0.45rem;
}

#flowScreen .symbol-card {
  display: inline-flex;
  flex: 0 1 auto;
  gap: 0;
  align-items: stretch;
  min-width: 0;
  max-width: 100%;
  min-height: 46px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #a9cfdb;
  border-radius: 14px;
  background: linear-gradient(145deg, #f4fbff 0%, #eaf8f5 100%);
  box-shadow: 0 4px 10px rgba(12, 67, 98, 0.08);
}

#flowScreen .symbol-card .symbol-open {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 17rem;
  min-height: 46px;
  padding: 0.58rem 0.72rem 0.58rem 0.85rem;
  overflow-wrap: normal;
  word-break: normal;
  border: 0;
  color: var(--navy-900);
  background: transparent;
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.22;
  text-align: left;
  text-decoration: none;
}

#flowScreen .symbol-card .symbol-remove {
  display: grid;
  flex: 0 0 44px;
  width: 44px;
  min-height: 44px;
  margin: 1px;
  place-items: center;
  border: 0;
  border-radius: 11px;
  color: #54728d;
  background: rgba(255, 255, 255, 0.38);
  font-size: 1.1rem;
}

#flowScreen .symbol-card .symbol-open:hover,
#flowScreen .symbol-card .symbol-remove:hover {
  background: rgba(255, 255, 255, 0.68);
}

#flowScreen .symbol-card .symbol-open:focus-visible,
#flowScreen .symbol-card .symbol-remove:focus-visible {
  position: relative;
  z-index: 1;
  outline: 3px solid var(--focus);
  outline-offset: -3px;
}

#flowScreen .symbols-disclosure,
#flowScreen .feelings-disclosure {
  min-height: 44px;
  margin-top: 0.15rem;
}

#flowScreen .zero-state {
  margin: 0.75rem 0 0.4rem;
  padding: 0.72rem 0.82rem;
  border: 1px solid #c5dbe9;
  background: #f1f8fd;
  font-size: 0.86rem;
}

#flowScreen .emotion-fieldset {
  margin: 1.15rem 0 0;
  padding: 1.15rem 0 0;
  border: 0;
  border-top: 1px solid var(--line);
}

#flowScreen .emotion-fieldset legend {
  width: 100%;
  margin: 0 0 0.7rem;
  padding: 0;
}

#flowScreen .emotion-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.48rem;
}

#flowScreen .emotion-grid-nuanced {
  margin-top: 0.45rem;
}

#flowScreen .emotion-grid label,
#flowScreen .unable-feeling {
  position: relative;
  display: flex;
  flex: 0 1 auto;
  min-width: 7.5rem;
  max-width: 100%;
  min-height: 44px;
  gap: 0.45rem;
  align-items: center;
  justify-content: center;
  padding: 0.52rem 0.78rem;
  border: 1px solid #dfcfd5;
  border-radius: 999px;
  color: var(--navy-900);
  background: linear-gradient(145deg, #fffefd 0%, #fff7f9 100%);
  box-shadow: 0 3px 8px rgba(72, 40, 54, 0.045);
  font-size: 0.9rem;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
  transition: border-color 140ms ease, background-color 140ms ease, box-shadow 140ms ease;
}

#flowScreen .emotion-grid label > span,
#flowScreen .unable-feeling > span {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

#flowScreen .emotion-grid label:has(input:checked),
#flowScreen .unable-feeling:has(input:checked) {
  border-color: var(--pink-500);
  color: var(--navy-950);
  background: linear-gradient(145deg, #fff0f5 0%, #ffe4ee 100%);
  box-shadow: inset 0 0 0 1px rgba(237, 37, 93, 0.2), 0 4px 10px rgba(187, 28, 82, 0.08);
}

#flowScreen .emotion-grid label:has(input:focus-visible),
#flowScreen .unable-feeling:has(input:focus-visible) {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}

#flowScreen .emotion-grid label:active,
#flowScreen .unable-feeling:active {
  border-color: #d996ac;
  background: #fff2f6;
}

#flowScreen .emotion-grid input,
#flowScreen .unable-feeling input {
  position: relative;
  display: grid;
  flex: 0 0 auto;
  width: 1.05rem;
  height: 1.05rem;
  margin: 0;
  appearance: none;
  place-items: center;
  border: 1.5px solid #8ca0af;
  border-radius: 4px;
  background: #fff;
}

#flowScreen .emotion-grid input:checked,
#flowScreen .unable-feeling input:checked {
  border-color: var(--pink-600);
  background: var(--pink-600);
}

#flowScreen .emotion-grid input:checked::before,
#flowScreen .unable-feeling input:checked::before {
  width: 0.28rem;
  height: 0.52rem;
  content: "";
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: translateY(-0.06rem) rotate(45deg);
}

#flowScreen .selected-feelings-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.38rem;
  align-items: center;
  margin-top: 0.55rem;
  color: #566e82;
  font-size: 0.8rem;
}

#flowScreen .selected-feeling-chip {
  display: inline-flex;
  overflow: hidden;
  align-items: center;
  border: 1px solid #c7d9e6;
  border-radius: 999px;
  color: var(--navy-900);
  background: #f7fbfe;
}

#flowScreen .selected-feeling-chip > span {
  padding: 0.3rem 0.2rem 0.3rem 0.62rem;
}

#flowScreen .selected-feeling-chip button {
  width: 36px;
  min-height: 36px;
  border: 0;
  color: inherit;
  background: transparent;
}

#flowScreen .feeling-extra-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.75rem;
  align-items: center;
  margin-top: 0.65rem;
}

#flowScreen .unable-feeling {
  justify-content: flex-start;
  width: fit-content;
  padding-inline: 0.75rem;
}

#flowScreen .custom-feeling-area {
  margin-top: 0.65rem;
  padding: 0.75rem;
  border: 1px solid #c6dbe9;
  border-radius: 12px;
  background: #f7fbfe;
}

#flowScreen .custom-feeling-area > label {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--navy-900);
  font-size: 0.82rem;
  font-weight: 800;
}

#flowScreen .custom-feeling-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.45rem;
}

#flowScreen #customFeelingInput,
#flowScreen .flow-test-tools select {
  min-width: 0;
  min-height: 44px;
  padding: 0.55rem 0.7rem;
  border: 1px solid #aec9dc;
  border-radius: 9px;
  color: var(--ink);
  background: #fff;
  font: inherit;
}

#flowScreen .feeling-selection-status {
  margin: 0.6rem 0 0;
  color: #60758a;
  font-size: 0.8rem;
}

#flowScreen .clear-feelings {
  min-height: 42px;
  margin-top: 0.05rem;
}

#flowScreen .long-dream-offer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  margin: 1rem 0 0.85rem;
  padding: 0.9rem;
  border: 1px solid #e5cb8a;
  border-radius: 13px;
  background: #fffaf0;
}

#flowScreen .long-dream-offer h3 {
  margin: 0;
  color: var(--navy-950);
  font-size: 1rem;
}

#flowScreen .long-dream-offer p {
  margin: 0.2rem 0 0;
  color: #6e654e;
  font-size: 0.82rem;
  line-height: 1.4;
}

#flowScreen .long-dream-offer .button {
  min-height: 44px;
  white-space: nowrap;
  font-size: 0.8rem;
}

#flowScreen #showResultButton {
  margin-top: 0.85rem;
}

#flowScreen .flow-test-tools {
  width: min(860px, 100%);
  margin: 0.85rem auto 0;
  padding: 0.45rem 0.75rem;
  border: 1px dashed #b9cbd8;
  border-radius: 10px;
  color: #66798a;
  background: rgba(248, 251, 253, 0.9);
  font-size: 0.78rem;
}

#flowScreen .flow-test-tools summary {
  min-height: 42px;
  padding-block: 0.55rem;
  color: #536b80;
  font-weight: 750;
}

#flowScreen .flow-test-tools-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  padding-top: 0.4rem;
}

#flowScreen .flow-test-tools-grid label {
  display: flex;
  min-width: 0;
  gap: 0.45rem;
  align-items: center;
}

#flowScreen .flow-test-tools-grid label:has(select) {
  display: grid;
}

#flowScreen .flow-test-tools p {
  margin: 0.65rem 0 0.25rem;
}

#flowScreen .qa-snapshot-summary {
  display: block;
  margin: 0.5rem 0 0.25rem;
  color: #526b80;
  font-weight: 700;
}

@media (max-width: 820px) {
  #flowScreen .flow-toolbar {
    align-items: flex-start;
  }

  #flowScreen .flow-toolbar-actions {
    max-width: 54%;
  }

  #flowScreen .flow-test-tools-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  #flowScreen.flow-screen {
    width: calc(100% - 0.65rem);
    padding-top: 0.55rem;
  }

  #flowScreen .flow-toolbar {
    display: block;
    margin-bottom: 0.55rem;
  }

  #flowScreen .flow-title-block h1 {
    font-size: 1.58rem;
  }

  #flowScreen .flow-prototype-note {
    max-width: 34rem;
    margin-top: 0.2rem;
    font-size: 0.76rem;
    line-height: 1.25;
  }

  #flowScreen .flow-toolbar-actions {
    display: flex;
    max-width: none;
    margin-top: 0.45rem;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }

  #flowScreen .flow-toolbar-actions .button {
    min-width: 0;
    min-height: 42px;
    padding: 0.38rem 0.5rem;
    font-size: 0.73rem;
  }

  #flowScreen .dream-recap,
  #flowScreen #symbolsStep {
    padding: 0.82rem;
  }

  #flowScreen .dream-recap .recap-heading {
    display: block;
  }

  #flowScreen .dream-recap .memory-note {
    display: block;
    margin-top: 0.2rem;
  }

  #flowScreen .step2-block h2,
  #flowScreen .emotion-title {
    font-size: 1.2rem;
  }

  #flowScreen .step2-help,
  #flowScreen .emotion-help {
    font-size: 0.78rem;
  }

  #flowScreen .recognized-symbols {
    gap: 0.35rem;
    margin-top: 0.6rem;
  }

  #flowScreen .symbol-card .symbol-open {
    max-width: min(15rem, calc(100vw - 5.5rem));
    padding-left: 0.72rem;
    font-size: 0.86rem;
  }

  #flowScreen .symbol-card .symbol-remove {
    flex-basis: 44px;
    width: 44px;
    min-height: 44px;
  }

  #flowScreen .emotion-fieldset {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
  }

  #flowScreen .emotion-grid label {
    min-width: 0;
    min-height: 44px;
    gap: 0.4rem;
    padding: 0.48rem 0.68rem;
    font-size: 0.875rem;
  }

  #flowScreen .emotion-grid input {
    width: 1rem;
    height: 1rem;
  }

  #flowScreen .custom-feeling-control,
  #flowScreen .long-dream-offer {
    grid-template-columns: 1fr;
  }

  #flowScreen .long-dream-offer .button {
    width: 100%;
  }

  #flowScreen .flow-test-tools {
    margin-top: 0.65rem;
  }
}

@media (max-width: 350px) {
  #flowScreen .flow-toolbar-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #flowScreen .flow-toolbar-actions .button {
    width: 100%;
  }

}

@media (prefers-reduced-motion: reduce) {
  .editorial-media img {
    transition: none;
  }

  .editorial-grid article:hover .editorial-media img {
    transform: none;
  }

  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }

  .dream-shell::before {
    animation: none !important;
    background: linear-gradient(110deg, #829fe0, #a58bdc 24%, #dfa0bf 46%, #e4c674 68%, #72c1b9);
    background-position: 50% 50%;
    background-size: 100% 100%;
    filter: none;
    opacity: 0.48;
  }
}

@media (forced-colors: active) {
  :root {
    --focus: Highlight;
  }

  .dream-shell,
  .dream-shell::before {
    border: 2px solid CanvasText;
    background: Canvas;
    animation: none !important;
  }

  .dream-shell::before {
    display: none;
  }

  .dream-shell:focus-within {
    outline: 2px solid Highlight;
    outline-offset: 2px;
    box-shadow: none;
  }

  .button,
  .chip-list button,
  .chip-list button > span,
  .emotion-grid label,
  .symbol-card,
  .dialog-close {
    border: 2px solid ButtonText;
  }

  #flowScreen .emotion-grid input,
  #flowScreen .unable-feeling input {
    appearance: auto;
    border: initial;
    background: Canvas;
  }

  #flowScreen .emotion-grid input::before,
  #flowScreen .unable-feeling input::before {
    display: none;
  }

  :focus-visible {
    outline: 3px solid Highlight;
  }
}

@media print {
  .prototype-banner,
  .site-header,
  .site-footer,
  button,
  dialog {
    display: none !important;
  }
}

/* P15 R08E-02 BLOCK 02: styles-r04.css; SOURCE_SHA256=154DB439BED72C291641899A08A4AB867640D0E215AF5BE2D2417B1EC090F98C */
/*
 * R04 visual layer: dark dreamy shell + light workspace.
 * Remove body[data-visual="r04"] or this stylesheet to disable the layer.
 */

body[data-visual="r04"] {
  --r04-shell: #0b1433;
  --r04-shell-deep: #070e27;
  --r04-indigo: #182555;
  --r04-shell-text: #f7f8ff;
  --r04-shell-muted: #cbd5f2;
  --r04-workspace: #f9faff;
  --r04-workspace-soft: #f2f5ff;
  --r04-line-light: rgba(217, 226, 255, 0.22);
  --r04-shadow-dark: 0 24px 62px rgba(2, 7, 28, 0.32);
  color: var(--ink);
  background: var(--r04-shell);
}

/* The homepage header and hero share one uninterrupted atmospheric scene. */
body[data-visual="r04"]:not(.flow-active)::before {
  position: absolute;
  z-index: 0;
  top: 28px;
  right: 0;
  left: 0;
  height: min(1120px, 78rem);
  content: "";
  pointer-events: none;
  background-image:
    linear-gradient(180deg, rgba(7, 14, 39, 0.08) 0%, rgba(11, 20, 51, 0.08) 62%, var(--r04-shell) 100%),
    url("assets/visual-r04/bg-home-desktop.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 100%, cover;
}

body[data-visual="r04"]:not(.flow-active) > #main {
  position: relative;
  z-index: 1;
}

body[data-visual="r04"] .prototype-banner {
  border-bottom: 1px solid rgba(221, 228, 255, 0.14);
  color: #e7ebff;
  background: var(--r04-shell-deep);
}

body[data-visual="r04"] .site-header {
  border-bottom-color: rgba(220, 228, 255, 0.16);
  color: var(--r04-shell-text);
  background: rgba(8, 17, 48, 0.97);
  box-shadow: 0 8px 28px rgba(2, 6, 24, 0.2);
  backdrop-filter: none;
}

body[data-visual="r04"]:not(.flow-active) .site-header {
  border-bottom-color: transparent;
  background: linear-gradient(180deg, rgba(7, 14, 39, 0.64), rgba(7, 14, 39, 0.54));
  box-shadow: none;
  backdrop-filter: blur(10px);
}

body[data-visual="r04"] .brand {
  color: var(--r04-shell-text);
}

body[data-visual="r04"] .brand img,
body[data-visual="r04"] .footer-brand img {
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(2, 7, 28, 0.2);
}

body[data-visual="r04"] .brand-copy strong,
body[data-visual="r04"] .desktop-nav button,
body[data-visual="r04"] .icon-text-button,
body[data-visual="r04"] .header-icon {
  color: var(--r04-shell-text);
}

body[data-visual="r04"] .brand-copy span {
  color: #c6d0ee;
}

body[data-visual="r04"] .desktop-nav button:hover,
body[data-visual="r04"] .icon-text-button:hover {
  color: #ff8bb2;
}

body[data-visual="r04"] .desktop-nav .about-nav-link {
  display: inline-flex;
  min-height: 44px;
  padding: 0.5rem 0.55rem;
  align-items: center;
  color: var(--r04-shell-text);
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
}

body[data-visual="r04"] .desktop-nav .about-nav-link:hover {
  color: #ff8bb2;
}

body[data-visual="r04"] .menu-button {
  border-color: rgba(222, 229, 255, 0.3);
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

body[data-visual="r04"] .mobile-menu {
  border-bottom: 1px solid rgba(222, 229, 255, 0.18);
  color: #fff;
  background: #0c1738;
}

body[data-visual="r04"] .mobile-menu button:not(.button) {
  border-bottom-color: rgba(222, 229, 255, 0.15);
  color: #f7f8ff;
}

body[data-visual="r04"] .mobile-menu .about-nav-link {
  display: flex;
  min-height: 48px;
  padding: 0.75rem;
  align-items: center;
  border-bottom: 1px solid rgba(222, 229, 255, 0.15);
  color: #f7f8ff;
  font-weight: 700;
  text-decoration: none;
}

body[data-visual="r04"] .about-nav-link:focus-visible {
  outline: 3px solid #8fd1ff;
  outline-offset: 2px;
}

body[data-visual="r04"] .desktop-actions .button-small::before {
  background: linear-gradient(135deg, #f12569, #ff4d8a);
  box-shadow: 0 4px 12px rgba(241, 37, 105, 0.2);
}

body[data-visual="r04"] #main {
  min-height: 70vh;
  background: var(--r04-shell);
}

body[data-visual="r04"]:not(.flow-active) #main {
  background: transparent;
}

/* Homepage shell: one finite atmospheric scene fading into the solid page color. */
body[data-visual="r04"] #homeScreen {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--r04-shell-text);
  background: transparent;
}

body[data-visual="r04"] #homeScreen::before {
  content: none;
}

body[data-visual="r04"] #homeScreen > * {
  position: relative;
  z-index: 1;
}

body[data-visual="r04"] .hero {
  padding: clamp(1.6rem, 3vw, 2.75rem) 1rem 0.85rem;
}

body[data-visual="r04"] .hero-inner {
  grid-template-columns: minmax(0, 0.94fr) minmax(390px, 1.06fr);
  gap: clamp(1.4rem, 2.8vw, 2.6rem);
  align-items: stretch;
  width: min(1180px, 100%);
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body[data-visual="r04"] .hero-form-column {
  align-self: stretch;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

body[data-visual="r04"] .hero-form-column > .eyebrow {
  margin-bottom: 0.35rem;
  color: #b7c9ff;
}

body[data-visual="r04"] #heroTitle {
  display: block;
  max-width: none;
  margin: 0;
  color: #fff;
  font-family: "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif;
  font-size: clamp(2.75rem, 4vw, 3.65rem);
  font-weight: 780;
  line-height: 1.02;
  letter-spacing: -0.045em;
  text-wrap: wrap;
  text-shadow: 0 5px 24px rgba(3, 8, 34, 0.42);
}

body[data-visual="r04"] #heroTitle::after {
  content: none;
}

body[data-visual="r04"] .hero-title-accent {
  position: relative;
  display: inline-block;
  color: #eadfff;
  background: linear-gradient(92deg, #d7d8ff 3%, #f2c9e3 94%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

body[data-visual="r04"] .hero-title-accent::after {
  position: absolute;
  right: 0.02em;
  bottom: -0.13em;
  left: 0.02em;
  height: 4px;
  border-radius: 999px;
  content: "";
  background: linear-gradient(90deg, #aaa7ff, #e6a7d1);
}

body[data-visual="r04"] .hero-lead {
  max-width: 30rem;
  margin: 0.55rem 0 1rem;
  color: #f0f3ff;
  font-size: clamp(1.02rem, 1.5vw, 1.22rem);
  line-height: 1.42;
  text-shadow: 0 3px 14px rgba(2, 7, 28, 0.36);
}

body[data-visual="r04"] #dreamForm {
  padding: clamp(0.9rem, 1.8vw, 1.25rem);
  border: 1px solid rgba(225, 230, 255, 0.78);
  border-radius: 22px;
  color: var(--ink);
  background: rgba(250, 251, 255, 0.98);
  box-shadow: 0 20px 48px rgba(2, 7, 28, 0.34);
}

body[data-visual="r04"] #dreamForm .field-heading,
body[data-visual="r04"] #dreamForm .field-help,
body[data-visual="r04"] #dreamForm .dictation-status,
body[data-visual="r04"] #dreamForm .trust-notes {
  color: #536a82;
}

body[data-visual="r04"] #dreamForm .field-heading label {
  color: var(--navy-950);
}

body[data-visual="r04"] #dreamForm .prototype-ai-note {
  color: #665429;
  background: #fff9e9;
}

body[data-visual="r04"] .hero-actions #beginDreamButton {
  box-shadow: 0 10px 24px rgba(237, 37, 93, 0.24);
}

body[data-visual="r04"] .hero-visual {
  position: relative;
  align-self: stretch;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 255, 0.54);
  border-radius: 28px;
  background: #253266;
  box-shadow: var(--r04-shadow-dark);
}

body[data-visual="r04"] .hero-visual picture {
  display: block;
  width: 100%;
  height: 100%;
}

body[data-visual="r04"] .hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  object-fit: cover;
  object-position: center;
}

body[data-visual="r04"] .hero-visual::before {
  z-index: 1;
  inset: 0;
  width: auto;
  height: auto;
  background: linear-gradient(180deg, rgba(5, 12, 41, 0.04), transparent 45%, rgba(5, 10, 29, 0.28));
}

body[data-visual="r04"] .hero-image-kicker {
  z-index: 2;
  top: 1.25rem;
  right: 1.35rem;
  max-width: 13rem;
  color: #fff8ff;
  font-size: clamp(1.2rem, 2vw, 1.7rem);
  font-weight: 400;
  letter-spacing: 0.01em;
  opacity: 0.96;
  text-shadow:
    0 1px 2px rgba(8, 14, 42, 0.66),
    0 0 10px rgba(255, 238, 255, 0.78),
    0 0 22px rgba(204, 190, 255, 0.54);
}

body[data-visual="r04"] .hero-glass-note {
  z-index: 2;
  right: 1.15rem;
  bottom: 1.1rem;
  width: min(17rem, calc(100% - 2.3rem));
  border-color: rgba(244, 246, 255, 0.62);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(169, 181, 224, 0.5), rgba(48, 59, 105, 0.58));
  box-shadow:
    0 10px 26px rgba(2, 7, 28, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    0 0 22px rgba(202, 190, 255, 0.14);
  text-shadow: 0 1px 2px rgba(8, 14, 42, 0.46);
  -webkit-backdrop-filter: blur(12px) saturate(112%);
  backdrop-filter: blur(12px) saturate(112%);
}

body[data-visual="r04"] .benefit-strip {
  width: min(1180px, calc(100% - 2rem));
  margin: 0.35rem auto 1.15rem;
  overflow: hidden;
  border: 1px solid rgba(218, 226, 255, 0.18);
  border-radius: 18px;
  color: #fff;
  background: rgba(10, 20, 55, 0.86);
  box-shadow: 0 16px 38px rgba(2, 7, 28, 0.2);
}

body[data-visual="r04"] .benefit-strip article {
  border-color: rgba(218, 226, 255, 0.14);
}

body[data-visual="r04"] #homeScreen .benefit-strip article > img,
body[data-visual="r04"] #homeScreen .benefit-strip article > picture,
body[data-visual="r04"] #homeScreen .benefit-strip .benefit-icon {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body[data-visual="r04"] #homeScreen .benefit-strip article > picture {
  overflow: visible;
}

body[data-visual="r04"] #homeScreen .benefit-strip .benefit-icon {
  object-fit: contain;
}

body[data-visual="r04"] #homeScreen #dreamForm .microcopy-icon {
  flex: 0 0 auto;
  overflow: visible;
  padding: 0;
  border: 0;
  color: #416b94;
  background: transparent;
  box-shadow: none;
  stroke-width: 1.7;
}

body[data-visual="r04"] .benefit-strip strong {
  color: #fff;
}

body[data-visual="r04"] .benefit-strip p {
  color: #cbd5ef;
}

body[data-visual="r04"] .section {
  width: min(1180px, calc(100% - 2rem));
}

body[data-visual="r04"] .split-section {
  gap: 1rem;
}

body[data-visual="r04"] .dictionary-card {
  position: relative;
  isolation: isolate;
  min-height: 390px;
  overflow: hidden;
  border-color: rgba(201, 215, 255, 0.44);
  color: #fff;
  background: #0b1b49;
  box-shadow: var(--r04-shadow-dark);
}

body[data-visual="r04"] .dictionary-card::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(7, 18, 53, 0.97) 0%, rgba(7, 18, 53, 0.87) 42%, rgba(7, 18, 53, 0.4) 64%, rgba(7, 18, 53, 0.1) 82%, rgba(7, 18, 53, 0.04) 100%);
}

body[data-visual="r04"] .dictionary-card::after {
  display: none;
}

body[data-visual="r04"] .dictionary-content {
  position: relative;
  z-index: 2;
  max-width: 70%;
}

body[data-visual="r04"] .dictionary-card .section-heading h2,
body[data-visual="r04"] .dictionary-card .section-heading p,
body[data-visual="r04"] .dictionary-card .chip-label {
  color: #fff;
}

body[data-visual="r04"] .dictionary-card .section-heading p {
  color: #dbe3ff;
}

body[data-visual="r04"] .dictionary-book {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 1;
  filter: none;
  object-fit: cover;
  object-position: 58% center;
  -webkit-mask-image: none;
  mask-image: none;
}

body[data-visual="r04"] .dictionary-card .chip-list button {
  border-color: rgba(255, 255, 255, 0.46);
  color: #fff;
  background: rgba(7, 19, 55, 0.7);
}

body[data-visual="r04"] .dictionary-card nav.chip-list {
  column-gap: 0.6rem;
  row-gap: 0.55rem;
}

body[data-visual="r04"] .dictionary-card .dictionary-cta {
  border-color: rgba(255, 255, 255, 0.58);
  color: #fff;
  background: rgba(8, 21, 59, 0.82);
}

body[data-visual="r04"] .dictionary-card .dictionary-cta:hover {
  background: #152d68;
}

body[data-visual="r04"] .comparison-card,
body[data-visual="r04"] .editorial-section,
body[data-visual="r04"] .about-card,
body[data-visual="r04"] .faq-card {
  border-color: rgba(211, 220, 246, 0.8);
  background: linear-gradient(145deg, #fff, #f5f7ff);
  box-shadow: 0 18px 42px rgba(2, 7, 28, 0.22);
}

body[data-visual="r04"] .editorial-section {
  margin-top: 2rem;
  padding: clamp(1.15rem, 2.5vw, 1.75rem);
  border: 1px solid rgba(211, 220, 246, 0.82);
  border-radius: 22px;
}

body[data-visual="r04"] .editorial-section .section-heading h2,
body[data-visual="r04"] .about-card h2,
body[data-visual="r04"] .faq-card h2 {
  color: var(--navy-950);
}

body[data-visual="r04"] .editorial-section .section-heading p,
body[data-visual="r04"] .about-card div > p:not(.eyebrow) {
  color: #557087;
}

body[data-visual="r04"] .editorial-grid article {
  border-color: #dbe3f3;
  background: #fff;
  box-shadow: 0 7px 18px rgba(14, 36, 78, 0.08);
}

body[data-visual="r04"] .editorial-more {
  margin-top: 1.2rem;
  padding-top: 0.85rem;
  border-top: 1px solid #dbe3f3;
}

body[data-visual="r04"] .editorial-more-label {
  margin: 0 0 0.35rem;
  color: #557087;
  font-size: 0.78rem;
  font-weight: 800;
}

body[data-visual="r04"] .editorial-more-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 1rem;
}

body[data-visual="r04"] .editorial-more-links a.text-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0.2rem 0;
  color: #425f79;
  font-size: 0.84rem;
  font-weight: 700;
}

body[data-visual="r04"] .info-section {
  padding-bottom: clamp(3rem, 6vw, 5rem);
}

body[data-visual="r04"] .site-footer {
  border-top-color: rgba(218, 226, 255, 0.18);
  color: #fff;
  background: var(--r04-shell-deep);
}

body[data-visual="r04"] .site-footer strong,
body[data-visual="r04"] .site-footer nav button {
  color: #fff;
}

body[data-visual="r04"] .site-footer p,
body[data-visual="r04"] .footer-brand span,
body[data-visual="r04"] .prototype-tools-footer,
body[data-visual="r04"] .prototype-tools-footer .memory-note {
  color: #bdc9e9;
}

body[data-visual="r04"] .prototype-tools-footer {
  border-top-color: rgba(218, 226, 255, 0.18);
}

body[data-visual="r04"] .prototype-tools-footer .text-link {
  color: #e7ebff;
}

/* Flow shell: the approved R03F geometry stays intact. */
body[data-visual="r04"].flow-active #main {
  background-color: var(--r04-shell);
  background-image:
    linear-gradient(180deg, rgba(6, 13, 38, 0.1) 0%, rgba(11, 20, 51, 0.18) 62%, var(--r04-shell) 100%),
    url("assets/visual-r04/bg-step2-desktop.png");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 1000px;
}

body[data-visual="r04"] #flowScreen.flow-screen {
  position: relative;
  color: var(--r04-shell-text);
}

body[data-visual="r04"] #flowScreen .flow-title-block h1 {
  color: #fff;
  text-shadow: 0 4px 20px rgba(2, 7, 28, 0.48);
}

body[data-visual="r04"] #flowScreen .flow-prototype-note {
  color: #d4dcf5;
}

body[data-visual="r04"] #flowScreen .demo-tag {
  color: #163467;
  background: #eaf0ff;
}

body[data-visual="r04"] #flowScreen .flow-toolbar-actions .button {
  border-color: rgba(224, 230, 255, 0.34);
  color: #fff;
  background: rgba(8, 18, 52, 0.76);
}

body[data-visual="r04"] #flowScreen .flow-toolbar-actions .button:hover {
  background: #182c63;
}

body[data-visual="r04"] #flowScreen .dream-recap,
body[data-visual="r04"] #flowScreen .flow-card {
  border-color: rgba(216, 224, 248, 0.88);
  color: var(--ink);
  background: var(--r04-workspace);
  box-shadow: 0 24px 58px rgba(2, 7, 28, 0.34);
}

body[data-visual="r04"] #flowScreen #symbolsStep {
  background:
    radial-gradient(circle at 88% 4%, rgba(213, 220, 255, 0.42), transparent 13rem),
    linear-gradient(145deg, #fff, #f6f8ff);
}

body[data-visual="r04"] #flowScreen .flow-test-tools {
  border-color: rgba(219, 226, 255, 0.3);
  color: #c5d0ec;
  background: rgba(7, 15, 43, 0.9);
}

body[data-visual="r04"] #flowScreen .flow-test-tools summary,
body[data-visual="r04"] #flowScreen .qa-snapshot-summary {
  color: #e0e6fa;
}

body[data-visual="r04"] #flowScreen .flow-test-tools select {
  color: var(--ink);
  background: #fff;
}

body[data-visual="r04"] dialog {
  color: var(--ink);
  background: #fff;
}

@media (max-width: 1120px) {
  body[data-visual="r04"] .hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 0.92fr);
  }

  body[data-visual="r04"] #heroTitle {
    font-size: clamp(2.45rem, 4.8vw, 3.2rem);
  }
}

@media (max-width: 899px) {
  body[data-visual="r04"] .hero-inner {
    grid-template-columns: 1fr;
    width: min(690px, 100%);
  }

  body[data-visual="r04"] .hero-visual {
    min-height: 300px;
  }

  body[data-visual="r04"] .dictionary-content {
    max-width: 76%;
  }

  body[data-visual="r04"] .editorial-section {
    margin-top: 1.75rem;
  }
}

@media (max-width: 699px) {
  body[data-visual="r04"]:not(.flow-active)::before {
    top: 30px;
    height: 1090px;
    background-image:
      linear-gradient(180deg, rgba(7, 14, 39, 0.06) 0%, rgba(11, 20, 51, 0.12) 66%, var(--r04-shell) 100%),
      url("assets/visual-r04/bg-home-mobile.png");
    background-position: center top, left top;
    background-size: 100% auto, 132% auto;
  }

  body[data-visual="r04"] .prototype-banner {
    min-height: 30px;
    padding: 0.25rem 0.55rem;
    font-size: 0.68rem;
  }

  body[data-visual="r04"] .site-header {
    background: #091432;
  }

  body[data-visual="r04"]:not(.flow-active) .site-header {
    border-bottom-color: transparent;
    background: linear-gradient(180deg, rgba(7, 14, 39, 0.68), rgba(7, 14, 39, 0.56));
    box-shadow: none;
    backdrop-filter: blur(10px);
  }

  body[data-visual="r04"] .header-inner {
    width: calc(100% - 1rem);
    min-height: 62px;
  }

  body[data-visual="r04"] .brand {
    gap: 0.5rem;
    min-width: 0;
  }

  body[data-visual="r04"] .brand img {
    width: 46px;
    height: 46px;
    border-radius: 11px;
  }

  body[data-visual="r04"] .brand-copy strong {
    font-size: 1.05rem;
  }

  body[data-visual="r04"] .brand-copy span {
    font-size: 0.68rem;
  }

  body[data-visual="r04"] .menu-button {
    min-width: 70px;
    min-height: 44px;
  }

  body[data-visual="r04"] .hero {
    padding: 0.8rem 0.55rem 0.45rem;
  }

  body[data-visual="r04"] .hero-inner {
    gap: 0.8rem;
  }

  body[data-visual="r04"] .hero-form-column > .eyebrow {
    margin: 0 0 0.18rem;
    font-size: 0.68rem;
  }

  body[data-visual="r04"] #heroTitle {
    font-size: clamp(2.05rem, 9.7vw, 2.55rem);
    line-height: 1;
  }

  body[data-visual="r04"] .hero-title-accent::after {
    bottom: -0.11em;
    height: 3px;
  }

  body[data-visual="r04"] .hero-lead {
    margin: 0.35rem 0 0.6rem;
    font-size: 0.93rem;
    line-height: 1.32;
  }

  body[data-visual="r04"] #dreamForm {
    padding: 0.72rem;
    border-radius: 18px;
  }

  body[data-visual="r04"] #dreamForm .field-heading {
    margin-bottom: 0.3rem;
  }

  body[data-visual="r04"] #dreamForm .field-help {
    margin: 0.3rem 0;
    font-size: 0.72rem;
    line-height: 1.25;
  }

  body[data-visual="r04"] #dreamForm .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  body[data-visual="r04"] #dreamForm .input-tools {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.4rem;
  }

  body[data-visual="r04"] #dreamForm .input-tools .button {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding-inline: 0.55rem;
  }

  body[data-visual="r04"] #dreamForm .dictation-status {
    margin: 0.35rem 0 0;
    font-size: 0.68rem;
  }

  body[data-visual="r04"] #dreamForm .trust-notes {
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 0.35rem 0.55rem;
    margin-top: 0.42rem;
  }

  body[data-visual="r04"] #dreamForm .trust-notes p {
    margin: 0;
    font-size: 0.7rem;
    line-height: 1.28;
  }

  body[data-visual="r04"] #dreamForm .prototype-ai-note {
    grid-column: 1 / -1;
    padding: 0.45rem 0.55rem;
  }

  body[data-visual="r04"] .hero-visual,
  body[data-visual="r04"] .hero-image {
    min-height: 224px;
    max-height: 244px;
  }

  body[data-visual="r04"] .hero-image {
    object-position: center 68%;
  }

  body[data-visual="r04"] .hero-image-kicker {
    top: 0.75rem;
    right: 0.75rem;
    max-width: 9rem;
    font-size: 1rem;
  }

  body[data-visual="r04"] .hero-glass-note {
    right: 0.7rem;
    bottom: 0.65rem;
    width: min(13rem, calc(100% - 1.4rem));
    padding: 0.65rem 0.75rem;
    font-size: 0.78rem;
  }

  body[data-visual="r04"] .benefit-strip {
    width: calc(100% - 1rem);
    margin-top: 0.35rem;
  }

  body[data-visual="r04"] .section {
    width: calc(100% - 1rem);
  }

  body[data-visual="r04"] .dictionary-card {
    min-height: 420px;
    padding: 1rem;
  }

  body[data-visual="r04"] .dictionary-card::before {
    background:
      linear-gradient(180deg, rgba(7, 18, 53, 0.72) 0%, rgba(7, 18, 53, 0.42) 36%, rgba(7, 18, 53, 0.1) 56%, rgba(7, 18, 53, 0) 72%),
      linear-gradient(90deg, rgba(7, 18, 53, 0.97) 0%, rgba(7, 18, 53, 0.88) 34%, rgba(7, 18, 53, 0.45) 52%, rgba(7, 18, 53, 0.12) 66%, rgba(7, 18, 53, 0) 78%);
  }

  body[data-visual="r04"] .dictionary-content {
    max-width: none;
  }

  body[data-visual="r04"] .dictionary-book {
    position: absolute;
    width: 100%;
    height: 100%;
    object-position: 74% center;
  }

  body[data-visual="r04"] .comparison-columns,
  body[data-visual="r04"] .editorial-grid,
  body[data-visual="r04"] .info-section {
    grid-template-columns: 1fr;
  }

  body[data-visual="r04"] .editorial-section {
    margin-top: 1.5rem;
    padding: 0.85rem;
  }

  body[data-visual="r04"].flow-active #main {
    background-image:
      linear-gradient(180deg, rgba(6, 13, 38, 0.08) 0%, rgba(11, 20, 51, 0.18) 60%, var(--r04-shell) 100%),
      url("assets/visual-r04/bg-step2-mobile.png");
    background-position: center top;
    background-size: 100% auto;
  }

  body[data-visual="r04"] #flowScreen.flow-screen {
    width: calc(100% - 0.65rem);
    padding-top: 0.55rem;
  }

  body[data-visual="r04"] #flowScreen .flow-toolbar-actions .button {
    border-color: rgba(224, 230, 255, 0.42);
    background: rgba(7, 16, 47, 0.9);
  }

  body[data-visual="r04"] #flowScreen .flow-card,
  body[data-visual="r04"] #flowScreen .dream-recap {
    box-shadow: 0 18px 38px rgba(2, 7, 28, 0.28);
  }
}

@media (max-width: 350px) {
  body[data-visual="r04"] .brand-copy span {
    display: none;
  }

  body[data-visual="r04"] .hero {
    padding-inline: 0.35rem;
  }

  body[data-visual="r04"] .hero-form-column > .eyebrow {
    display: none;
  }

  body[data-visual="r04"] #heroTitle {
    font-size: 2rem;
  }

  body[data-visual="r04"] .hero-lead {
    font-size: 0.86rem;
  }

  body[data-visual="r04"] #dreamForm .trust-notes {
    grid-template-columns: 1fr;
  }

  body[data-visual="r04"] #dreamForm .prototype-ai-note {
    grid-column: auto;
  }
}

@media (forced-colors: active) {
  body[data-visual="r04"] .site-header,
  body[data-visual="r04"] #homeScreen,
  body[data-visual="r04"].flow-active #main,
  body[data-visual="r04"] .benefit-strip,
  body[data-visual="r04"] .dictionary-card,
  body[data-visual="r04"] .site-footer {
    color: CanvasText;
    background: Canvas;
  }

  body[data-visual="r04"] .hero h1,
  body[data-visual="r04"] .hero-title-accent,
  body[data-visual="r04"] .hero-lead,
  body[data-visual="r04"] .benefit-strip strong,
  body[data-visual="r04"] .benefit-strip p,
  body[data-visual="r04"] .dictionary-card .section-heading h2,
  body[data-visual="r04"] .dictionary-card .section-heading p,
  body[data-visual="r04"] #flowScreen .flow-title-block h1,
  body[data-visual="r04"] #flowScreen .flow-prototype-note {
    color: CanvasText;
  }

  body[data-visual="r04"] .hero-title-accent {
    background: none;
    -webkit-text-fill-color: CanvasText;
  }

  body[data-visual="r04"] .hero-title-accent::after {
    background: CanvasText;
  }

  body[data-visual="r04"] #homeScreen .hero-image-kicker,
  body[data-visual="r04"] #homeScreen .hero-glass-note {
    border-color: CanvasText;
    color: CanvasText;
    background: Canvas;
    box-shadow: none;
    text-shadow: none;
  }

}

@media (prefers-reduced-motion: reduce) {
  body[data-visual="r04"] *,
  body[data-visual="r04"] *::before,
  body[data-visual="r04"] *::after {
    scroll-behavior: auto;
  }
}

/* P15 R08E-02 BLOCK 03: assets/r04c2-benefits/benefits.css; SOURCE_SHA256=9ACE4342B6E96D54EE92606C023602B8B6149C5D0B71C1537225CA23D1F2F005 */
/* R04C2: scope pouze na benefitový pruh s touto výslovnou třídou. */
body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;align-items:stretch;isolation:isolate;
  color:#f4f5ff;
  background:linear-gradient(112deg,rgba(18,28,75,.92),rgba(15,22,63,.90) 58%,rgba(37,30,79,.91));
  border:1px solid rgba(156,167,225,.32);border-radius:22px;
  box-shadow:inset 0 1px 0 rgba(215,221,255,.10),0 10px 26px rgba(5,10,32,.16);
}
body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 > article {
  display:flex;align-items:center;gap:13px;min-width:0;margin:0;
  padding:19px 18px;border:0;border-radius:0;background:none;box-shadow:none;
}
body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 > article + article {
  border-inline-start:1px solid rgba(170,180,231,.20);
}
body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 picture {
  display:block;flex:0 0 auto;width:40px;height:40px;margin:0;padding:0;
}
body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 .benefit-icon {
  display:block;flex:0 0 auto;width:40px;height:40px;max-width:none;max-height:none;
  object-fit:contain;object-position:center;margin:0;padding:0;
  background:none;border:0;border-radius:0;
  filter:none;mix-blend-mode:normal;clip-path:none;mask:none;
  opacity:1;transform:none;box-shadow:none;
}
body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 > article > div {min-width:0;}
body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 strong {
  display:block;color:#f4f5ff;font-size:14px;font-weight:700;line-height:1.32;
}
body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 p {
  margin:4px 0 0;color:#ccd3ec;font-size:13px;line-height:1.42;
}
@media(max-width:899px){
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2{grid-template-columns:repeat(2,minmax(0,1fr));}
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 > article:nth-child(3){border-inline-start:0;}
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 > article:nth-child(n+3){border-top:1px solid rgba(170,180,231,.20);}
}
@media(max-width:699px){
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2{border-radius:18px;}
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 > article{align-items:flex-start;padding:16px 11px;gap:8px;}
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 .benefit-icon,
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 picture{width:32px;height:32px;}
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 strong{font-size:13px;}
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 p{font-size:12px;}
}
@media(max-width:299px){
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2{grid-template-columns:minmax(0,1fr);}
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 > article + article{border-inline-start:0;border-top:1px solid rgba(170,180,231,.20);}
}
@media(forced-colors:active){
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2{background:Canvas;color:CanvasText;border:1px solid CanvasText;box-shadow:none;}
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 strong,
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 p{color:CanvasText;}
 body[data-visual="r04"] #homeScreen .benefit-strip.p15-benefits-r04c2 > article + article{border-color:CanvasText;}
}

/* P15 R08E-02 BLOCK 04: styles-r05.css; SOURCE_SHA256=DB828B470B18BBA75AE20BBC5701AB87E185DBAA4E49349844177D375B2BE68A */
/* R05 — step 3 only: free mini report and premium bridge. */

body[data-visual="r04"].flow-active.result-active {
  background-color: #071231;
}

body[data-visual="r04"].flow-active.result-active::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  background-image:
    linear-gradient(180deg, rgba(4, 10, 31, 0.1), rgba(7, 18, 49, 0.5)),
    url("assets/r05-step3/bg-step3-desktop.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  content: "";
  pointer-events: none;
}

body[data-visual="r04"].flow-active.result-active #main {
  position: relative;
  z-index: 1;
  background: transparent;
}

body.result-active #flowScreen .flow-title-block {
  display: none;
}

body.result-active #flowScreen .flow-toolbar {
  justify-content: flex-end;
  margin-bottom: 0.85rem;
}

body.result-active #flowScreen .flow-toolbar-actions {
  max-width: none;
}

body.result-active #flowScreen .dream-recap {
  width: min(1000px, 100%);
  margin-inline: auto;
}

body[data-visual="r04"] #flowScreen #resultStep.result-card {
  width: min(1000px, 100%);
  max-width: 1000px;
  margin-inline: auto;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(225, 230, 244, 0.94);
  border-radius: 24px;
  color: #182f49;
  background: #fffdf9;
  box-shadow: 0 30px 76px rgba(2, 7, 28, 0.38);
}

#resultStep .result-report-header {
  padding: clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 5vw, 4rem) clamp(1.35rem, 3vw, 2.25rem);
  border-bottom: 1px solid #e6e9f0;
  background:
    radial-gradient(circle at 90% 0%, rgba(226, 213, 255, 0.66), transparent 18rem),
    linear-gradient(145deg, #fffefc 0%, #f8f7ff 60%, #f7fbff 100%);
}

#resultStep .result-kicker-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

#resultStep .result-free-badge,
#resultStep .result-demo-badge,
#resultStep .result-ai-pill {
  display: inline-flex;
  gap: 0.4rem;
  align-items: center;
  min-height: 32px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}

#resultStep .result-free-badge {
  padding: 0.3rem 0.75rem 0.3rem 0.42rem;
  border: 1px solid #a8ddcf;
  color: #126253;
  background: #edf9f5;
}

#resultStep .result-free-badge img,
#resultStep .result-ai-pill img,
#resultStep .premium-benefits img,
#resultStep .premium-reassurance img,
#resultStep .premium-question img,
#resultStep .premium-bridge-crown {
  display: block;
  object-fit: contain;
}

#resultStep .result-demo-badge {
  padding: 0.35rem 0.72rem;
  border: 1px solid #e4ca84;
  color: #795612;
  background: #fff8e5;
}

#resultStep #resultTitle {
  max-width: 760px;
  margin: 0;
  color: #102b4c;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.15rem, 5vw, 3.55rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

#resultStep .result-lead {
  max-width: 740px;
  margin: 1rem 0 0;
  color: #40566e;
  font-size: clamp(1rem, 1.8vw, 1.14rem);
  line-height: 1.68;
}

#resultStep .result-ai-pill {
  margin-top: 1rem;
  padding: 0.28rem 0.68rem 0.28rem 0.38rem;
  border: 1px solid #d9def0;
  color: #53627b;
  background: rgba(255, 255, 255, 0.76);
  font-weight: 700;
}

#resultStep .result-report-body {
  padding: clamp(0.25rem, 1vw, 0.75rem) clamp(1.25rem, 5vw, 4rem);
}

#resultStep .result-section {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.9rem;
  padding: clamp(1.4rem, 3vw, 2.15rem) 0;
  border-bottom: 1px solid #e8eaf0;
}

#resultStep .result-section:last-child {
  border-bottom: 0;
}

#resultStep .result-section-index {
  display: grid;
  width: 2.2rem;
  height: 2.2rem;
  margin: 0.05rem 0 0;
  place-items: center;
  border: 1px solid #ccd7e7;
  border-radius: 50%;
  color: #526d8c;
  background: #f4f8fc;
  font-size: 0.72rem;
  font-weight: 850;
}

#resultStep .result-section h2,
#resultStep .result-symbols h2 {
  margin: 0;
  color: #173658;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.28rem, 2.4vw, 1.72rem);
  line-height: 1.25;
}

#resultStep .result-section p:not(.result-section-index) {
  max-width: 760px;
  margin: 0.65rem 0 0;
  color: #314b63;
  font-size: clamp(1rem, 1.4vw, 1.075rem);
  line-height: 1.78;
}

#resultStep .result-section-heading {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 0.8rem;
  align-items: center;
}

#resultStep .result-feeling-badge {
  max-width: min(100%, 34rem);
  padding: 0.3rem 0.62rem;
  border: 1px solid #c9bce9;
  border-radius: 999px;
  color: #4b3f78;
  background: #f0ebfb;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.4;
  overflow-wrap: break-word;
}

#resultStep .result-symbols {
  margin: 0 clamp(1.25rem, 5vw, 4rem);
  padding: clamp(1.2rem, 3vw, 1.8rem);
  border: 1px solid #cfe1ea;
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(183, 224, 224, 0.35), transparent 12rem),
    linear-gradient(145deg, #f2f9fb, #f8fbff);
}

#resultStep .result-symbols-heading {
  display: flex;
  gap: 1rem;
  align-items: flex-end;
  justify-content: space-between;
}

#resultStep .result-symbols-heading > p {
  max-width: 360px;
  margin: 0;
  color: #5d7183;
  font-size: 0.79rem;
  line-height: 1.45;
  text-align: right;
}

#resultStep .result-small-label {
  margin: 0 0 0.25rem;
  color: #26777b;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#resultStep .result-symbol-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1rem;
}

#resultStep .result-symbol-chip {
  min-height: 44px;
  padding: 0.55rem 0.85rem;
  border: 1px solid #a9ccd8;
  border-radius: 999px;
  color: #153e5d;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 4px 10px rgba(18, 70, 93, 0.06);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#resultStep .result-symbol-chip:hover {
  border-color: #74aebc;
  background: #fff;
}

#resultStep .result-symbols-empty {
  margin: 0.8rem 0 0;
  color: #536d80;
}

#resultStep .result-dictionary-link {
  margin-top: 0.8rem;
}

#resultStep .result-free-divider {
  display: flex;
  gap: 0.85rem;
  align-items: center;
  margin: clamp(1.35rem, 3vw, 1.75rem) clamp(1.25rem, 5vw, 4rem) clamp(1.25rem, 3vw, 1.65rem);
  color: #607286;
  font-size: 0.78rem;
  font-weight: 750;
  letter-spacing: 0.025em;
  text-align: center;
}

#resultStep .result-free-divider::before,
#resultStep .result-free-divider::after {
  flex: 1 1 auto;
  min-width: 1rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, #b9c7d3);
  content: "";
}

#resultStep .result-free-divider::after {
  background: linear-gradient(90deg, #b9c7d3, transparent);
}

#resultStep .result-free-divider span {
  flex: 0 1 auto;
}

#resultStep .result-long-copy-fixture {
  display: none;
}

body.result-active:has(#qaLongReportCheckbox:checked) #resultStep .result-long-copy-fixture {
  display: block;
}

#resultStep .premium-bridge {
  position: relative;
  isolation: isolate;
  margin: 0 clamp(0.75rem, 3vw, 2rem);
  overflow: hidden;
  padding: clamp(1.35rem, 4vw, 2.8rem);
  border: 1px solid rgba(236, 195, 91, 0.66);
  border-radius: 22px;
  color: #f8f5ff;
  background-color: #171447;
  background-image:
    linear-gradient(112deg, rgba(18, 16, 65, 0.98) 0%, rgba(37, 25, 91, 0.95) 54%, rgba(42, 24, 86, 0.78) 100%),
    url("assets/r05-step3/premium-desktop.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  box-shadow:
    0 20px 48px rgba(20, 12, 58, 0.3),
    0 0 34px rgba(222, 176, 64, 0.13),
    inset 0 1px 0 rgba(255, 240, 186, 0.22);
}

#resultStep .premium-bridge::after {
  position: absolute;
  z-index: -1;
  right: -5rem;
  bottom: -7rem;
  width: 21rem;
  height: 21rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(241, 190, 75, 0.16), transparent 68%);
  content: "";
  pointer-events: none;
}

#resultStep .premium-bridge-header {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

#resultStep .premium-bridge-crown {
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  filter: drop-shadow(0 6px 14px rgba(240, 186, 56, 0.25));
}

#resultStep .premium-bridge-label {
  display: inline-block;
  margin-bottom: 0.35rem;
  color: #f2cf70;
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

#resultStep .premium-bridge h2 {
  max-width: 720px;
  margin: 0;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.65rem, 3.5vw, 2.5rem);
  line-height: 1.18;
  text-wrap: balance;
}

#resultStep .premium-bridge-intro {
  max-width: 760px;
  margin: 1rem 0 0;
  color: #dedbf2;
  font-size: 1rem;
  line-height: 1.65;
}

#resultStep .premium-question {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin-top: 1.5rem;
  padding: clamp(1.15rem, 2.4vw, 1.5rem);
  border: 1px solid rgba(231, 192, 99, 0.68);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255, 252, 244, 0.98), rgba(239, 232, 255, 0.96));
  box-shadow:
    0 14px 32px rgba(8, 5, 35, 0.22),
    0 0 24px rgba(230, 201, 126, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

#resultStep .premium-question img {
  width: 46px;
  height: 46px;
  filter: drop-shadow(0 5px 10px rgba(73, 46, 120, 0.16));
}

#resultStep .premium-question h3 {
  margin: 0;
  color: #67488f;
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.075em;
  line-height: 1.35;
  text-transform: uppercase;
}

#resultStep .premium-benefits h3 {
  margin: 0;
  color: #f5d57c;
  font-size: 0.86rem;
  letter-spacing: 0.025em;
}

#resultStep .premium-question p {
  margin: 0.48rem 0 0;
  color: #211a4c;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(1.15rem, 2vw, 1.3rem);
  font-weight: 700;
  line-height: 1.45;
  text-wrap: pretty;
}

#resultStep .premium-value-proposition {
  max-width: 800px;
  margin: 1.25rem 0 0;
  padding: 0.72rem 0.95rem;
  border-left: 3px solid rgba(242, 207, 112, 0.88);
  border-radius: 0 12px 12px 0;
  color: #fff5d5;
  background: linear-gradient(90deg, rgba(242, 207, 112, 0.13), rgba(255, 255, 255, 0.035));
  font-size: clamp(1.02rem, 1.7vw, 1.14rem);
  font-weight: 720;
  line-height: 1.55;
  text-wrap: pretty;
}

#resultStep .premium-benefits {
  margin-top: 1.25rem;
}

#resultStep .premium-benefits h3 {
  font-size: 0.95rem;
  font-weight: 800;
}

#resultStep .premium-benefits ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
}

#resultStep .premium-benefits li {
  display: grid;
  grid-template-columns: 1.4rem minmax(0, 1fr);
  gap: 0.7rem;
  align-items: start;
  min-height: 108px;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(239, 228, 255, 0.16);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.055));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

#resultStep .premium-benefits img {
  width: 22px;
  height: 22px;
  margin-top: 0.08rem;
}

#resultStep .premium-benefit-copy {
  display: grid;
  gap: 0.32rem;
}

#resultStep .premium-benefit-copy strong {
  color: #fff;
  font-size: 0.96rem;
  font-weight: 780;
  line-height: 1.35;
}

#resultStep .premium-benefit-copy span {
  color: #dcd8ed;
  font-size: 0.88rem;
  line-height: 1.5;
}

#resultStep .premium-purchase {
  display: grid;
  grid-template-columns: minmax(180px, 0.65fr) minmax(260px, 1fr);
  gap: 1.2rem;
  align-items: end;
  margin-top: 1.5rem;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(242, 209, 119, 0.27);
}

#resultStep .premium-price-block {
  display: grid;
  gap: 0.14rem;
}

#resultStep .premium-price-block span {
  color: #dcd8ef;
  font-size: 0.78rem;
  font-weight: 700;
}

#resultStep .premium-price-block strong {
  color: #f6d477;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.2rem, 5vw, 3.35rem);
  line-height: 1;
}

#resultStep .premium-price-block small {
  color: #c8c3dd;
  font-size: 0.76rem;
}

#resultStep .premium-cta-block {
  display: grid;
  gap: 0.45rem;
  justify-items: start;
}

#resultStep .premium-cta {
  min-height: 54px;
  padding-inline: clamp(1.2rem, 3vw, 2rem);
  box-shadow: 0 12px 28px rgba(237, 37, 105, 0.24);
}

#resultStep .premium-sample-link {
  min-height: 42px;
  border-color: transparent;
  color: #eeeaf9;
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 3px;
}

#resultStep .premium-sample-link:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

#resultStep .premium-reassurance {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin: 1rem 0 0;
  padding: 0;
  color: #d9d5e9;
  font-size: 0.77rem;
  list-style: none;
}

#resultStep .premium-reassurance li {
  display: inline-flex;
  gap: 0.38rem;
  align-items: center;
}

#resultStep .premium-reassurance img {
  width: 18px;
  height: 18px;
}

#resultStep .premium-prototype-note {
  margin: 0.9rem 0 0;
  color: #bcb6d1;
  font-size: 0.72rem;
  line-height: 1.4;
}

#resultStep .result-ai-details {
  margin: clamp(1.35rem, 4vw, 2.2rem) clamp(1.25rem, 5vw, 4rem) 0;
  border: 1px solid #dce1ea;
  border-radius: 14px;
  color: #405870;
  background: #f7f9fc;
}

#resultStep .result-ai-details summary {
  display: flex;
  gap: 0.55rem;
  align-items: center;
  min-height: 48px;
  padding: 0.7rem 0.9rem;
  color: #294866;
  font-weight: 800;
  cursor: pointer;
}

#resultStep .result-ai-details summary::marker {
  color: #6d7d91;
}

#resultStep .result-ai-details summary img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

#resultStep .result-ai-details > div {
  padding: 0 1rem 0.9rem 2.95rem;
}

#resultStep .result-ai-details p {
  margin: 0.4rem 0 0;
  font-size: 0.88rem;
  line-height: 1.58;
}

#resultStep .result-actions {
  margin: 1rem clamp(1.25rem, 5vw, 4rem) 0;
  padding: 0 0 clamp(1.5rem, 4vw, 2.5rem);
}

body.result-active #flowScreen .flow-test-tools {
  width: min(1000px, 100%);
  margin-inline: auto;
}

#resultTestTools {
  display: none;
}

body.result-active #resultTestTools {
  display: block;
  width: min(1000px, 100%);
  margin: 0.75rem auto 0;
}

#resultTestTools .result-long-report-toggle {
  display: inline-flex;
  gap: 0.55rem;
  align-items: center;
  min-height: 44px;
}

@media (max-width: 700px) {
  body[data-visual="r04"].flow-active.result-active::before {
    background-image:
      linear-gradient(180deg, rgba(4, 10, 31, 0.08), rgba(7, 18, 49, 0.48)),
      url("assets/r05-step3/bg-step3-mobile.png");
    background-position: center center;
    background-size: cover;
  }

  body.result-active #flowScreen .flow-toolbar {
    display: flex;
    margin-bottom: 0.55rem;
  }

  body.result-active #flowScreen .flow-toolbar-actions {
    width: 100%;
    margin-top: 0;
    overflow-x: auto;
    padding-bottom: 0.1rem;
  }

  body[data-visual="r04"] #flowScreen #resultStep.result-card {
    border-radius: 18px;
  }

  #resultStep .result-kicker-row,
  #resultStep .result-symbols-heading {
    display: block;
  }

  #resultStep .result-demo-badge {
    margin-top: 0.5rem;
  }

  #resultStep #resultTitle {
    font-size: clamp(2rem, 10vw, 2.65rem);
  }

  #resultStep .result-section {
    grid-template-columns: 2.2rem minmax(0, 1fr);
    gap: 0.65rem;
  }

  #resultStep .result-symbols-heading > p {
    margin-top: 0.55rem;
    text-align: left;
  }

  #resultStep .premium-bridge {
    display: flex;
    flex-direction: column;
    margin-inline: 0.45rem;
    background-image:
      linear-gradient(180deg, rgba(18, 16, 65, 0.98) 0%, rgba(36, 23, 85, 0.95) 63%, rgba(41, 22, 82, 0.84) 100%),
      url("assets/r05-step3/premium-mobile.png");
    background-position: center bottom;
    background-size: cover;
  }

  #resultStep .premium-bridge-header {
    order: 1;
  }

  #resultStep .premium-bridge-intro {
    order: 2;
  }

  #resultStep .premium-question {
    order: 3;
  }

  #resultStep .premium-value-proposition {
    order: 4;
  }

  #resultStep .premium-purchase {
    order: 5;
  }

  #resultStep .premium-benefits {
    order: 6;
  }

  #resultStep .premium-reassurance {
    order: 7;
  }

  #resultStep .premium-prototype-note {
    order: 8;
  }

  #resultStep .premium-benefits ul,
  #resultStep .premium-purchase {
    grid-template-columns: 1fr;
  }

  #resultStep .premium-benefits li {
    min-height: 0;
  }

  #resultStep .premium-cta-block,
  #resultStep .premium-cta {
    width: 100%;
  }

  #resultStep .premium-cta {
    white-space: normal;
  }

  #resultStep .premium-sample-link {
    justify-self: center;
  }

  #resultStep .premium-reassurance {
    display: grid;
  }
}

@media (max-width: 390px) {
  #resultStep .result-report-header,
  #resultStep .result-report-body {
    padding-inline: 1rem;
  }

  #resultStep .result-symbols,
  #resultStep .result-free-divider,
  #resultStep .result-ai-details,
  #resultStep .result-actions {
    margin-inline: 1rem;
  }

  #resultStep .result-section {
    grid-template-columns: 1fr;
  }

  #resultStep .result-section-index {
    width: 2rem;
    height: 2rem;
  }

  #resultStep .premium-bridge-header {
    display: block;
  }

  #resultStep .premium-bridge-crown {
    width: 50px;
    height: 50px;
    margin-bottom: 0.5rem;
  }

  #resultStep .premium-question {
    grid-template-columns: 2.45rem minmax(0, 1fr);
    gap: 0.8rem;
    padding: 1rem;
  }

  #resultStep .premium-question img {
    width: 38px;
    height: 38px;
  }

  #resultStep .premium-value-proposition {
    padding: 0.68rem 0.82rem;
    font-size: 1rem;
    line-height: 1.52;
  }
}

@media (prefers-reduced-motion: reduce) {
  #resultStep *,
  #resultStep *::before,
  #resultStep *::after {
    scroll-behavior: auto;
  }
}

@media (forced-colors: active) {
  body[data-visual="r04"].flow-active.result-active #main,
  body[data-visual="r04"].flow-active.result-active::before,
  body[data-visual="r04"] #flowScreen #resultStep.result-card,
  #resultStep .premium-bridge,
  #resultStep .result-report-header,
  #resultStep .result-symbols,
  #resultStep .result-free-divider {
    background: Canvas;
  }

  #resultStep .premium-bridge,
  #resultStep .premium-bridge h2,
  #resultStep .premium-price-block strong,
  #resultStep .premium-reassurance,
  #resultStep .premium-prototype-note {
    color: CanvasText;
  }

  #resultStep .premium-question {
    border-color: CanvasText;
    color: CanvasText;
    background: Canvas;
    box-shadow: none;
  }

  #resultStep .premium-question h3,
  #resultStep .premium-question p,
  #resultStep .premium-value-proposition,
  #resultStep .premium-benefit-copy strong,
  #resultStep .premium-benefit-copy span {
    color: CanvasText;
  }

  #resultStep img[aria-hidden="true"] {
    display: none;
  }
}

/* P15 R08E-02 BLOCK 05: styles-r06.css; SOURCE_SHA256=879FF09F3A8564FF37C38CE12F6DBACE5B3990F26E3327ECDA357F30E3CF25EB */
/* R06A–R06E — isolated local paid wizard only. */

body[data-visual="r04"].flow-active.wizard-active {
  background-color: #071231;
}

body[data-visual="r04"].flow-active.wizard-active::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  background-image:
    linear-gradient(180deg, rgba(4, 10, 31, 0.16), rgba(7, 18, 49, 0.62)),
    url("assets/r05-step3/bg-step3-desktop.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  content: "";
  pointer-events: none;
}

body[data-visual="r04"].flow-active.wizard-active #main {
  position: relative;
  z-index: 1;
  background: transparent;
}

#paidWizardScreen {
  width: min(880px, calc(100% - 2rem));
  min-height: calc(100vh - 8rem);
  margin: 0 auto;
  padding: clamp(1.25rem, 4vw, 3rem) 0 clamp(3rem, 8vw, 6rem);
  color: #172d49;
}

#paidWizardScreen .paid-wizard-shell {
  overflow: hidden;
  border: 1px solid rgba(225, 230, 244, 0.9);
  border-radius: 24px;
  background: #fffdfa;
  box-shadow: 0 30px 76px rgba(2, 7, 28, 0.4);
}

#paidWizardScreen .paid-wizard-topbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.72fr);
  gap: 1.25rem;
  align-items: center;
  padding: 1rem clamp(1.1rem, 4vw, 2.4rem);
  border-bottom: 1px solid #dddff0;
  background:
    radial-gradient(circle at 8% 0%, rgba(238, 203, 255, 0.28), transparent 18rem),
    linear-gradient(135deg, #1d2557, #35265f 58%, #202c63);
  color: #fff;
}

#paidWizardScreen .paid-wizard-branding,
#paidWizardScreen .paid-wizard-kicker,
#paidWizardScreen .paid-wizard-progress {
  display: flex;
  align-items: center;
}

#paidWizardScreen .paid-wizard-branding {
  gap: 0.75rem;
  min-width: 0;
}

#paidWizardScreen .paid-wizard-kicker {
  gap: 0.45rem;
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

#paidWizardScreen .paid-wizard-kicker img {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

#paidWizardScreen .paid-wizard-price {
  padding-left: 0.75rem;
  border-left: 1px solid rgba(255, 255, 255, 0.3);
  color: #f6dda2;
  font-size: 0.8rem;
  font-weight: 800;
  white-space: nowrap;
}

#paidWizardScreen .paid-wizard-progress {
  display: grid;
  gap: 0.42rem;
  color: #ebeaff;
  font-size: 0.83rem;
  font-weight: 750;
}

#paidWizardScreen .paid-wizard-progress-track {
  display: block;
  overflow: hidden;
  width: 100%;
  height: 5px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
}

#paidWizardScreen .paid-wizard-progress-track > span {
  display: block;
  width: 50%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f1c66f, #f18bb7);
  transition: width 180ms ease;
}

#paidWizardScreen .paid-wizard-card {
  margin: 0;
  padding: clamp(1.35rem, 4.5vw, 3.25rem) clamp(1.15rem, 5.5vw, 4rem) clamp(1.5rem, 5vw, 3.4rem);
}

#paidWizardScreen .paid-wizard-step {
  display: grid;
  gap: clamp(1.15rem, 3vw, 1.65rem);
}

#paidWizardScreen .paid-wizard-heading {
  max-width: 650px;
}

#paidWizardScreen .paid-wizard-heading h1 {
  max-width: none;
  margin: 0;
  color: #132d4e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 5vw, 3.05rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

#paidWizardScreen .paid-wizard-heading p {
  max-width: 620px;
  margin: 0.8rem 0 0;
  color: #52667c;
  font-size: 1rem;
  line-height: 1.62;
}

#paidWizardScreen h2,
#paidWizardScreen legend,
#paidWizardScreen label:not(.paid-wizard-consent) {
  color: #173658;
}

#paidWizardScreen h2 {
  margin: 0.18rem 0 0;
  font-family: inherit;
  font-size: 1.14rem;
  line-height: 1.3;
}

#paidWizardScreen .paid-wizard-section-label {
  color: #726594;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

#paidWizardScreen .paid-wizard-recap,
#paidWizardScreen .paid-wizard-feelings,
#paidWizardScreen .paid-wizard-question,
#paidWizardScreen .paid-wizard-field,
#paidWizardScreen .paid-wizard-age-group,
#paidWizardScreen .paid-wizard-gender {
  border: 1px solid #dce5f0;
  border-radius: 16px;
}

#paidWizardScreen .paid-wizard-recap {
  padding: 1rem 1.05rem;
  background: linear-gradient(145deg, #f2f8fc, #f4fbfa);
  box-shadow: 0 8px 22px rgba(24, 61, 94, 0.06);
}

#paidWizardScreen .paid-wizard-section-heading {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
}

#paidWizardScreen .paid-wizard-memory {
  color: #64788c;
  font-size: 0.72rem;
  white-space: nowrap;
}

#paidWizardScreen .paid-wizard-dream-preview {
  display: -webkit-box;
  overflow: hidden;
  margin: 0.78rem 0 0;
  color: #334d66;
  line-height: 1.6;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

#paidWizardScreen .paid-wizard-dream-preview.is-expanded {
  display: block;
  max-height: 21rem;
  overflow: auto;
  -webkit-line-clamp: unset;
}

#paidWizardScreen .paid-wizard-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.2rem 1rem;
  margin-top: 0.65rem;
}

#paidWizardScreen .paid-wizard-inline-actions .text-link {
  min-height: 44px;
  padding-block: 0.55rem;
}

#paidWizardScreen .paid-wizard-dream-editor {
  margin-top: 0.8rem;
  padding-top: 0.9rem;
  border-top: 1px solid #d9e4ef;
}

#paidWizardScreen .paid-wizard-dream-editor label,
#paidWizardScreen .paid-wizard-question > label,
#paidWizardScreen .paid-wizard-field > label,
#paidWizardScreen .paid-wizard-age-group legend,
#paidWizardScreen .paid-wizard-gender legend {
  display: block;
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.35;
}

#paidWizardScreen textarea,
#paidWizardScreen input[type="email"],
#paidWizardScreen input[type="text"] {
  width: 100%;
  min-height: 48px;
  margin-top: 0.55rem;
  padding: 0.78rem 0.9rem;
  border: 1px solid #aebfd0;
  border-radius: 12px;
  color: #172d49;
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(20, 43, 69, 0.035);
}

#paidWizardScreen textarea {
  min-height: 7.5rem;
  max-height: min(22rem, 46vh);
  line-height: 1.55;
  resize: vertical;
}

#paidWizardScreen textarea:focus,
#paidWizardScreen input[type="email"]:focus,
#paidWizardScreen input[type="text"]:focus {
  border-color: #806db6;
  outline: 3px solid rgba(128, 109, 182, 0.2);
  outline-offset: 1px;
}

#paidWizardScreen [aria-invalid="true"] {
  border-color: #b63b4d;
  outline-color: rgba(182, 59, 77, 0.18);
}

#paidWizardScreen .paid-wizard-dream-editor .button {
  margin-top: 0.7rem;
}

#paidWizardScreen .paid-wizard-feelings {
  padding: 0.95rem 1.05rem;
  background: linear-gradient(145deg, #fffaf8, #faf7ff);
}

#paidWizardScreen .paid-wizard-feelings-overview {
  display: flex;
  gap: 0.8rem 1rem;
  align-items: flex-end;
  justify-content: space-between;
}

#paidWizardScreen .paid-wizard-feelings-summary {
  margin: 0.55rem 0 0;
  color: #392f67;
  font-weight: 800;
  overflow-wrap: normal;
  word-break: normal;
}

#paidWizardScreen .paid-wizard-feelings-overview > .text-link {
  flex: 0 0 auto;
  min-height: 44px;
  padding-block: 0.55rem;
}

#paidWizardScreen .paid-wizard-feelings-editor {
  margin-top: 0.75rem;
  padding-top: 0.9rem;
  border-top: 1px solid #eadde7;
}

#paidWizardScreen .paid-wizard-feelings-editor fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

#paidWizardScreen .paid-wizard-feelings-editor legend {
  padding: 0;
  font-size: 0.95rem;
  font-weight: 800;
}

#paidWizardScreen .paid-wizard-emotion-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.46rem;
  margin-top: 0.72rem;
}

#paidWizardScreen .paid-wizard-emotion-grid-nuanced {
  margin-top: 0.5rem;
}

#paidWizardScreen .paid-wizard-emotion-grid label,
#paidWizardScreen .paid-wizard-unable-feeling {
  position: relative;
  display: flex;
  flex: 0 1 auto;
  min-width: 7.1rem;
  max-width: 100%;
  min-height: 44px;
  gap: 0.42rem;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.72rem;
  border: 1px solid #dfcfd5;
  border-radius: 999px;
  color: #173658;
  background: linear-gradient(145deg, #fffefd 0%, #fff7f9 100%);
  font-size: 0.88rem;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
  cursor: pointer;
}

#paidWizardScreen .paid-wizard-emotion-grid label > span,
#paidWizardScreen .paid-wizard-unable-feeling > span {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

#paidWizardScreen .paid-wizard-emotion-grid label:has(input:checked),
#paidWizardScreen .paid-wizard-unable-feeling:has(input:checked) {
  border-color: #d85887;
  color: #2e2455;
  background: linear-gradient(145deg, #fff0f5 0%, #f1eaff 100%);
  box-shadow: inset 0 0 0 1px rgba(216, 88, 135, 0.18);
}

#paidWizardScreen .paid-wizard-emotion-grid label:has(input:focus-visible),
#paidWizardScreen .paid-wizard-unable-feeling:has(input:focus-visible) {
  outline: 3px solid rgba(128, 109, 182, 0.32);
  outline-offset: 2px;
}

#paidWizardScreen .paid-wizard-emotion-grid input,
#paidWizardScreen .paid-wizard-unable-feeling input {
  position: relative;
  display: grid;
  flex: 0 0 auto;
  width: 1.05rem;
  height: 1.05rem;
  margin: 0;
  appearance: none;
  place-items: center;
  border: 1.5px solid #8ca0af;
  border-radius: 4px;
  background: #fff;
}

#paidWizardScreen .paid-wizard-emotion-grid input:checked,
#paidWizardScreen .paid-wizard-unable-feeling input:checked {
  border-color: #d52d69;
  background: #d52d69;
}

#paidWizardScreen .paid-wizard-emotion-grid input:checked::before,
#paidWizardScreen .paid-wizard-unable-feeling input:checked::before {
  width: 0.28rem;
  height: 0.52rem;
  content: "";
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: translateY(-0.06rem) rotate(45deg);
}

#paidWizardScreen .paid-wizard-feelings-disclosure {
  min-height: 44px;
  margin-top: 0.28rem;
  padding-block: 0.55rem;
}

#paidWizardScreen .paid-wizard-feeling-extra-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.75rem;
  align-items: center;
  margin-top: 0.62rem;
}

#paidWizardScreen .paid-wizard-unable-feeling {
  justify-content: flex-start;
  width: fit-content;
}

#paidWizardScreen .paid-wizard-feeling-extra-actions > .text-link {
  min-height: 44px;
  padding-block: 0.55rem;
}

#paidWizardScreen .paid-wizard-custom-feeling {
  margin-top: 0.65rem;
  padding: 0.72rem;
  border: 1px solid #d5dbea;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
}

#paidWizardScreen .paid-wizard-custom-feeling > label {
  display: block;
  font-size: 0.82rem;
  font-weight: 800;
}

#paidWizardScreen .paid-wizard-custom-feeling > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.45rem;
  align-items: end;
}

#paidWizardScreen .paid-wizard-custom-feeling .button {
  min-height: 48px;
}

#paidWizardScreen .paid-wizard-feelings-editor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.8rem;
  align-items: center;
  margin-top: 0.75rem;
}

#paidWizardScreen .paid-wizard-feelings-editor-actions .button,
#paidWizardScreen .paid-wizard-feelings-editor-actions .text-link {
  min-height: 44px;
}

#paidWizardScreen .paid-wizard-feelings-editor-actions .text-link {
  padding-block: 0.55rem;
}

#paidWizardScreen .field-help,
#paidWizardScreen .paid-wizard-field-meta,
#paidWizardScreen .paid-wizard-legal-note {
  color: #607286;
  font-size: 0.82rem;
  line-height: 1.48;
}

#paidWizardScreen .field-help {
  margin: 0.35rem 0 0;
}

#paidWizardScreen .paid-wizard-question {
  padding: 1.05rem;
  background: linear-gradient(145deg, #fffdf9, #fbf8ff);
}

#paidWizardScreen .paid-wizard-field-meta {
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-top: 0.45rem;
}

#paidWizardScreen .paid-wizard-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
  align-items: center;
}

#paidWizardScreen .paid-wizard-actions .button-primary {
  min-width: min(100%, 18rem);
}

#paidWizardScreen .paid-wizard-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

#paidWizardScreen .paid-wizard-field,
#paidWizardScreen .paid-wizard-age-group,
#paidWizardScreen .paid-wizard-gender {
  margin: 0;
  padding: 1rem;
  background: #fff;
}

#paidWizardScreen .paid-wizard-age-group,
#paidWizardScreen .paid-wizard-gender,
#paidWizardScreen .paid-wizard-consent,
#paidWizardScreen .paid-wizard-legal-note,
#paidWizardScreen .paid-wizard-order {
  grid-column: 1 / -1;
}

#paidWizardScreen .paid-wizard-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
  margin-top: 0.75rem;
}

#paidWizardScreen .paid-wizard-choice-grid label {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 46px;
  cursor: pointer;
}

#paidWizardScreen .paid-wizard-choice-grid input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

#paidWizardScreen .paid-wizard-choice-grid span {
  display: grid;
  width: 100%;
  min-height: 46px;
  padding: 0.6rem 0.75rem;
  place-items: center;
  border: 1px solid #c9d3df;
  border-radius: 12px;
  color: #314b68;
  background: #f9fbfd;
  font-weight: 750;
  text-align: center;
}

#paidWizardScreen .paid-wizard-choice-grid input:checked + span {
  border-color: #806db6;
  color: #342563;
  background: linear-gradient(145deg, #ede9ff, #f8edfa);
  box-shadow: inset 0 0 0 1px rgba(128, 109, 182, 0.22);
}

#paidWizardScreen .paid-wizard-choice-grid input:checked + span::before {
  margin-right: 0.35rem;
  content: "✓";
  color: #6c539f;
  font-weight: 900;
}

#paidWizardScreen .paid-wizard-choice-grid input:focus-visible + span {
  outline: 3px solid rgba(128, 109, 182, 0.32);
  outline-offset: 2px;
}

#paidWizardScreen .paid-wizard-consent {
  display: grid;
  grid-template-columns: 1.45rem minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  min-height: 48px;
  padding: 1rem;
  border: 1px solid #ded5bd;
  border-radius: 14px;
  color: #3d4652;
  background: #fffaf0;
  cursor: pointer;
  line-height: 1.5;
}

#paidWizardScreen .paid-wizard-consent input {
  width: 1.25rem;
  height: 1.25rem;
  margin: 0.12rem 0 0;
  accent-color: #74549e;
}

#paidWizardScreen .paid-wizard-consent:focus-within {
  outline: 3px solid rgba(128, 109, 182, 0.24);
  outline-offset: 2px;
}

#paidWizardScreen .paid-wizard-legal-note {
  margin: -0.55rem 0 0;
  padding-inline: 0.2rem;
}

#paidWizardScreen .field-error {
  margin: 0.5rem 0 0;
  color: #a62c42;
  font-size: 0.84rem;
  font-weight: 750;
}

#paidWizardScreen .paid-wizard-order {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.85rem 1.25rem;
  align-items: center;
  padding: 1.15rem;
  border: 1px solid #e2c77f;
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(243, 205, 119, 0.25), transparent 12rem),
    linear-gradient(145deg, #25205c, #33205d 58%, #1f2b62);
  color: #fff;
  box-shadow: 0 14px 30px rgba(28, 22, 76, 0.2);
}

#paidWizardScreen .paid-wizard-order h2 {
  color: #fff;
}

#paidWizardScreen .paid-wizard-order p {
  margin: 0.3rem 0 0;
  color: #e6e2f5;
  font-size: 0.88rem;
}

#paidWizardScreen .paid-wizard-order .paid-wizard-delivery {
  max-width: 31rem;
  margin-top: 0.42rem;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.76rem;
}

#paidWizardScreen .paid-wizard-order > strong {
  color: #f4d48f;
  font-size: 2rem;
  line-height: 1;
}

#paidWizardScreen .paid-wizard-order .button {
  grid-column: 1 / -1;
  width: 100%;
}

#paidWizardScreen .paid-wizard-cart-status {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0.8rem;
  border: 1px solid rgba(181, 232, 212, 0.5);
  border-radius: 12px;
  color: #e9fff7;
  background: rgba(21, 107, 83, 0.34);
  line-height: 1.5;
}

#paidWizardScreen .paid-wizard-actions-back {
  margin-top: -0.5rem;
}

#paidWizardScreen .paid-wizard-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

#paidWizardScreen .paid-wizard-qa {
  margin: 0 clamp(1.15rem, 5.5vw, 4rem) 1.5rem;
  padding: 0.75rem 0.9rem;
  border: 1px dashed #c7c9d7;
  border-radius: 12px;
  color: #576476;
  background: #f8f8fb;
  font-size: 0.8rem;
}

#paidWizardScreen .paid-wizard-contract-inspector pre {
  overflow: auto;
  max-height: 28rem;
  margin: 0.8rem 0 0;
  padding: 0.9rem;
  border: 1px solid #d9dceb;
  border-radius: 12px;
  background: #111a31;
  color: #f7f3ff;
  font: 0.76rem/1.5 Consolas, "Courier New", monospace;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

#paidWizardScreen.show-contract-inspector .paid-wizard-topbar,
#paidWizardScreen.show-contract-inspector .paid-wizard-card,
#paidWizardScreen.show-contract-inspector #paidWizardQaTools {
  display: none;
}

#paidWizardScreen.show-contract-inspector .paid-wizard-contract-inspector {
  margin-top: clamp(1rem, 4vw, 2.5rem);
}

#paidWizardScreen .paid-wizard-qa summary {
  min-height: 32px;
  cursor: pointer;
  font-weight: 800;
}

#paidWizardScreen .paid-wizard-qa label {
  display: flex;
  gap: 0.55rem;
  align-items: center;
  min-height: 44px;
  margin-top: 0.55rem;
}

#paidWizardScreen .paid-wizard-qa p {
  margin: 0.4rem 0 0;
  line-height: 1.5;
}

@media (max-width: 700px) {
  body[data-visual="r04"].flow-active.wizard-active::before {
    background-image:
      linear-gradient(180deg, rgba(4, 10, 31, 0.2), rgba(7, 18, 49, 0.68)),
      url("assets/r05-step3/bg-step3-mobile.png");
  }

  #paidWizardScreen {
    width: calc(100% - 0.75rem);
    min-height: 100vh;
    padding: 0.65rem 0 2.5rem;
  }

  #paidWizardScreen .paid-wizard-shell {
    border-radius: 18px;
  }

  #paidWizardScreen .paid-wizard-topbar {
    grid-template-columns: 1fr;
    gap: 0.65rem;
    padding: 0.75rem 0.9rem;
  }

  #paidWizardScreen .paid-wizard-branding {
    justify-content: space-between;
  }

  #paidWizardScreen .paid-wizard-kicker {
    font-size: 0.72rem;
  }

  #paidWizardScreen .paid-wizard-price {
    font-size: 0.72rem;
  }

  #paidWizardScreen .paid-wizard-card {
    padding: 1.2rem 0.95rem 1.35rem;
  }

  #paidWizardScreen .paid-wizard-heading h1 {
    font-size: clamp(1.85rem, 9.5vw, 2.45rem);
  }

  #paidWizardScreen .paid-wizard-heading p {
    margin-top: 0.58rem;
    font-size: 0.93rem;
    line-height: 1.52;
  }

  #paidWizardScreen .paid-wizard-step {
    gap: 1rem;
  }

  #paidWizardScreen .paid-wizard-memory {
    white-space: normal;
    text-align: right;
  }

  #paidWizardScreen .paid-wizard-fields {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  #paidWizardScreen .paid-wizard-feelings-overview {
    display: block;
  }

  #paidWizardScreen .paid-wizard-feelings-overview > .text-link {
    margin-top: 0.2rem;
  }

  #paidWizardScreen .paid-wizard-emotion-grid label {
    min-width: 0;
    font-size: 0.875rem;
  }

  #paidWizardScreen .paid-wizard-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #paidWizardScreen .paid-wizard-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  #paidWizardScreen .paid-wizard-actions .button {
    width: 100%;
  }

  #paidWizardScreen .paid-wizard-actions .button-primary {
    min-width: 0;
  }

  #paidWizardScreen .paid-wizard-order {
    grid-template-columns: 1fr auto;
  }

  #paidWizardScreen .paid-wizard-order > strong {
    font-size: 1.8rem;
  }

  #paidWizardScreen .paid-wizard-qa {
    margin-inline: 0.95rem;
  }
}

@media (max-width: 350px) {
  #paidWizardScreen {
    width: calc(100% - 0.4rem);
  }

  #paidWizardScreen .paid-wizard-card {
    padding-inline: 0.75rem;
  }

  #paidWizardScreen .paid-wizard-branding {
    align-items: flex-start;
  }

  #paidWizardScreen .paid-wizard-price {
    max-width: 6.8rem;
    white-space: normal;
    text-align: right;
  }

  #paidWizardScreen .paid-wizard-section-heading {
    display: block;
  }

  #paidWizardScreen .paid-wizard-memory {
    display: block;
    margin-top: 0.25rem;
    text-align: left;
  }

  #paidWizardScreen .paid-wizard-field-meta {
    display: block;
  }

  #paidWizardScreen .paid-wizard-field-meta output {
    display: block;
    margin-top: 0.2rem;
  }

  #paidWizardScreen .paid-wizard-custom-feeling > div {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  #paidWizardScreen .paid-wizard-progress-track > span {
    transition: none;
  }
}

@media (forced-colors: active) {
  body[data-visual="r04"].flow-active.wizard-active::before {
    display: none;
  }

  #paidWizardScreen .paid-wizard-shell,
  #paidWizardScreen .paid-wizard-topbar,
  #paidWizardScreen .paid-wizard-recap,
  #paidWizardScreen .paid-wizard-feelings,
  #paidWizardScreen .paid-wizard-question,
  #paidWizardScreen .paid-wizard-feelings-editor,
  #paidWizardScreen .paid-wizard-custom-feeling,
  #paidWizardScreen .paid-wizard-order {
    border-color: CanvasText;
    color: CanvasText;
    background: Canvas;
    box-shadow: none;
  }

  #paidWizardScreen .paid-wizard-choice-grid input:checked + span::before {
    color: CanvasText;
  }

  #paidWizardScreen .paid-wizard-emotion-grid input,
  #paidWizardScreen .paid-wizard-unable-feeling input {
    appearance: auto;
    border: initial;
    background: Canvas;
  }

  #paidWizardScreen .paid-wizard-emotion-grid input::before,
  #paidWizardScreen .paid-wizard-unable-feeling input::before {
    display: none;
  }
}

/* P15 R08E-02 BLOCK 06: styles-r07.css; SOURCE_SHA256=09A893102B8A3D4E940BDB4B0E20956DF5BAD9F666631BA8465693A115CB7C8A */
/* R07A — isolated local cart, credit and payment recap. */

body[data-visual="r04"].flow-active.cart-active {
  background-color: #071231;
}

body[data-visual="r04"].flow-active.cart-active::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  background-image:
    radial-gradient(circle at 50% 5%, rgba(104, 83, 158, 0.24), transparent 30rem),
    linear-gradient(180deg, rgba(4, 10, 31, 0.14), rgba(7, 18, 49, 0.68)),
    url("assets/r05-step3/bg-step3-desktop.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  content: "";
  pointer-events: none;
}

body[data-visual="r04"].flow-active.cart-active #main {
  position: relative;
  z-index: 1;
  background: transparent;
}

#cartScreen {
  width: min(720px, calc(100% - 2rem));
  min-height: calc(100vh - 8rem);
  margin: 0 auto;
  padding: clamp(1.25rem, 4vw, 3rem) 0 clamp(3rem, 8vw, 6rem);
  color: #172d49;
}

#cartScreen .cart-shell {
  overflow: hidden;
  border: 1px solid rgba(225, 230, 244, 0.9);
  border-radius: 24px;
  background: #fffdfa;
  box-shadow: 0 30px 76px rgba(2, 7, 28, 0.4);
}

#cartScreen .cart-heading {
  padding: clamp(1.5rem, 5vw, 2.7rem) clamp(1.2rem, 6vw, 3.5rem) clamp(1.35rem, 4vw, 2.1rem);
  border-bottom: 1px solid #dddff0;
  background:
    radial-gradient(circle at 8% 0%, rgba(238, 203, 255, 0.28), transparent 18rem),
    linear-gradient(135deg, #1d2557, #35265f 58%, #202c63);
  color: #fff;
}

#cartScreen .cart-heading h1 {
  max-width: 11em;
  margin: 0.35rem 0 0.65rem;
  color: #fff;
  font-size: clamp(2.05rem, 7vw, 3.45rem);
}

#cartScreen .cart-heading p {
  max-width: 35rem;
  margin: 0;
  color: #e7e8f9;
  font-size: 0.95rem;
}

#cartScreen .cart-kicker,
#cartScreen .cart-label,
.payment-recap-dialog .cart-label {
  color: #ad7309;
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

#cartScreen .cart-kicker {
  color: #f1d38f;
}

#cartScreen .cart-product,
#cartScreen .cart-credit,
#cartScreen .cart-summary {
  margin: 1rem clamp(1rem, 5vw, 2.65rem) 0;
  border: 1px solid #dedee9;
  border-radius: 18px;
  background: #fff;
}

#cartScreen .cart-product {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: center;
  padding: 1.1rem;
}

#cartScreen .cart-product-mark {
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  border: 1px solid #ead49f;
  border-radius: 15px;
  background: #fff9ea;
}

#cartScreen .cart-product h2,
#cartScreen .cart-credit h2,
#cartScreen .cart-summary h2 {
  margin: 0.18rem 0 0.32rem;
  color: #172d49;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 1.05rem;
  letter-spacing: 0;
}

#cartScreen .cart-product p,
#cartScreen .cart-credit p {
  margin: 0;
  color: #607289;
  font-size: 0.83rem;
}

#cartScreen .cart-product > strong {
  color: #1b2d4e;
  font-size: 1.05rem;
  white-space: nowrap;
}

#cartScreen .cart-credit {
  display: grid;
  gap: 0.85rem;
  padding: 1.1rem;
  border-color: #e4cd94;
  background: linear-gradient(145deg, #fffcf4, #fff8e8);
}

#cartScreen .cart-credit-toggle {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.7rem;
  align-items: center;
  min-height: 48px;
  padding: 0.65rem 0.75rem;
  border: 1px solid #dbc68f;
  border-radius: 14px;
  background: #fff;
}

#cartScreen .cart-credit-toggle input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

#cartScreen .cart-credit-toggle > span {
  position: relative;
  width: 46px;
  height: 26px;
  border: 2px solid #8a98a9;
  border-radius: 999px;
  background: #e9edf1;
  transition: background-color 150ms ease, border-color 150ms ease;
}

#cartScreen .cart-credit-toggle > span::after {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 5px rgba(15, 31, 53, 0.24);
  content: "";
  transition: transform 150ms ease;
}

#cartScreen .cart-credit-toggle input:checked + span {
  border-color: #b17205;
  background: #c88b18;
}

#cartScreen .cart-credit-toggle input:checked + span::after {
  transform: translateX(20px);
}

#cartScreen .cart-credit-toggle input:focus-visible + span {
  outline: 3px solid rgba(12, 110, 189, 0.28);
  outline-offset: 3px;
}

#cartScreen .cart-credit-toggle strong {
  color: #263b54;
  font-size: 0.91rem;
}

#cartScreen .cart-credit-remaining {
  color: #69501b;
  font-weight: 700;
}

#cartScreen .cart-summary {
  margin-bottom: clamp(1rem, 5vw, 2.65rem);
  padding: clamp(1.1rem, 4vw, 1.6rem);
}

#cartScreen .cart-totals,
#cartScreen .cart-delivery-summary,
.payment-recap-dialog .payment-recap-list {
  margin: 0;
}

#cartScreen .cart-totals > div,
#cartScreen .cart-delivery-summary > div,
.payment-recap-dialog .payment-recap-list > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  gap: 1rem;
  padding: 0.62rem 0;
  border-bottom: 1px solid #e7e8ed;
}

#cartScreen dt,
.payment-recap-dialog dt {
  color: #607289;
}

#cartScreen dd,
.payment-recap-dialog dd {
  min-width: 0;
  margin: 0;
  color: #1b2d4e;
  font-weight: 780;
  text-align: right;
  overflow-wrap: anywhere;
}

#cartScreen .cart-total-row {
  align-items: baseline;
  margin-top: 0.15rem;
  border-bottom: 0;
}

#cartScreen .cart-total-row dt {
  color: #172d49;
  font-weight: 850;
}

#cartScreen .cart-total-row dd {
  color: #c62257;
  font-size: clamp(1.55rem, 6vw, 2.05rem);
}

#cartScreen .cart-delivery-summary {
  margin-top: 0.45rem;
  padding-top: 0.45rem;
  border-top: 2px solid #e4e5eb;
  font-size: 0.91rem;
}

#cartScreen .cart-delivery-summary > div:last-child,
.payment-recap-dialog .payment-recap-list > div:last-child {
  border-bottom: 0;
}

#cartScreen .cart-actions,
.payment-recap-dialog .payment-recap-actions {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
}

#cartScreen .cart-actions .button,
.payment-recap-dialog .payment-recap-actions .button {
  width: 100%;
}

#cartScreen .cart-qa {
  margin: 0 clamp(1rem, 5vw, 2.65rem) 1.5rem;
  padding: 0.85rem;
  border: 1px dashed #bea45d;
  border-radius: 14px;
  background: #fff9ea;
  font-size: 0.82rem;
}

#cartScreen .cart-qa p {
  margin: 0.5rem 0;
}

#cartScreen .cart-qa-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

#cartScreen .cart-qa-buttons button {
  padding: 0.45rem 0.65rem;
  border: 1px solid #cbb675;
  border-radius: 999px;
  background: #fff;
}

.payment-recap-dialog {
  width: min(560px, calc(100% - 1rem));
  border: 1px solid rgba(231, 219, 185, 0.9);
  border-radius: 22px;
}

.payment-recap-dialog::backdrop {
  background: rgba(3, 10, 30, 0.75);
}

.payment-recap-dialog .payment-recap-frame {
  max-height: min(90dvh, 760px);
  padding: clamp(1.15rem, 5vw, 2rem);
  background:
    radial-gradient(circle at 0 0, rgba(255, 242, 210, 0.62), transparent 17rem),
    #fffdfa;
}

.payment-recap-dialog h2 {
  margin-top: 0.4rem;
  color: #172d49;
  font-size: clamp(1.7rem, 7vw, 2.35rem);
}

.payment-recap-dialog .payment-recap-intro,
.payment-recap-dialog .payment-recap-delivery,
.payment-recap-dialog .payment-recap-prototype-note {
  color: #607289;
  font-size: 0.88rem;
}

.payment-recap-dialog .payment-recap-list {
  margin: 0.85rem 0;
  padding: 0.35rem 0.85rem;
  border: 1px solid #dedee9;
  border-radius: 15px;
  background: #fff;
  font-size: 0.92rem;
}

.payment-recap-dialog .payment-recap-total dt,
.payment-recap-dialog .payment-recap-total dd {
  color: #c62257;
  font-size: 1.12rem;
  font-weight: 850;
}

.payment-recap-dialog .payment-recap-full-credit,
.payment-recap-dialog .payment-recap-status {
  margin: 0.85rem 0;
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  color: #5f4918;
  background: #fff2c8;
  font-size: 0.9rem;
  font-weight: 750;
}

.payment-recap-dialog .payment-recap-status {
  color: #154a38;
  background: #e7f6ef;
}

.payment-recap-dialog .payment-recap-prototype-note {
  margin: 0.8rem 0 0;
  text-align: center;
}

@media (max-width: 700px) {
  body[data-visual="r04"].flow-active.cart-active::before {
    background-image:
      linear-gradient(180deg, rgba(4, 10, 31, 0.08), rgba(7, 18, 49, 0.7)),
      url("assets/r05-step3/bg-step3-mobile.png");
  }

  #cartScreen {
    width: min(100% - 1rem, 720px);
    padding: 0.6rem 0 2.5rem;
  }

  #cartScreen .cart-shell {
    border-radius: 20px;
  }

  #cartScreen .cart-product,
  #cartScreen .cart-credit,
  #cartScreen .cart-summary {
    margin-inline: 0.7rem;
  }
}

@media (max-width: 350px) {
  #cartScreen {
    width: calc(100% - 0.5rem);
    padding-top: 0.25rem;
  }

  #cartScreen .cart-heading {
    padding: 1.15rem 1rem;
  }

  #cartScreen .cart-heading h1 {
    font-size: 1.9rem;
  }

  #cartScreen .cart-product {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  #cartScreen .cart-product-mark {
    display: none;
  }

  #cartScreen .cart-summary,
  #cartScreen .cart-credit {
    padding: 0.9rem;
  }

  .payment-recap-dialog {
    width: calc(100% - 0.5rem);
  }

  .payment-recap-dialog .payment-recap-frame {
    max-height: calc(100dvh - 0.5rem);
    padding: 0.85rem;
  }

  .payment-recap-dialog h2 {
    margin-bottom: 0.35rem;
    font-size: 1.45rem;
  }

  .payment-recap-dialog .payment-recap-intro {
    margin-bottom: 0.45rem;
    padding-right: 2.2rem;
    font-size: 0.79rem;
  }

  .payment-recap-dialog .payment-recap-list {
    margin: 0.45rem 0;
    padding: 0.15rem 0.65rem;
    font-size: 0.82rem;
  }

  .payment-recap-dialog .payment-recap-list > div {
    grid-template-columns: minmax(4.25rem, 0.68fr) minmax(0, 1fr);
    gap: 0.45rem;
    padding: 0.38rem 0;
  }

  .payment-recap-dialog .payment-recap-delivery {
    margin: 0.5rem 0;
    font-size: 0.78rem;
  }

  .payment-recap-dialog .payment-recap-full-credit,
  .payment-recap-dialog .payment-recap-status {
    margin: 0.5rem 0;
    padding: 0.55rem 0.65rem;
    font-size: 0.8rem;
  }

  .payment-recap-dialog .payment-recap-actions {
    gap: 0.4rem;
    margin-top: 0.5rem;
  }

  .payment-recap-dialog .payment-recap-actions .button {
    min-height: 44px;
    padding-block: 0.5rem;
    font-size: 0.86rem;
  }

  .payment-recap-dialog .payment-recap-prototype-note {
    display: none;
  }
}

@media (forced-colors: active) {
  #cartScreen .cart-shell,
  #cartScreen .cart-product,
  #cartScreen .cart-credit,
  #cartScreen .cart-summary,
  .payment-recap-dialog {
    border: 2px solid CanvasText;
  }
}

/* P15 R08E-02 BLOCK 07: styles-r07y.css; SOURCE_SHA256=B3E5AAE8CADC48629244609437A71348433A8CB7514EDD1363E171AAC4F4BCD6 */
/* R07Y: technical containment only. The approved P15 visual layers remain authoritative. */

.paid-wizard-consent a {
  color: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

.paid-wizard-consent a:focus-visible {
  outline: 3px solid rgba(229, 67, 127, 0.38);
  outline-offset: 3px;
  border-radius: 3px;
}

@media (max-width: 430px) {
  #dreamForm,
  #dreamForm .hero-actions,
  #dreamForm .input-tools {
    min-width: 0;
    max-width: 100%;
  }

  #dreamForm .input-tools > .button,
  #dreamForm .hero-actions > .button {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
  }

  #dreamForm .dictation-button .dictation-label {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}


/* P15 R08E-02 BLOCK 08: styles-r07y1.css; SOURCE_SHA256=721EBD58FFF1603A94F5727B7111E032FE80EC5B51F12ECB90E1813E91B1F298 */
/* R07Y1: narrow product polish layered over the frozen R07Y design. */

@media (max-width: 430px) {
  .hero-form-column,
  #dreamForm {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  #dreamForm .hero-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  #dreamForm .input-tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  #dreamForm .input-tools > .button,
  #dreamForm #beginDreamButton {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-inline: 0;
    transform: none;
  }

  #dreamForm .input-tools > .button,
  #dreamForm .dictation-label {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  #dreamForm .input-tools > .button {
    overflow: hidden;
  }

  #dreamForm #beginDreamButton {
    grid-column: 1 / -1;
  }
}

@media (min-width: 701px) {
  #paidWizardStep2 .paid-wizard-field {
    display: grid;
    grid-template-rows: auto minmax(2.5rem, auto) auto auto;
    align-content: start;
  }

  #paidWizardStep2 .paid-wizard-field > .field-help {
    min-height: 2.5rem;
  }

  #paidWizardStep2 .paid-wizard-field > input {
    align-self: end;
  }
}

/* P15 R08E-02 BLOCK 09: styles-r07y2.css; SOURCE_SHA256=2AA1A1020E74850CF4DC12A229FDDBFFEBD6105EE9F28E041438966D50270262 */
/* R07Y2: isolated mobile containment and adaptive paid-entry presentation. */

@media (max-width: 430px) {
  .hero-form-column,
  #dreamForm,
  #smallTextareaMount,
  #dreamShell,
  #dreamForm .hero-actions,
  #dreamForm .input-tools {
    box-sizing: border-box;
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
  }

  #dreamForm .hero-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
    overflow: visible;
  }

  #dreamForm .input-tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #dreamForm .input-tools > .button,
  #dreamForm #beginDreamButton {
    position: static;
    inset: auto;
    box-sizing: border-box;
    inline-size: 100% !important;
    min-inline-size: 0 !important;
    max-inline-size: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }

  #dreamForm .dictation-button,
  #dreamForm .dictation-label,
  #dreamForm #expandEditorButton,
  #dreamForm #beginDreamButton {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  #dreamForm .dictation-label {
    min-inline-size: 0;
  }

  #dreamForm #beginDreamButton {
    grid-column: 1 / -1;
    justify-self: stretch;
  }
}

.paid-wizard-screen[data-entry-mode="direct"] .paid-wizard-recap.is-direct-empty .paid-wizard-dream-preview,
.paid-wizard-screen[data-entry-mode="direct"] .paid-wizard-recap.is-direct-empty #paidWizardToggleDreamButton,
.paid-wizard-screen[data-entry-mode="direct"] .paid-wizard-recap.is-direct-empty #paidWizardEditDreamButton {
  display: none;
}

.paid-wizard-screen[data-entry-mode="direct"] .paid-wizard-recap.is-direct-empty .paid-wizard-dream-editor {
  margin-top: 0;
}

.paid-wizard-screen[data-entry-mode="direct"] #paidWizardDreamText {
  min-height: 10rem;
}

/* P15 R08E-02 BLOCK 10: styles-r07y3.css; SOURCE_SHA256=1FE85411C7684D38E52A1441DBC6356C215E729E6C045A31BA8E52583583BDA1 */
/* R07Y3: Step 1 action bar containment based on actual container width. */

#dreamForm,
#dreamForm .hero-actions,
#dreamForm .input-tools,
#dreamForm .hero-actions > *,
#dreamForm .input-tools > .button,
#dreamForm #beginDreamButton {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

#dreamForm .hero-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  width: 100%;
  align-items: stretch;
}

#dreamForm .input-tools {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
}

#dreamForm .input-tools > .button,
#dreamForm #beginDreamButton {
  position: static;
  inset: auto;
  width: 100%;
  margin-inline: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

#dreamForm .dictation-label {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

#dreamForm #beginDreamButton {
  justify-self: stretch;
}

/* P15 R08E-02 BLOCK 11: styles-r07y4.css; SOURCE_SHA256=95A484FCE28A6A2031176E307A6F17ED69881962C165FC4B820B7EE077C039A8 */
/* R07Y4: icon-only Step 1 dictation control; R07Y3 containment stays authoritative. */

#dreamForm .input-tools {
  grid-template-columns: 46px minmax(0, 1fr);
}

#dreamForm .input-tools > #dictationButton,
.editor-footer > #editorDictationButton {
  position: relative;
  box-sizing: border-box;
  inline-size: 46px !important;
  min-inline-size: 46px !important;
  max-inline-size: 46px !important;
  block-size: 46px;
  min-block-size: 46px;
  padding: 0;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  gap: 0;
  flex: 0 0 46px;
  overflow: visible;
  white-space: normal;
}

.dictation-button .dictation-label {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.dictation-button .demo-tag {
  display: none;
}

.dictation-button .tool-icon {
  inline-size: 19px;
  block-size: 19px;
  margin: 0;
}

.dictation-button:focus {
  outline: 3px solid rgba(237, 38, 104, 0.42);
  outline-offset: 3px;
}

.dictation-button.is-active {
  border-color: #ed2668;
  background: #fff2f7;
  box-shadow: 0 0 0 4px rgba(237, 38, 104, 0.16);
  animation: r07y4-dictation-pulse 1.8s ease-in-out infinite;
}

.dictation-button.is-active .tool-icon {
  color: #d91d5d;
}

@keyframes r07y4-dictation-pulse {
  0%, 100% {
    box-shadow: 0 0 0 4px rgba(237, 38, 104, 0.14);
  }
  50% {
    box-shadow: 0 0 0 7px rgba(237, 38, 104, 0.08);
  }
}

.dictation-mobile-helper {
  display: none;
  margin: -0.2rem 0 0;
  color: #48647f;
  font-size: 0.76rem;
  line-height: 1.35;
}

@media (min-width: 700px) {
  .dictation-button[data-tooltip]::after {
    content: attr(data-tooltip);
    position: absolute;
    z-index: 20;
    inset-block-end: calc(100% + 0.55rem);
    inset-inline-start: 50%;
    transform: translateX(-50%) translateY(0.2rem);
    max-inline-size: min(14rem, 70vw);
    padding: 0.38rem 0.55rem;
    border-radius: 0.45rem;
    background: #071633;
    color: #fff;
    box-shadow: 0 8px 20px rgba(5, 18, 49, 0.22);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease;
  }

  .dictation-button[data-tooltip]:hover::after,
  .dictation-button[data-tooltip]:focus::after,
  .dictation-button[data-tooltip].is-tooltip-open::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
  }
}

@media (max-width: 699px) {
  .dictation-mobile-helper {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dictation-button.is-active {
    animation: none;
    border-color: #ed2668;
    background: #fff2f7;
    box-shadow: 0 0 0 4px rgba(237, 38, 104, 0.2);
  }

  .dictation-button[data-tooltip]::after {
    transition: none;
  }
}

/* P15 R08E-02 BLOCK 12: styles-r08b1.css; SOURCE_SHA256=0F9C03B520642FFF16D19CFB56024FCD4DACEB3EF2788594DE5F777A2036248F */
/* R08B1 — isolated post-payment assembly inside the frozen R05 visual system. */

body[data-visual="r04"].flow-active.full-flow-active {
  background-color: #071231;
}

body[data-visual="r04"].flow-active.full-flow-active::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  background:
    radial-gradient(circle at 78% 4%, rgba(237, 37, 93, 0.13), transparent 28rem),
    radial-gradient(circle at 18% 20%, rgba(80, 118, 196, 0.24), transparent 34rem),
    linear-gradient(180deg, rgba(4, 10, 31, 0.12), rgba(7, 18, 49, 0.7)),
    url("assets/r05-step3/bg-step3-desktop.png") center / cover no-repeat;
  content: "";
  pointer-events: none;
}

body[data-visual="r04"].flow-active.full-flow-active #main {
  position: relative;
  z-index: 1;
  background: transparent;
}

.full-flow-screen {
  width: min(1080px, calc(100% - 2rem));
  min-height: calc(100vh - 8rem);
  margin: 0 auto;
  padding: clamp(1.25rem, 4vw, 3rem) 0 clamp(3rem, 8vw, 6rem);
  color: #172d49;
}

.full-flow-shell,
.full-flow-card,
.full-flow-card * {
  min-width: 0;
}

.full-flow-card {
  overflow: hidden;
  border: 1px solid rgba(225, 230, 244, 0.92);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 3%, rgba(255, 224, 165, 0.26), transparent 18rem),
    linear-gradient(145deg, #fff, #f7fbff 76%, #fffaf0);
  box-shadow: 0 30px 76px rgba(2, 7, 28, 0.42);
}

.full-flow-status,
.full-flow-generation,
.full-flow-ready {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.72fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  padding: clamp(1.5rem, 5vw, 4.5rem);
}

.full-flow-status-copy {
  display: grid;
  justify-items: start;
  gap: 0.9rem;
}

.full-flow-status-copy > * { margin: 0; }
.full-flow-status-copy .eyebrow,
.full-flow-recovery .eyebrow,
.full-flow-dashboard .eyebrow {
  color: #315f86;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.full-flow-status-copy h1,
.full-flow-recovery h1,
.full-flow-dashboard h1 {
  max-width: 13ch;
  font-size: clamp(2.55rem, 6vw, 4.8rem);
}

.full-flow-lead {
  max-width: 44rem;
  color: var(--muted);
  font-size: clamp(1.04rem, 2vw, 1.22rem);
  line-height: 1.62;
}

.full-flow-state-icon {
  width: 3.65rem;
  height: 3.65rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-size: 1.9rem;
  font-weight: 900;
  box-shadow: 0 12px 30px rgba(5, 48, 92, 0.12);
}
.full-flow-state-icon.is-success { color: #157858; background: #e8faf3; }
.full-flow-state-icon.is-pending { color: #8a5c00; background: var(--gold-100); }
.full-flow-state-icon.is-failed { color: #a23955; background: #fff0f4; }
.full-flow-state-icon.is-cancelled { color: #345c7c; background: var(--blue-100); }

.full-flow-visual {
  min-height: 300px;
  display: grid;
  place-items: center;
  align-content: center;
  border: 1px solid rgba(204, 217, 236, 0.9);
  border-radius: 22px;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.94) 0 22%, transparent 22.6%),
    repeating-radial-gradient(circle at center, transparent 0 3rem, rgba(237,37,93,.13) 3.1rem 3.2rem, transparent 3.3rem 5rem),
    linear-gradient(145deg, var(--blue-100), var(--pink-100), var(--gold-100));
}

.full-flow-visual p {
  max-width: 16rem;
  margin: 2rem auto 0;
  color: #557087;
  text-align: center;
  font-size: 0.83rem;
}

.full-flow-orb {
  width: 8.3rem;
  height: 8.3rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(7, 51, 95, 0.12);
  border-radius: 50%;
  color: var(--navy-800);
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 46px rgba(7, 51, 95, 0.13);
  font-size: 3.3rem;
}

.full-flow-orb.is-ambient {
  animation: full-flow-breathe 3.2s ease-in-out infinite;
}

@keyframes full-flow-breathe {
  50% { box-shadow: 0 18px 54px rgba(237, 37, 93, 0.22); transform: scale(1.025); }
}

.full-flow-contract {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 0.65rem;
  align-items: center;
  padding: 0.82rem 0.95rem;
  border: 1px solid #cbe7db;
  border-radius: 14px;
  color: #176b50;
  background: #eefaf5;
  font-size: 0.75rem;
  line-height: 1.45;
}
.full-flow-contract strong { font-size: 0.67rem; letter-spacing: 0.05em; }
.full-flow-contract.is-gap { border-color: #edd49d; color: #79520d; background: #fff8e7; }

.full-flow-email {
  width: 100%;
  padding: 0.85rem 1rem;
  border-radius: 14px;
  color: var(--navy-800);
  background: var(--blue-100);
}

.full-flow-steps {
  width: 100%;
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.full-flow-steps li { position: relative; display: grid; grid-template-columns: 2.1rem 1fr; gap: 0.75rem; padding: 0.55rem 0; }
.full-flow-steps li::after { position: absolute; left: 1rem; top: 2.55rem; bottom: -0.25rem; width: 1px; background: #c9d8e4; content: ""; }
.full-flow-steps li:last-child::after { display: none; }
.full-flow-steps li > span { width: 2.1rem; height: 2.1rem; display: grid; place-items: center; border: 1px solid #c7d7e3; border-radius: 50%; background: #fff; font-weight: 900; }
.full-flow-steps li.is-done > span { border-color: #bfe8d8; color: #16765a; background: #e8faf3; }
.full-flow-steps li.is-active > span { border-color: #e9c985; color: #8c5a00; background: var(--gold-100); }
.full-flow-steps strong,
.full-flow-steps small { display: block; }
.full-flow-steps small { color: var(--muted); line-height: 1.45; }

.full-flow-ready { grid-template-columns: minmax(0, 0.9fr) minmax(300px, 0.75fr); }
.full-flow-report-preview {
  min-height: 400px;
  padding: clamp(1.5rem, 4vw, 2.6rem);
  border: 1px solid #ead8ae;
  border-radius: 22px;
  background: linear-gradient(155deg, #fffdf8, #fff8e8);
  box-shadow: 0 20px 45px rgba(99, 66, 8, 0.1);
}
.full-flow-report-preview > span { color: var(--gold-600); font-size: 0.76rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.full-flow-report-preview h2 { margin-top: 1.2rem; }
.full-flow-report-preview p { color: var(--muted); line-height: 1.65; }
.full-flow-report-preview i { width: 100%; height: 0.65rem; display: block; margin-top: 1rem; border-radius: 999px; background: #e7edf2; }
.full-flow-report-preview i:nth-of-type(2) { width: 84%; }
.full-flow-report-preview i:nth-of-type(3) { width: 63%; }

.full-flow-gap-banner {
  padding: 0.95rem 1rem;
  border: 1px solid #edd49d;
  border-radius: 14px;
  color: #725018;
  background: #fff8e6;
  font-size: 0.85rem;
  line-height: 1.5;
}

.full-flow-dashboard {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 1.4rem;
  padding: clamp(1.2rem, 3vw, 2.2rem);
}
.full-flow-account-nav,
.full-flow-dashboard-main {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255,255,255,.88);
  box-shadow: var(--shadow-sm);
}
.full-flow-account-nav { align-self: start; padding: 1rem; }
.full-flow-account { display: flex; gap: 0.7rem; align-items: center; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.full-flow-account > span { width: 2.6rem; height: 2.6rem; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg, var(--pink-100), var(--blue-100)); font-weight: 900; }
.full-flow-account strong,
.full-flow-account small { display: block; }
.full-flow-account small { color: var(--muted); }
.full-flow-account-nav nav { display: grid; gap: 0.35rem; margin-top: 0.85rem; }
.full-flow-account-nav nav button { min-height: 42px; padding: 0.65rem 0.75rem; border: 0; border-radius: 12px; background: transparent; text-align: left; font-weight: 800; }
.full-flow-account-nav nav button.is-active { background: var(--blue-100); }
.full-flow-credit { margin-top: 1rem; padding: 0.95rem; border: 1px solid #efd8a3; border-radius: 16px; background: linear-gradient(145deg, var(--gold-100), #fff); }
.full-flow-credit > * { display: block; }
.full-flow-credit strong { margin: 0.2rem 0; color: var(--gold-600); font-size: 1.55rem; }
.full-flow-credit small,
.full-flow-credit span { color: var(--muted); font-size: 0.75rem; }
.full-flow-dashboard-main { padding: clamp(1rem, 3vw, 2rem); }
.full-flow-dashboard-main > header { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 1.3rem; }
.full-flow-dashboard-main > header p { margin-bottom: 0; color: var(--muted); }
.full-flow-history-list { display: grid; gap: 0.75rem; }
.full-flow-history-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.full-flow-history-item p { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin: 0 0 0.4rem; }
.full-flow-history-item h3 { margin: 0; font-size: 1.03rem; }
.full-flow-history-item > div > span { color: var(--muted); font-size: 0.84rem; }
.full-flow-history-item > div:last-child { display: grid; gap: 0.4rem; justify-items: end; }
.full-flow-history-item small { color: #765111; font-size: 0.62rem; font-weight: 900; }
.full-flow-history-item.is-ready small { color: #16765a; }
.full-flow-status-badge { padding: 0.3rem 0.58rem; border-radius: 999px; color: #704d09; background: var(--gold-100); font-size: 0.68rem; font-weight: 900; }
.full-flow-history-item.is-processing .full-flow-status-badge { color: var(--navy-800); background: var(--blue-100); }
.full-flow-history-item.is-ready .full-flow-status-badge { color: #16765a; background: #e8faf3; }
.full-flow-history-item time { color: #71869a; font-size: 0.75rem; }
.full-flow-dashboard-main > .full-flow-contract,
.full-flow-dashboard-main > .full-flow-gap-banner { margin-top: 1rem; }

.full-flow-empty-history {
  min-height: 370px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0.8rem;
  padding: 2rem;
  border: 1px dashed #c9d8e4;
  border-radius: 18px;
  background: linear-gradient(145deg, #f8fbff, #fffdf8);
  text-align: center;
}
.full-flow-empty-history > * { margin: 0; }
.full-flow-empty-history p { max-width: 34rem; color: var(--muted); line-height: 1.6; }

.full-flow-client-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.8rem; }
.full-flow-client-grid article { min-height: 230px; padding: 1.15rem; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.full-flow-client-grid article.is-credit { border-color: #efd8a3; background: linear-gradient(145deg, var(--gold-100), #fff); }
.full-flow-client-grid small { color: #16765a; font-size: 0.63rem; font-weight: 900; }
.full-flow-client-grid h2 { margin-top: 0.8rem; font-size: 1.65rem; }
.full-flow-client-grid p { color: var(--muted); font-size: 0.86rem; }
.full-flow-client-grid article > strong { display: block; color: var(--gold-600); font-size: 1.9rem; }

.full-flow-recovery { padding: clamp(1.5rem, 5vw, 3.5rem); }
.full-flow-recovery > header { max-width: 48rem; }
.full-flow-recovery > header > p:last-child { color: var(--muted); }
.full-flow-recovery > div:not(.button-row):not(.full-flow-contract) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.full-flow-recovery section { padding: 1.35rem; border: 1px solid var(--line); border-radius: 19px; background: #fff; }
.full-flow-recovery section.is-gap { border-color: #edd49d; background: linear-gradient(145deg, #fff, #fff8e7); }
.full-flow-recovery section small { color: #16765a; font-weight: 900; }
.full-flow-recovery section.is-gap small { color: #79520d; }
.full-flow-recovery section p { color: var(--muted); }

.fake-payment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; margin: 1.3rem 0; }
.fake-payment-grid .button { width: 100%; }
.full-flow-technical-note { color: var(--muted); font-size: 0.78rem; }
#readerBoundaryContract.is-gap { color: #79520d; background: var(--gold-100); }

.full-flow-qa-dock {
  position: fixed;
  z-index: 90;
  right: 0.8rem;
  bottom: 0.8rem;
  width: min(22rem, calc(100vw - 1.6rem));
  color: #fff;
}
.full-flow-qa-tab { position: absolute; right: 0; bottom: 100%; min-width: 3.2rem; min-height: 2.4rem; border: 1px solid rgba(255,255,255,.35); border-radius: 12px 12px 0 0; color: #fff; background: #071a3d; font-weight: 900; }
.full-flow-qa-panel { padding: 0.8rem; border: 1px solid rgba(255,255,255,.35); border-radius: 14px 0 14px 14px; background: rgba(7, 18, 49, 0.96); box-shadow: 0 18px 48px rgba(0,0,0,.35); backdrop-filter: blur(10px); }
.full-flow-qa-panel header { display: flex; justify-content: space-between; gap: 1rem; }
.full-flow-qa-panel header button,
.full-flow-qa-actions button { min-height: 2.2rem; border: 1px solid rgba(255,255,255,.25); border-radius: 9px; color: #fff; background: rgba(255,255,255,.08); }
.full-flow-qa-panel p { margin: 0.35rem 0; font-size: 0.75rem; }
.full-flow-qa-panel label { display: grid; grid-template-columns: auto 1fr; gap: 0.6rem; align-items: center; font-size: 0.78rem; }
.full-flow-qa-panel select { min-height: 2.1rem; border-radius: 8px; }
.full-flow-qa-actions { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0.35rem; margin-top: 0.6rem; }
.full-flow-qa-actions button { padding: 0.35rem; font-size: 0.68rem; }
.full-flow-qa-dock.is-collapsed { width: 3.2rem; }
body.capture-mode .full-flow-qa-dock,
body[data-capture="true"] .full-flow-qa-dock { display: none; }
body.capture-mode .flow-test-tools,
body.capture-mode .paid-wizard-qa,
body.capture-mode .cart-qa,
body.capture-mode .prototype-tools-footer { display: none !important; }

.full-flow-toast { position: fixed; z-index: 120; left: 50%; bottom: 1.5rem; width: min(30rem, calc(100% - 2rem)); transform: translateX(-50%); padding: 0.9rem 1rem; border-radius: 14px; color: #fff; background: #071a3d; box-shadow: 0 18px 45px rgba(0,0,0,.3); text-align: center; }

@media (max-width: 850px) {
  .full-flow-status,
  .full-flow-generation,
  .full-flow-ready,
  .full-flow-dashboard { grid-template-columns: 1fr; }
  .full-flow-visual { order: -1; min-height: 210px; }
  .full-flow-account-nav { display: grid; grid-template-columns: 1fr auto; gap: 0.8rem; }
  .full-flow-account-nav nav { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .full-flow-credit { margin-top: 0; }
  .full-flow-client-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  .full-flow-screen { width: calc(100% - 1rem); padding-top: 1rem; }
  .full-flow-card { border-radius: 20px; }
  .full-flow-status,
  .full-flow-generation,
  .full-flow-ready { gap: 1.2rem; padding: 1.1rem; }
  .full-flow-status-copy h1,
  .full-flow-recovery h1,
  .full-flow-dashboard h1 { max-width: none; font-size: clamp(2.3rem, 12vw, 3.4rem); }
  .full-flow-visual { min-height: 165px; }
  .full-flow-orb { width: 6.7rem; height: 6.7rem; font-size: 2.8rem; }
  .full-flow-status .button-row,
  .full-flow-generation .button-row,
  .full-flow-ready .button-row,
  .full-flow-recovery .button-row { width: 100%; display: grid; grid-template-columns: 1fr; }
  .full-flow-status .button,
  .full-flow-generation .button,
  .full-flow-ready .button,
  .full-flow-recovery .button { width: 100%; min-width: 0; }
  .full-flow-report-preview { min-height: 290px; }
  .full-flow-dashboard { padding: 0.7rem; }
  .full-flow-account-nav { grid-template-columns: 1fr; }
  .full-flow-account-nav nav { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .full-flow-credit { margin-top: 0.3rem; }
  .full-flow-dashboard-main { padding: 0.9rem; }
  .full-flow-dashboard-main > header { align-items: stretch; flex-direction: column; }
  .full-flow-history-item { grid-template-columns: 1fr; }
  .full-flow-history-item > div:last-child { justify-items: stretch; }
  .full-flow-history-item .button { width: 100%; }
  .full-flow-client-grid,
  .full-flow-recovery > div:not(.button-row):not(.full-flow-contract),
  .fake-payment-grid { grid-template-columns: 1fr; }
  .full-flow-client-grid article { min-height: 0; }
  .full-flow-recovery { padding: 1.1rem; }
  .full-flow-qa-actions { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 350px) {
  .full-flow-screen { width: calc(100% - 0.65rem); }
  .full-flow-status,
  .full-flow-generation,
  .full-flow-ready { padding: 0.85rem; }
  .full-flow-dashboard { padding: 0.5rem; }
  .full-flow-account-nav nav { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .full-flow-orb.is-ambient { animation: none; }
}

/* P15 R08E-02 BLOCK 13: styles-r08d.css; SOURCE_SHA256=12F2834E60D0A8BF88AD860DF8AF2EAC5B9F3BF0314D0DAD1398CF8B702491A6 */
/* R08D: status-driven waiting screen only. No timer, queue position or measured progress. */
.full-flow-generation[data-lifecycle-state] .full-flow-status-copy {
  min-width: 0;
}

.full-flow-generation[data-lifecycle-state] .full-flow-email,
.full-flow-generation[data-lifecycle-state] .full-flow-steps,
.full-flow-generation[data-lifecycle-state] .full-flow-network-note {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.full-flow-generation[data-lifecycle-state] .full-flow-email strong {
  overflow-wrap: anywhere;
}

.full-flow-network-note {
  width: 100%;
  padding: 0.8rem 0.95rem;
  border: 1px solid #c9d8e4;
  border-radius: 14px;
  color: #345c7c;
  background: #f3f8fc;
  line-height: 1.5;
}

.full-flow-generation.is-status-error .full-flow-network-note {
  border-color: #ead0d8;
  color: #7f2f49;
  background: #fff5f7;
}

.full-flow-steps li.is-waiting > span {
  color: #71869a;
  background: #fff;
}

.full-flow-steps li.is-active > div,
.full-flow-steps li.is-done > div {
  min-width: 0;
}

.full-flow-qa-actions [data-status-fixture] {
  border-style: dashed;
}

@media (max-width: 600px) {
  .full-flow-generation[data-lifecycle-state] {
    overflow: hidden;
  }

  .full-flow-generation[data-lifecycle-state] .full-flow-steps li {
    grid-template-columns: 2.1rem minmax(0, 1fr);
  }
}

/* P15 R08E-02 BLOCK 14: styles-r08d2.css; SOURCE_SHA256=F978980647F3D08AC1789D8A0D16DC572885720F92FF09D0DB7033A8C8045CCA */
/* R08D2: customer-facing cleanup only. The full-flow QA dock remains intentionally visible. */
[data-development-copy],
.prototype-banner,
.prototype-ai-note,
.flow-prototype-note,
.premium-prototype-note,
.payment-recap-prototype-note,
.prototype-tools-footer,
.flow-test-tools,
.paid-wizard-qa,
.cart-qa,
.result-long-copy-fixture,
.full-flow-contract,
.full-flow-gap-banner,
.full-flow-technical-note {
  display: none !important;
}

.full-flow-qa-dock {
  isolation: isolate;
}

.full-flow-qa-panel > p {
  color: rgba(255, 255, 255, 0.72);
}

/* Programmatic heading focus supports screen-reader navigation without a false input-like frame. */
.full-flow-card #fullFlowTitle:focus {
  outline: none;
}

/* P15 R08E-02 BLOCK 15: styles-r08b3.css; SOURCE_SHA256=634246B8D5C62EDCDDF074C522673B88DB2C62F3FE44D5B76B254582E9A5AC6C */
/* R08B3 forward-port: delivery copy and local user-facing result review. */
.full-flow-delivery-copy {
  width: 100%;
  display: grid;
  gap: 0.55rem;
  padding: 1rem 1.1rem;
  border: 1px solid #d8e5ef;
  border-radius: 16px;
  color: #3c5265;
  background: #f5f9fc;
  box-sizing: border-box;
}

.full-flow-delivery-copy p {
  margin: 0;
  line-height: 1.6;
}

.full-flow-delivery-copy strong {
  color: var(--navy-800);
  overflow-wrap: anywhere;
}

.full-flow-result-review {
  width: min(100%, 920px);
  margin-inline: auto;
  display: block;
  padding: clamp(1.2rem, 4vw, 3.6rem);
  overflow: visible;
}

.full-flow-result-header {
  max-width: 720px;
  margin: 0 auto clamp(2rem, 6vw, 4rem);
  text-align: center;
}

.full-flow-result-header .eyebrow {
  margin: 0 0 0.8rem;
  color: var(--gold-600);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.full-flow-result-header h1 {
  max-width: 15ch;
  margin: 0 auto 1rem;
  font-size: clamp(2.45rem, 6vw, 4.5rem);
  line-height: 0.98;
}

.full-flow-result-header h1:focus {
  outline: none;
}

.full-flow-result-header > p:last-child {
  margin: 0 auto;
  color: var(--muted);
  font-size: clamp(1rem, 2vw, 1.15rem);
  line-height: 1.75;
}

.full-flow-result-body {
  max-width: 700px;
  margin-inline: auto;
  display: grid;
  gap: 0;
}

.full-flow-result-body section {
  padding: clamp(1.35rem, 4vw, 2.2rem) 0;
  border-top: 1px solid var(--line);
}

.full-flow-result-body h2 {
  margin: 0 0 0.75rem;
  color: var(--navy-900);
  font-size: clamp(1.35rem, 3vw, 1.8rem);
}

.full-flow-result-body p {
  margin: 0;
  color: #3c5265;
  font-size: clamp(1rem, 1.8vw, 1.08rem);
  line-height: 1.8;
}

.full-flow-result-prompt {
  margin-top: 1rem;
  padding: clamp(1.25rem, 4vw, 2rem) !important;
  border: 1px solid #ead8ae !important;
  border-radius: 18px;
  background: linear-gradient(145deg, #fffdf8, #fff8e8);
}

.full-flow-result-footer {
  max-width: 700px;
  margin: 2rem auto 0;
  padding-top: 1.5rem;
  border-top: 1px solid var(--line);
}

@media (max-width: 600px) {
  .full-flow-delivery-copy {
    padding: 0.9rem;
  }

  .full-flow-result-review {
    padding: 1.15rem;
    border-radius: 20px;
  }

  .full-flow-result-header {
    text-align: left;
  }

  .full-flow-result-header h1 {
    max-width: none;
    margin-inline: 0;
    font-size: clamp(2.25rem, 12vw, 3.3rem);
  }

  .full-flow-result-footer .button {
    width: 100%;
    min-width: 0;
  }
}

/* P15 R08E-02 BLOCK 16: styles-r08ui.css; SOURCE_SHA256=64C8F90AB9E1D16BA7BDBE57E94632637BBFECF6D304BF8F4D7F9BD590C6D22B */
/* Narrow P15 review polish: preparing copy, AI transparency badge and delivery copy only. */
#resultStep .result-ai-transparency {
  width: fit-content;
  max-width: 100%;
  margin-top: 1rem;
  display: inline-grid;
  grid-template-columns: 2.5rem minmax(0, auto);
  gap: 0.65rem;
  align-items: center;
  padding: 0.4rem 0.75rem 0.4rem 0.42rem;
  border: 1px solid rgba(36, 55, 105, 0.18);
  border-radius: 12px;
  color: #172a54;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 8px 22px rgba(29, 42, 85, 0.08);
  box-sizing: border-box;
}

#resultStep .result-ai-mark {
  position: relative;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 10px;
  color: #fff;
  background: linear-gradient(145deg, #14265e 0%, #334dc4 58%, #b855bd 100%);
  isolation: isolate;
}

#resultStep .result-ai-mark::before,
#resultStep .result-ai-mark::after,
#resultStep .result-ai-mark i {
  position: absolute;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0.6rem rgba(255, 255, 255, 0.9);
  content: "";
}

#resultStep .result-ai-mark::before { top: 0.42rem; right: 0.48rem; }
#resultStep .result-ai-mark::after { right: 0.7rem; bottom: 0.52rem; width: 0.24rem; height: 0.24rem; }
#resultStep .result-ai-mark i { left: 0.45rem; bottom: 0.45rem; width: 0.18rem; height: 0.18rem; }

#resultStep .result-ai-mark > span {
  position: relative;
  z-index: 1;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: -0.03em;
}

#resultStep .result-ai-copy {
  min-width: 0;
  display: grid;
  gap: 0.08rem;
  line-height: 1.2;
}

#resultStep .result-ai-copy strong {
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.09em;
}

#resultStep .result-ai-copy small {
  color: #5b6880;
  font-size: 0.72rem;
  line-height: 1.3;
}

@media (max-width: 430px) {
  #resultStep .result-ai-transparency {
    width: 100%;
    grid-template-columns: 2.35rem minmax(0, 1fr);
  }

  #resultStep .result-ai-mark {
    width: 2.35rem;
    height: 2.35rem;
  }
}

/* P15 R08E-02 BLOCK 17: styles-r07align.css; SOURCE_SHA256=D64E94C72104B97700D26062F56CB5563AD28CCDFAADBDCE0332C127EF9647D1 */
/* R07: desktop-only alignment for the email and display-name fields. */

@media (min-width: 701px) {
  #paidWizardStep2 .paid-wizard-fields {
    align-items: stretch;
  }

  #paidWizardStep2 .paid-wizard-field {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    align-content: stretch;
    min-width: 0;
    box-sizing: border-box;
  }

  #paidWizardStep2 .paid-wizard-field > .field-help {
    min-height: 0;
  }

  #paidWizardStep2 .paid-wizard-field > input {
    align-self: end;
    min-width: 0;
    box-sizing: border-box;
  }
}

/* P15 R08E-02 BLOCK 18: styles-r08ready.css; SOURCE_SHA256=F33FFD7A6F3916E7802B3651C7D467DDEDA3F60C16E7E9D211FD4E779D9B2CB1 */
/* R08: terminal ready screen without decorative report preview. */

.full-flow-ready {
  grid-template-columns: minmax(0, 720px);
  justify-content: center;
}

.full-flow-ready .full-flow-status-copy {
  width: 100%;
  max-width: 720px;
  min-width: 0;
  margin-inline: auto;
}

/* P15 R08E-02 BLOCK 19: styles-r09.css; SOURCE_SHA256=7AD6370E1D128FE2409AD0B8BA1333AD04EFEB4B2FE6D8A27BC573A320B931FA */
/* R09: narrow client-zone restructure. No checkout, lifecycle or reader overrides. */
.full-flow-account-nav {
  display: flex;
  min-width: 0;
  min-height: 390px;
  flex-direction: column;
}

.full-flow-account-nav nav {
  grid-template-columns: 1fr;
}

.full-flow-logout,
.full-flow-mobile-logout {
  min-height: 42px;
  border: 0;
  border-radius: 12px;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.full-flow-logout {
  margin-top: auto;
  padding: 0.65rem 0.75rem;
  border-top: 1px solid var(--line);
  border-radius: 0;
}

.full-flow-logout:hover,
.full-flow-logout:focus-visible,
.full-flow-mobile-logout:hover,
.full-flow-mobile-logout:focus-visible {
  color: var(--navy-900);
  background: var(--blue-100);
  outline: 3px solid rgba(212, 67, 126, 0.2);
  outline-offset: 2px;
}

.full-flow-mobile-logout {
  display: none;
  margin-top: 1rem;
  padding: 0.65rem 0.75rem;
}

.full-flow-client-grid-r09 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.full-flow-client-grid-r09 article {
  display: flex;
  min-width: 0;
  min-height: 300px;
  flex-direction: column;
}

.full-flow-client-grid-r09 .card-label {
  margin: 0;
}

.full-flow-client-grid-r09 .button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: auto;
}

.full-flow-profile-card dl {
  display: grid;
  gap: 0.65rem;
  margin: 0 0 1rem;
}

.full-flow-profile-card dl div {
  display: grid;
  grid-template-columns: minmax(4rem, 0.4fr) minmax(0, 1fr);
  gap: 0.75rem;
}

.full-flow-profile-card dt {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.full-flow-profile-card dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.full-flow-credit-card .button {
  align-self: flex-start;
  margin-top: auto;
}

.full-flow-history-item.has-access-issue {
  border-color: #efd8a3;
  background: linear-gradient(145deg, #fff, #fffaf0);
}

.full-flow-account-detail {
  display: grid;
  align-items: start;
}

.full-flow-account-detail-card {
  width: min(100%, 720px);
  margin-inline: auto;
}

.full-flow-account-detail-card > p:not(.card-label),
.full-flow-form-note {
  color: var(--muted);
  line-height: 1.6;
}

.full-flow-account-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.35rem 0;
}

.full-flow-account-form.is-single-column {
  grid-template-columns: minmax(0, 28rem);
}

.full-flow-account-form label {
  display: grid;
  min-width: 0;
  gap: 0.45rem;
  color: var(--navy-900);
  font-size: 0.82rem;
  font-weight: 850;
}

.full-flow-account-form input {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  box-sizing: border-box;
  border: 1px solid #cbd8e3;
  border-radius: 13px;
  padding: 0.72rem 0.82rem;
  color: var(--navy-900);
  background: #fff;
  font: inherit;
}

.full-flow-account-form input:focus-visible {
  border-color: var(--pink-600);
  outline: 3px solid rgba(212, 67, 126, 0.18);
}

@media (max-width: 850px) {
  .full-flow-account-nav {
    display: grid;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
  }

  .full-flow-account-nav nav {
    grid-column: 1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .full-flow-account-nav nav button {
    text-align: center;
  }

  .full-flow-account-nav .full-flow-logout {
    display: none;
  }

  .full-flow-mobile-logout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 600px) {
  .full-flow-account-nav nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .full-flow-client-grid-r09,
  .full-flow-account-form {
    grid-template-columns: minmax(0, 1fr);
  }

  .full-flow-client-grid-r09 article {
    min-height: 0;
  }

  .full-flow-client-grid-r09 .button-row,
  .full-flow-account-detail-card .button-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .full-flow-client-grid-r09 .button,
  .full-flow-account-detail-card .button {
    width: 100%;
    min-width: 0;
  }
}

/* P15 R08E-02 BLOCK 20: styles-r10.css; SOURCE_SHA256=798B6833886BEE2D923E63CE83F44B70BE9C8FBBE0E6022632F0B6B1B1019106 */
/* R10: isolated auth entry for the local full-flow review. */
.full-flow-auth {
  display: grid;
  width: min(100%, 940px);
  grid-template-columns: minmax(0, 1.15fr) minmax(250px, 0.85fr);
  gap: clamp(1.4rem, 4vw, 3.5rem);
  align-items: stretch;
}

.full-flow-auth-card {
  width: min(100%, 470px);
  min-width: 0;
}

.full-flow-auth-card .full-flow-lead {
  margin-bottom: 1.25rem;
}

.full-flow-auth-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 4px;
  margin-bottom: 1rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f3f6f9;
}

.full-flow-auth-tabs button {
  min-width: 0;
  min-height: 42px;
  border: 0;
  border-radius: 10px;
  color: var(--muted);
  background: transparent;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

.full-flow-auth-tabs button.is-active {
  color: var(--navy-900);
  background: #fff;
  box-shadow: 0 6px 18px rgba(28, 44, 70, 0.08);
}

.full-flow-auth-tabs button:focus-visible,
.full-flow-social-button:focus-visible,
.full-flow-text-action:focus-visible {
  outline: 3px solid rgba(212, 67, 126, 0.22);
  outline-offset: 2px;
}

.full-flow-auth-social,
.full-flow-auth-form {
  display: grid;
  min-width: 0;
  gap: 0.75rem;
}

.full-flow-social-button {
  display: grid;
  min-width: 0;
  min-height: 48px;
  grid-template-columns: 24px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 0.65rem;
  border: 1px solid #cad5df;
  border-radius: 13px;
  padding: 0.7rem 0.85rem;
  color: var(--navy-900);
  background: #fff;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

.full-flow-social-button::after {
  content: "";
}

.full-flow-social-button svg {
  width: 23px;
  height: 23px;
}

.full-flow-social-button.is-facebook {
  color: #fff;
  border-color: #1877f2;
  background: #1877f2;
}

.full-flow-social-button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(28, 44, 70, 0.1);
}

.full-flow-auth-separator {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0.65rem;
  margin: 1rem 0;
  color: var(--muted);
  font-size: 0.78rem;
}

.full-flow-auth-separator::before,
.full-flow-auth-separator::after {
  content: "";
  height: 1px;
  background: var(--line);
}

.full-flow-auth-form > label:not(.full-flow-auth-consent) {
  display: grid;
  min-width: 0;
  gap: 0.42rem;
  color: var(--navy-900);
  font-size: 0.82rem;
  font-weight: 850;
}

.full-flow-auth-form input[type="email"],
.full-flow-auth-form input[type="password"] {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  box-sizing: border-box;
  border: 1px solid #cbd8e3;
  border-radius: 13px;
  padding: 0.72rem 0.82rem;
  color: var(--navy-900);
  background: #fff;
  font: inherit;
}

.full-flow-auth-form input:focus-visible {
  border-color: var(--pink-600);
  outline: 3px solid rgba(212, 67, 126, 0.18);
}

.full-flow-auth-form .button {
  width: 100%;
  margin-top: 0.15rem;
}

.full-flow-auth-consent {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 0.55rem;
  align-items: start;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.5;
}

.full-flow-auth-consent input {
  width: 18px;
  height: 18px;
  margin: 0.08rem 0 0;
  accent-color: var(--pink-600);
}

.full-flow-auth-consent a,
.full-flow-text-action {
  color: var(--pink-700, #b62f67);
  font-weight: 800;
}

.full-flow-text-action {
  justify-self: center;
  border: 0;
  padding: 0.35rem;
  background: transparent;
  font: inherit;
  cursor: pointer;
}

.full-flow-auth-bonus {
  margin: 0.15rem 0;
  border-radius: 11px;
  padding: 0.65rem 0.75rem;
  color: #735312;
  background: #fff8e9;
  font-size: 0.82rem;
  font-weight: 780;
}

.full-flow-auth-message {
  margin: 0;
  border-radius: 11px;
  padding: 0.65rem 0.75rem;
  font-size: 0.82rem;
  line-height: 1.45;
}

.full-flow-auth-message.is-error {
  color: #8b283a;
  background: #fff0f3;
}

.full-flow-auth-message.is-success {
  color: #216b4f;
  background: #edf9f3;
}

.full-flow-auth-aside {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  border: 1px solid rgba(210, 170, 83, 0.34);
  border-radius: 24px;
  padding: clamp(1.3rem, 3vw, 2.2rem);
  color: #fff;
  background: radial-gradient(circle at 70% 18%, rgba(212, 67, 126, 0.2), transparent 38%), linear-gradient(145deg, #17253c, #27334d);
}

.full-flow-auth-aside > span {
  color: #e3bd68;
  font-size: 2rem;
}

.full-flow-auth-aside h2 {
  margin: 0.65rem 0 1rem;
  color: #fff;
  font-family: var(--font-display);
}

.full-flow-auth-aside ul {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.full-flow-auth-aside li::before {
  content: "✓";
  margin-right: 0.55rem;
  color: #e3bd68;
  font-weight: 900;
}

.full-flow-auth-aside p {
  margin: 1.4rem 0 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.82rem;
  line-height: 1.55;
}

.full-flow-auth-confirmation {
  display: grid;
  justify-items: start;
  gap: 0.8rem;
  border: 1px solid #d6e2eb;
  border-radius: 18px;
  padding: 1.15rem;
  background: #f8fbfd;
}

.full-flow-auth-confirmation > span {
  color: var(--pink-600);
  font-size: 1.65rem;
}

.full-flow-auth-confirmation h2,
.full-flow-auth-confirmation p {
  margin: 0;
}

@media (max-width: 760px) {
  .full-flow-auth {
    grid-template-columns: minmax(0, 1fr);
  }

  .full-flow-auth-card {
    width: 100%;
  }

  .full-flow-auth-aside {
    padding: 1.15rem;
  }
}

@media (max-width: 430px) {
  .full-flow-auth-tabs button,
  .full-flow-social-button,
  .full-flow-auth-form .button {
    min-height: 46px;
  }

  .full-flow-auth-aside h2 {
    font-size: 1.1rem;
  }
}

/* P15 R08E-02 BLOCK 21: styles-r11.css; SOURCE_SHA256=85D9672C802B65689529EDFC0A05C9BAD92E1130A7FA96A7F20BB531BF20395A */
/* R12: targeted auth inner-spacing correction; R11 menu behavior remains intact. */
.full-flow-auth {
  width: min(100%, 1040px);
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.78fr);
  column-gap: clamp(2rem, 4.5vw, 4.5rem);
  box-sizing: border-box;
  padding: clamp(1.5rem, 3.2vw, 2.75rem);
}

.full-flow-auth-card {
  width: 100%;
  box-sizing: border-box;
  justify-self: start;
  padding: 2rem;
}

.full-flow-auth-card #fullFlowTitle {
  max-width: 13ch;
  margin-right: 0;
  font-size: clamp(2.15rem, 4.1vw, 3.5rem);
  line-height: 1;
  text-wrap: balance;
}

.full-flow-auth-card .full-flow-lead {
  max-width: 38ch;
}

.full-flow-auth-tabs,
.full-flow-auth-social,
.full-flow-auth-form,
.full-flow-auth-separator {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (max-width: 760px) {
  .full-flow-auth {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.4rem;
    padding: clamp(1.1rem, 5vw, 1.5rem);
  }

  .full-flow-auth-card {
    width: 100%;
    justify-self: stretch;
    padding: 1.5rem 1.25rem;
  }

  .full-flow-auth-card #fullFlowTitle {
    max-width: 12ch;
    font-size: clamp(2rem, 10vw, 2.85rem);
  }
}

@media (max-width: 350px) {
  .full-flow-auth {
    padding-inline: 1rem;
  }

}

/* P15 R08E-02 BLOCK 22: styles-stage04.css; SOURCE_SHA256=A478828648153C3087A9D0B01030EEE15B37EDD6CC2FDE8FB48C302486E9E99A */
/* Stage-04 integration-only layout. R12 remains the visual owner. */
.active-order-resume {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: min(var(--content), calc(100% - 2rem));
  box-sizing: border-box;
  margin: 1rem auto 0;
  padding: .9rem 1rem;
  border: 1px solid rgba(203, 216, 232, .92);
  border-radius: 16px;
  color: var(--navy-900);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 30px rgba(7, 51, 95, .09);
}

.active-order-resume[hidden] {
  display: none;
}

.active-order-resume > div {
  display: grid;
  gap: .2rem;
}

.active-order-resume strong {
  font-size: 1.05rem;
}

.active-order-resume[data-lifecycle="ready"] {
  position: relative;
  padding-right: 3.5rem;
}

.active-order-resume-close {
  position: absolute;
  top: .65rem;
  right: .65rem;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 50%;
  color: var(--navy-900);
  background: transparent;
  font: inherit;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.active-order-resume-close:hover,
.active-order-resume-close:focus-visible {
  background: rgba(203, 216, 232, .55);
}

.active-order-resume-close[hidden] {
  display: none;
}

.active-order-dismissed {
  width: min(var(--content), calc(100% - 2rem));
  box-sizing: border-box;
  margin: 1rem auto 0;
}

.active-order-dismissed[hidden] {
  display: none;
}

.p15-service-shell {
  display: grid;
  gap: 1.25rem;
  box-sizing: border-box;
  padding: 2rem;
}

.p15-service-shell > header,
.p15-account-nav,
.full-flow-dashboard-grid,
.full-flow-history-list article {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.p15-service-shell > header {
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  padding-bottom: 1rem;
}

.p15-service-shell > header h1,
.p15-service-shell > header p {
  margin-block: 0;
}

.p15-account-nav {
  flex-wrap: wrap;
  border-bottom: 1px solid var(--line);
  padding-bottom: 1rem;
}

.p15-account-nav button {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .55rem .9rem;
  color: var(--navy-900);
  background: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.p15-account-nav button.is-active {
  border-color: rgba(212, 67, 126, .35);
  background: var(--pink-100);
}

.full-flow-account-content {
  display: grid;
  gap: 1rem;
}

.full-flow-dashboard-grid {
  align-items: stretch;
}

.full-flow-dashboard-grid article,
.full-flow-history-list article {
  flex: 1 1 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 1rem;
  background: rgba(255, 255, 255, .88);
}

.full-flow-dashboard-grid article {
  display: grid;
  gap: .5rem;
}

.full-flow-history-list {
  display: grid;
  gap: .75rem;
}

.full-flow-history-list article {
  justify-content: space-between;
}

.p15-service-shell .full-flow-auth-form {
  width: min(100%, 38rem);
}

.p15-service-shell .full-flow-auth-form input,
.p15-service-shell .full-flow-auth-form select {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  box-sizing: border-box;
  border: 1px solid #cad5df;
  border-radius: 12px;
  padding: .72rem .85rem;
  color: var(--navy-900);
  background: #fff;
  font: inherit;
}

@media (max-width: 600px) {
  .active-order-resume {
    align-items: stretch;
    flex-direction: column;
    width: calc(100% - 1rem);
  }

  .active-order-resume .button {
    width: 100%;
  }

  .p15-service-shell {
    gap: 1rem;
    padding: 1.25rem;
  }

  .p15-service-shell > header,
  .full-flow-dashboard-grid,
  .full-flow-history-list article {
    align-items: stretch;
    flex-direction: column;
  }

  .p15-service-shell > header .button,
  .p15-account-nav button,
  .full-flow-history-list .button {
    width: 100%;
  }

  .p15-account-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* P15 R08E-02 BLOCK 23: styles-free2.css; SOURCE_SHA256=BA1D0FB69169AD054032A0A7A09828505FEB81C44CE44CF96019BD137471FF57 */
/* A34 V02, scoped to the actual Free2 result in the existing wizard. */
#resultStep.free2-mode .result-report-header {
  padding: 1.5rem clamp(1.25rem, 4vw, 2.25rem) 1.35rem;
  background: linear-gradient(120deg, #fbfeff, #f4faff);
  border-bottom-color: #dce8ef;
}
#resultStep.free2-mode .result-kicker-row { margin-bottom: .65rem; }
#resultStep.free2-mode .result-free-badge { min-height: 0; padding: .25rem .6rem .25rem .35rem; font-size: .72rem; }
#resultStep.free2-mode .result-free-badge img { width: 18px; height: 18px; }
#resultStep.free2-mode #resultTitle {
  max-width: none;
  font-size: clamp(2rem, 3vw, 2.375rem);
  line-height: 1.12;
  overflow-wrap: break-word;
  scroll-margin-top: calc(var(--header-height) + 1.5rem);
}
#resultStep.free2-mode .result-ai-transparency {
  display: inline-flex;
  gap: .5rem;
  margin-top: .65rem;
  padding: .2rem .5rem .2rem .2rem;
  box-shadow: none;
}
#resultStep.free2-mode .result-ai-mark { width: 1.5rem; height: 1.5rem; border-radius: 7px; }
#resultStep.free2-mode .result-ai-mark > span { font-size: .65rem; }
#resultStep.free2-mode .result-ai-mark::before,
#resultStep.free2-mode .result-ai-mark::after,
#resultStep.free2-mode .result-ai-mark i { display: none; }
#resultStep.free2-mode .result-ai-copy strong { font-size: .75rem; letter-spacing: 0; }
#resultStep.free2-mode .result-ai-copy small { display: none; }
#resultStep.free2-mode .result-lead {
  max-width: 45rem;
  margin-top: .65rem;
  padding-left: .65rem;
  border-left: 2px solid #c9dce9;
  color: #466176;
  font-size: .76rem;
  line-height: 1.45;
}
#resultStep.free2-mode .free2-result { padding: 2.1rem clamp(1.25rem, 4vw, 2.25rem) 2.3rem; }
#resultStep.free2-mode .free2-content { max-width: 790px; margin-inline: auto; }
#resultStep.free2-mode .free2-category-row { max-width: 672px; margin: 0 auto 1rem; }
#resultStep.free2-mode .free2-category {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .2rem .5rem;
  max-width: 100%;
  padding: .4rem .75rem;
  border: 1px solid #d8dfea;
  border-radius: 999px;
  background: #f3f6fc;
  line-height: 1.25;
}
#resultStep.free2-mode .free2-category-prefix { color: #496071; font-size: .75rem; }
#resultStep.free2-mode .free2-category-label { color: #243c62; font-size: .85rem; }
#resultStep.free2-mode .free2-reading { max-width: 672px; margin-inline: auto; }
#resultStep.free2-mode .free2-content p {
  color: #263f54;
  overflow-wrap: break-word;
  white-space: pre-line;
}
#resultStep.free2-mode .free2-content .free2-interpretation {
  margin: 0 0 1em;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 1.09375rem;
  line-height: 1.57;
}
#resultStep.free2-mode .free2-interpretation:last-child { margin-bottom: 0; }
#resultStep.free2-mode .free2-insight,
#resultStep.free2-mode .free2-deeper-bridge,
#resultStep.free2-mode .free2-life-hint {
  max-width: 672px;
  margin: 1.5rem auto 0;
  padding: .85rem 1.05rem;
  border-left: 3px solid #a998cf;
  border-radius: 0 12px 12px 0;
  background: #f8f6fb;
}
#resultStep.free2-mode .free2-insight-title,
#resultStep.free2-mode .free2-bridge-title {
  margin: 0 0 .4rem;
  color: #173658;
  font-size: 1.25rem;
  line-height: 1.3;
}
#resultStep.free2-mode .free2-insight-text,
#resultStep.free2-mode .free2-bridge-text,
#resultStep.free2-mode .free2-life-hint { margin-bottom: 0; font-size: .9375rem; line-height: 1.55; }
#resultStep.free2-mode .free2-symbols-area {
  max-width: 790px;
  margin: 1.9rem auto 0;
  padding-top: 1.5rem;
  border-top: 1px solid #dce7ed;
}
#resultStep.free2-mode .free2-symbols-heading {
  margin: 0 0 .95rem;
  color: #173658;
  font-size: 1.5625rem;
  line-height: 1.25;
}
#resultStep.free2-mode .free2-symbol-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .875rem;
  align-items: stretch;
}
#resultStep.free2-mode .free2-symbol-list:has(.free2-symbol:only-child) {
  grid-template-columns: minmax(0, 1fr);
  max-width: 672px;
  margin-inline: auto;
}
#resultStep.free2-mode .free2-symbol {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1.05rem 1.2rem 1rem;
  border: 1px solid #cbdde7;
  border-radius: 13px;
  background: #f3f9fc;
  overflow-wrap: anywhere;
}
#resultStep.free2-mode .free2-content > .free2-symbol { max-width: 672px; margin-inline: auto; }
#resultStep.free2-mode .free2-symbol-title {
  margin: 0 0 .55rem;
  color: #173658;
  font-size: 1.3125rem;
  line-height: 1.22;
}
#resultStep.free2-mode .free2-symbol-meaning-label,
#resultStep.free2-mode .free2-symbol-context-label {
  display: block;
  margin-bottom: .2rem;
  color: #355d77;
  font: 800 .6875rem/1.35 "Segoe UI", Arial, sans-serif;
  letter-spacing: .035em;
}
#resultStep.free2-mode .free2-content .free2-symbol-meaning {
  margin: 0;
  color: #334f66;
  font-size: .90625rem;
  line-height: 1.5;
}
#resultStep.free2-mode .free2-symbol-context-block {
  margin-top: .75rem;
  padding-top: .65rem;
  border-top: 1px solid #d6e7ef;
}
#resultStep.free2-mode .free2-content .free2-symbol-context {
  margin: 0;
  color: #3b566b;
  font-size: .875rem;
  line-height: 1.5;
}
#resultStep.free2-mode .free2-symbol-link {
  align-self: flex-start;
  display: inline-block;
  margin-top: auto;
  padding-top: .75rem;
  color: #225478;
  font-size: .84375rem;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: .18em;
}
#resultStep.free2-mode .free2-symbol-link:focus-visible { outline: 3px solid #7056ad; outline-offset: 3px; }
#resultStep.free2-mode .free2-content .free2-message {
  max-width: 672px;
  margin: 0 auto;
  font-size: 1.125rem;
  line-height: 1.6;
}
#resultStep.free2-mode .result-free-divider { max-width: 790px; margin-inline: auto; }
#resultStep.free2-mode .premium-bridge { max-width: 860px; margin-inline: auto; }
#resultStep.free2-mode .result-ai-details { max-width: 860px; margin-inline: auto; }
.free2-followup[hidden], .free2-refinement[hidden], .free2-refinement-status[hidden] { display: none !important; }
#flowScreen .free2-followup {
  margin: 1.25rem 0;
  padding: 1.1rem 1.2rem;
  border: 1px solid #d9e5ed;
  border-radius: 14px;
  background: #f6fafc;
}
#flowScreen .free2-followup h3,
#resultStep.free2-mode .free2-refinement h2 {
  margin: 0 0 .45rem;
  color: #173658;
  font-size: 1.2rem;
  line-height: 1.3;
}
#flowScreen .free2-followup p,
#resultStep.free2-mode .free2-refinement p {
  margin: 0 0 .85rem;
  color: #456176;
  font-size: .94rem;
  line-height: 1.5;
}
#flowScreen .free2-followup label,
#resultStep.free2-mode .free2-refinement label {
  display: block;
  margin-bottom: .4rem;
  color: #173658;
  font-weight: 700;
}
#flowScreen .free2-followup textarea,
#resultStep.free2-mode .free2-refinement textarea {
  display: block;
  width: 100%;
  min-height: 5rem;
  padding: .7rem .8rem;
  border: 1px solid #b9cbd8;
  border-radius: 10px;
  background: #fff;
  color: #173658;
  font: inherit;
  line-height: 1.5;
  resize: vertical;
}
#flowScreen .free2-followup textarea:focus-visible,
#resultStep.free2-mode .free2-refinement textarea:focus-visible {
  outline: 3px solid #7056ad;
  outline-offset: 2px;
}
#flowScreen .free2-detail-count {
  display: block;
  margin-top: .35rem;
  color: #557083;
  font-size: .8rem;
  text-align: right;
}
#resultStep.free2-mode .free2-refinement {
  max-width: 790px;
  margin: 0 auto 1.8rem;
  padding: 1.2rem 1.35rem;
  border: 1px solid #d9d0ed;
  border-radius: 16px;
  background: #f8f6fc;
}
#resultStep.free2-mode .free2-refinement .button { margin-top: .75rem; }
#resultStep.free2-mode .free2-refinement .free2-refinement-status {
  margin: .55rem 0 0;
  color: #395676;
}
@media (max-width: 700px) {
  #resultStep.free2-mode .result-report-header { padding: 1.05rem 1.2rem 1rem; }
  #resultStep.free2-mode #resultTitle { font-size: 2.0625rem; }
  #resultStep.free2-mode .result-lead { font-size: .72rem; }
  #resultStep.free2-mode .free2-result { padding: 1.35rem 1.2rem 1.65rem; }
  #resultStep.free2-mode .free2-content .free2-interpretation { font-size: 1.09375rem; line-height: 1.54; }
  #resultStep.free2-mode .free2-symbols-area { margin-top: 1.6rem; padding-top: 1.25rem; }
  #resultStep.free2-mode .free2-symbols-heading { font-size: 1.5rem; }
  #resultStep.free2-mode .free2-symbol-list { grid-template-columns: minmax(0, 1fr); }
  #resultStep.free2-mode .free2-symbol { padding: .875rem 1rem .8125rem; }
  #resultStep.free2-mode .free2-symbol-title { font-size: 1.25rem; }
  #resultStep.free2-mode .free2-content .free2-symbol-meaning { font-size: .875rem; }
  #flowScreen .free2-followup { padding: .95rem 1rem; }
  #resultStep.free2-mode .free2-refinement { margin: 0 1.2rem 1.5rem; padding: 1rem; }
}
@media (max-width: 360px) {
  #resultStep.free2-mode .result-report-header { padding: .95rem 1rem; }
  #resultStep.free2-mode #resultTitle { font-size: 1.9375rem; }
  #resultStep.free2-mode .free2-result { padding: 1.25rem 1rem 1.5rem; }
  #resultStep.free2-mode .free2-content .free2-interpretation { font-size: 1.0625rem; line-height: 1.53; }
  #resultStep.free2-mode .free2-symbol { padding: .8125rem .875rem .75rem; }
}

/* P15 R08E-02 BLOCK 24: styles-r09ab.css; SOURCE_SHA256=6E77B86D86C9CD4CDECE0C467326D6BA6C8E0307241471AB06B235C2003D5DED */
/* R09A: isolated, removable paid-offer experiment and desktop CTA alignment. */

@media (min-width: 701px) {
  .comparison-columns > section {
    height: 100%;
  }

  .comparison-columns .free-column .button {
    margin-top: auto;
  }
}

#resultStep #paidOffer[data-experiment-variant="B"] {
  border-color: #cbbde5;
  color: #373052;
  background-color: #f4f0fb;
  background-image:
    radial-gradient(circle at 88% 10%, rgba(155, 119, 214, 0.16), transparent 34%),
    radial-gradient(circle at 6% 92%, rgba(111, 77, 177, 0.09), transparent 30%),
    linear-gradient(145deg, #fcfaff 0%, #f4effb 52%, #eee8f8 100%);
  box-shadow:
    0 24px 56px rgba(52, 38, 94, 0.16),
    0 6px 18px rgba(79, 58, 126, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

#resultStep #paidOffer[data-experiment-variant="B"]::before {
  position: absolute;
  z-index: -1;
  top: -8rem;
  left: -6rem;
  width: 20rem;
  height: 20rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(132, 91, 198, 0.12), transparent 70%);
  content: "";
  pointer-events: none;
}

#resultStep #paidOffer[data-experiment-variant="B"]::after {
  right: -7rem;
  bottom: -9rem;
  background: radial-gradient(circle, rgba(108, 72, 177, 0.16), transparent 69%);
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-bridge-crown {
  display: none;
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-bridge-label,
#resultStep #paidOffer[data-experiment-variant="B"] .premium-benefits h3 {
  color: #68449c;
}

#resultStep #paidOffer[data-experiment-variant="B"] h2 {
  color: #28204f;
  font-weight: 760;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.78);
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-benefit-copy strong {
  color: #34275c;
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-bridge-intro,
#resultStep #paidOffer[data-experiment-variant="B"] .premium-benefit-copy span,
#resultStep #paidOffer[data-experiment-variant="B"] .premium-price-block span,
#resultStep #paidOffer[data-experiment-variant="B"] .premium-price-block small,
#resultStep #paidOffer[data-experiment-variant="B"] .premium-reassurance {
  color: #59516f;
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-question {
  border-color: #cbbbe4;
  background: linear-gradient(135deg, rgba(250, 247, 255, 0.98), rgba(235, 226, 249, 0.96));
  box-shadow:
    0 13px 30px rgba(66, 43, 112, 0.13),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-question img {
  width: 50px;
  height: 50px;
  filter: saturate(1.12) drop-shadow(0 7px 13px rgba(90, 52, 164, 0.28));
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-question h3 {
  color: #6a459d;
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-question p {
  color: #2d2454;
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-value-proposition {
  border-left-color: #8460b8;
  color: #3b2d65;
  background: linear-gradient(90deg, rgba(129, 91, 183, 0.14), rgba(255, 255, 255, 0.32));
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-benefits li {
  border-color: #d8cde9;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.94), rgba(244, 238, 252, 0.9));
  box-shadow:
    0 7px 17px rgba(66, 44, 105, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.96);
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-purchase {
  padding: 1.25rem;
  border: 1px solid #d3c5e8;
  border-radius: 17px;
  background: linear-gradient(135deg, rgba(250, 247, 255, 0.96), rgba(232, 222, 248, 0.82));
  box-shadow:
    0 12px 28px rgba(63, 42, 105, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-price-block strong {
  color: #4d2d88;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.7);
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-cta {
  color: #fff;
  border-color: #57309b;
  background: linear-gradient(135deg, #7449c6 0%, #5b35a4 56%, #492580 100%);
  box-shadow:
    0 14px 30px rgba(73, 39, 132, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-cta:hover {
  background: linear-gradient(135deg, #6840ba 0%, #512d99 58%, #3f1f72 100%);
  box-shadow:
    0 16px 34px rgba(66, 33, 124, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-cta:focus-visible {
  outline: 3px solid rgba(78, 43, 139, 0.36);
  outline-offset: 3px;
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-sample-link {
  color: #5b477c;
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-sample-link:hover {
  color: #322153;
  background: rgba(91, 58, 145, 0.08);
}

#resultStep #paidOffer[data-experiment-variant="B"] .premium-reassurance li {
  padding: 0.35rem 0.55rem;
  border: 1px solid rgba(188, 171, 216, 0.72);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.48);
}

@media (min-width: 701px) {
  #resultStep #paidOffer[data-experiment-variant="A"] .premium-purchase {
    row-gap: 0.45rem;
  }

  #resultStep #paidOffer[data-experiment-variant="A"] .premium-price-block {
    grid-column: 1;
    grid-row: 1 / 3;
    align-self: end;
  }

  #resultStep #paidOffer[data-experiment-variant="A"] .premium-cta-block {
    grid-column: 2;
    grid-row: 1;
  }

  #resultStep #paidOffer[data-experiment-variant="A"] .premium-sample-link {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
  }

  #resultStep #paidOffer[data-experiment-variant="B"] .premium-purchase {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 1.5rem;
    row-gap: 0.55rem;
    align-items: center;
  }

  #resultStep #paidOffer[data-experiment-variant="B"] .premium-cta-block {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
  }

  #resultStep #paidOffer[data-experiment-variant="B"] .premium-price-block,
  #resultStep #paidOffer[data-experiment-variant="B"] .premium-cta-block {
    grid-row: 1;
    align-self: center;
  }

  #resultStep #paidOffer[data-experiment-variant="B"] .premium-price-block {
    grid-column: 1;
    justify-self: end;
  }

  #resultStep #paidOffer[data-experiment-variant="B"] .premium-sample-link {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    justify-self: stretch;
    text-align: center;
  }
}

@media (max-width: 700px) {
  #resultStep #paidOffer[data-experiment-variant="B"] {
    background-image:
      radial-gradient(circle at 92% 5%, rgba(151, 112, 211, 0.14), transparent 30%),
      linear-gradient(180deg, #fcfaff 0%, #f2ecfa 100%);
  }

  #resultStep #paidOffer[data-experiment-variant="B"] .premium-purchase {
    padding: 1rem;
  }

  #resultStep #paidOffer[data-experiment-variant="A"] .premium-purchase,
  #resultStep #paidOffer[data-experiment-variant="B"] .premium-purchase {
    row-gap: 0;
  }

  #resultStep #paidOffer[data-experiment-variant="A"] .premium-price-block,
  #resultStep #paidOffer[data-experiment-variant="B"] .premium-price-block {
    margin-bottom: 1.2rem;
  }

  #resultStep #paidOffer[data-experiment-variant="A"] .premium-sample-link,
  #resultStep #paidOffer[data-experiment-variant="B"] .premium-sample-link {
    margin-top: 0.45rem;
  }

  #resultStep #paidOffer[data-experiment-variant="B"] .premium-reassurance li {
    width: fit-content;
  }
}

@media (forced-colors: active) {
  #resultStep #paidOffer[data-experiment-variant="B"],
  #resultStep #paidOffer[data-experiment-variant="B"] .premium-question,
  #resultStep #paidOffer[data-experiment-variant="B"] .premium-benefits li {
    border-color: CanvasText;
    color: CanvasText;
    background: Canvas;
    box-shadow: none;
  }
}

/* P15 R08E-02 BLOCK 25: styles-r09b.css; SOURCE_SHA256=D221E5FE80394BAD145AF79EA136907679ADDEB94907A7A04753A272422B9C54 */
/* R09B: visual-only polish for the status-driven paid-report waiting experience. */
.full-flow-generation[data-lifecycle-state] {
  grid-template-areas:
    "copy visual"
    "details visual";
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.72fr);
  gap: 1.25rem clamp(2rem, 4vw, 4rem);
  align-items: start;
  background:
    radial-gradient(circle at 86% 12%, rgba(163, 137, 218, 0.16), transparent 22rem),
    linear-gradient(145deg, #ffffff 0%, #f9f8fd 68%, #f3f0fb 100%);
}

.full-flow-generation[data-lifecycle-state] .full-flow-processing-copy {
  grid-area: copy;
  align-content: start;
  gap: 0.72rem;
}

.full-flow-generation[data-lifecycle-state] .full-flow-processing-copy h1 {
  max-width: 14ch;
  color: #162b4a;
  font-size: clamp(2.45rem, 4.7vw, 4.35rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.full-flow-generation[data-lifecycle-state] .full-flow-processing-copy .eyebrow {
  color: #35735f;
  letter-spacing: 0.11em;
}

.full-flow-generation[data-lifecycle-state] .full-flow-processing-details {
  grid-area: details;
  display: grid;
  justify-items: start;
  gap: 0.9rem;
  min-width: 0;
}

.full-flow-generation[data-lifecycle-state] .full-flow-delivery-copy {
  gap: 0.35rem;
  padding: 0.85rem 1rem;
  border-color: #dcd8ea;
  color: #46556b;
  background: rgba(248, 247, 252, 0.9);
}

.full-flow-generation[data-lifecycle-state] .full-flow-processing-visual {
  grid-area: visual;
  position: relative;
  min-height: 440px;
  padding: 1.2rem;
  overflow: hidden;
  isolation: isolate;
  border-color: rgba(187, 177, 216, 0.72);
  background:
    radial-gradient(circle at 50% 44%, rgba(255, 255, 255, 0.9) 0 10%, transparent 38%),
    linear-gradient(155deg, #f8f6fc 0%, #eee9f8 52%, #e5e0f2 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.full-flow-generation[data-lifecycle-state] .full-flow-processing-visual::before {
  position: absolute;
  inset: 12% 14%;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(108, 83, 165, 0.16), transparent 68%);
  filter: blur(10px);
  content: "";
}

.processing-moon-scene {
  --orbit-radius: 6.8rem;
  position: relative;
  width: min(14.5rem, 72%);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
}

.processing-moon-aura {
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(124, 98, 183, 0.2), rgba(124, 98, 183, 0.04) 56%, transparent 72%);
  filter: blur(6px);
  animation: r09b-aura-breathe 8s ease-in-out infinite;
}

.processing-orbit {
  position: absolute;
  border: 1px solid rgba(79, 61, 129, 0.18);
  border-radius: 50%;
  transform: rotate(-18deg);
  animation: r09b2-orbit-drift 16s ease-in-out infinite alternate;
}

.processing-orbit-one { inset: 13% 7%; }
.processing-orbit-two { inset: 25% 17%; border-color: rgba(255, 255, 255, 0.72); transform: rotate(24deg); animation-delay: -7s; animation-duration: 20s; }

.processing-orbit-light {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 50%;
  width: 0.48rem;
  height: 0.48rem;
  margin: -0.24rem;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: 50%;
  background: #c8b5f3;
  box-shadow: 0 0 9px rgba(100, 70, 164, 0.7), 0 0 20px rgba(168, 140, 224, 0.42);
  animation: r09b2-orbit-light 11s linear infinite;
}

.processing-moon {
  position: relative;
  z-index: 2;
  width: 7.2rem;
  height: 7.2rem;
  overflow: visible;
  filter: drop-shadow(0 16px 24px rgba(63, 43, 112, 0.2));
  animation: r09b-moon-breathe 7.5s ease-in-out infinite;
}

.processing-star {
  position: absolute;
  z-index: 3;
  width: 0.34rem;
  height: 0.34rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 12px rgba(116, 83, 176, 0.54);
  animation: r09b-star-glow 6s ease-in-out infinite;
}

.processing-star-one { top: 25%; right: 22%; }
.processing-star-two { bottom: 27%; left: 19%; animation-delay: -2.6s; }

.full-flow-generation[data-lifecycle-state] .processing-moon-caption {
  position: relative;
  z-index: 3;
  margin-top: 0.45rem;
  color: #51456f;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.035em;
}

.processing-insight {
  position: relative;
  z-index: 4;
  width: min(100%, 21rem);
  min-height: 7.2rem;
  margin-top: 0.85rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(139, 116, 188, 0.2);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 12px 28px rgba(62, 43, 105, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.88);
  text-align: left;
  backdrop-filter: blur(8px);
}

.processing-insight > span {
  display: block;
  margin-bottom: 0.38rem;
  color: #68558e;
  font-size: 0.67rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.full-flow-generation[data-lifecycle-state] .processing-insight [data-processing-message] {
  max-width: none;
  min-height: 3.25em;
  margin: 0;
  color: #283a55;
  text-align: left;
  font-size: 0.89rem;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.5;
}

.full-flow-generation[data-lifecycle-state] .processing-insight [data-processing-message].is-changing {
  animation: r09b2-copy-arrive 0.65s ease both;
}

.full-flow-generation[data-lifecycle-state] .processing-long-wait {
  max-width: none;
  margin: 0.58rem 0 0;
  padding-top: 0.58rem;
  border-top: 1px solid rgba(139, 116, 188, 0.16);
  color: #53627a;
  text-align: left;
  font-size: 0.78rem;
  line-height: 1.48;
}

.processing-long-wait[hidden] { display: none; }

.full-flow-generation[data-lifecycle-state] .full-flow-steps {
  gap: 0.38rem;
}

.full-flow-generation[data-lifecycle-state] .full-flow-steps li {
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.7rem;
  padding: 0.58rem 0.7rem;
  border: 1px solid transparent;
  border-radius: 13px;
}

.full-flow-generation[data-lifecycle-state] .full-flow-steps li::after {
  left: 1.68rem;
  top: 2.6rem;
  bottom: -0.65rem;
  background: #d8dce6;
}

.full-flow-generation[data-lifecycle-state] .full-flow-steps li > span {
  width: 2rem;
  height: 2rem;
}

.full-flow-generation[data-lifecycle-state] .full-flow-steps li.is-done {
  background: rgba(239, 249, 245, 0.66);
}

.full-flow-generation[data-lifecycle-state] .full-flow-steps li.is-active {
  border-color: rgba(129, 104, 184, 0.28);
  background: linear-gradient(90deg, rgba(237, 232, 248, 0.9), rgba(249, 247, 252, 0.68));
}

.full-flow-generation[data-lifecycle-state] .full-flow-steps li.is-active > span {
  border-color: #8168b5;
  color: #4d397b;
  background: #eee8f8;
  box-shadow: 0 0 0 4px rgba(129, 104, 181, 0.09);
  animation: r09b-active-breathe 5.5s ease-in-out infinite;
}

.full-flow-generation[data-lifecycle-state] .full-flow-steps li.is-waiting {
  color: #68788b;
  background: rgba(247, 248, 251, 0.62);
}

.full-flow-generation[data-lifecycle-state] .button-row {
  margin-top: 0.1rem;
}

.full-flow-generation[data-lifecycle-state] .button-quiet {
  color: #53687c;
}

@keyframes r09b-moon-breathe {
  0%, 100% { transform: translateY(2px) scale(0.97); opacity: 0.88; filter: drop-shadow(0 12px 20px rgba(63, 43, 112, 0.16)); }
  50% { transform: translateY(-5px) scale(1.04); opacity: 1; filter: drop-shadow(0 20px 30px rgba(83, 56, 143, 0.3)); }
}

@keyframes r09b-aura-breathe {
  0%, 100% { transform: scale(0.9); opacity: 0.48; }
  50% { transform: scale(1.11); opacity: 0.94; }
}

@keyframes r09b2-orbit-drift {
  from { transform: rotate(-22deg) scale(0.985); opacity: 0.62; }
  to { transform: rotate(-12deg) scale(1.018); opacity: 1; }
}

@keyframes r09b2-orbit-light {
  from { transform: rotate(0deg) translateX(var(--orbit-radius)) scale(0.82); opacity: 0.58; }
  45% { opacity: 1; }
  to { transform: rotate(360deg) translateX(var(--orbit-radius)) scale(1.12); opacity: 0.58; }
}

@keyframes r09b2-copy-arrive {
  from { transform: translateY(0.32rem); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@keyframes r09b-star-glow {
  0%, 100% { transform: scale(0.82); opacity: 0.38; }
  50% { transform: scale(1.14); opacity: 0.92; }
}

@keyframes r09b-active-breathe {
  0%, 100% { box-shadow: 0 0 0 3px rgba(129, 104, 181, 0.06); }
  50% { box-shadow: 0 0 0 5px rgba(129, 104, 181, 0.12); }
}

@media (max-width: 850px) {
  .full-flow-generation[data-lifecycle-state] {
    grid-template-areas: "copy" "visual" "details";
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .full-flow-generation[data-lifecycle-state] .full-flow-processing-visual {
    order: initial;
    min-height: 292px;
  }

  .processing-moon-scene {
    --orbit-radius: 5.15rem;
    width: min(11.6rem, 60%);
  }

  .processing-moon { width: 5.4rem; height: 5.4rem; }
}

@media (max-width: 600px) {
  .full-flow-generation[data-lifecycle-state] {
    gap: 0.82rem;
    padding: 1rem;
  }

  .full-flow-generation[data-lifecycle-state] .full-flow-processing-copy {
    gap: 0.48rem;
  }

  .full-flow-generation[data-lifecycle-state] .full-flow-processing-copy h1 {
    font-size: clamp(2rem, 10.5vw, 2.75rem);
    line-height: 1.04;
  }

  .full-flow-generation[data-lifecycle-state] .full-flow-lead {
    font-size: 0.98rem;
    line-height: 1.52;
  }

  .full-flow-generation[data-lifecycle-state] .full-flow-processing-visual {
    min-height: 276px;
    padding: 0.85rem;
    border-radius: 18px;
  }

  .processing-moon-scene { --orbit-radius: 4.55rem; width: 10.2rem; }
  .processing-moon { width: 4.75rem; height: 4.75rem; }

  .full-flow-generation[data-lifecycle-state] .processing-moon-caption {
    margin-top: 0.18rem;
    font-size: 0.76rem;
  }

  .processing-insight {
    width: 100%;
    min-height: 6.8rem;
    margin-top: 0.62rem;
    padding: 0.72rem 0.78rem;
  }

  .full-flow-generation[data-lifecycle-state] .processing-insight [data-processing-message] {
    min-height: 3.8em;
    font-size: 0.84rem;
  }

  .full-flow-generation[data-lifecycle-state] .full-flow-delivery-copy {
    padding: 0.75rem 0.82rem;
  }

  .full-flow-generation[data-lifecycle-state] .full-flow-steps li {
    padding: 0.52rem 0.56rem;
  }
}

@media (max-width: 350px) {
  .full-flow-generation[data-lifecycle-state] { padding: 0.78rem; }
  .full-flow-generation[data-lifecycle-state] .full-flow-processing-copy h1 { font-size: 1.95rem; }
  .full-flow-generation[data-lifecycle-state] .full-flow-processing-visual { min-height: 258px; }
  .processing-moon-scene { --orbit-radius: 4.25rem; width: 9.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .processing-moon-aura,
  .processing-orbit,
  .processing-orbit-light,
  .processing-moon,
  .processing-star,
  .processing-insight [data-processing-message].is-changing,
  .full-flow-generation[data-lifecycle-state] .full-flow-steps li.is-active > span {
    animation: none;
  }
}

/* P15 R08E-02 BLOCK 26: cookie-consent.css; SOURCE_SHA256=4AEBECB3FA16582B965F3E9D8ED2DD6D05BDDCEF97FF4DD89AD24A9AE4074412 */
:root { --cc-banner-height: 0px; }
body.cc-banner-visible { padding-bottom: var(--cc-banner-height); }
.cc-banner[hidden] { display: none !important; }
.cc-banner, .cc-dialog { box-sizing: border-box; color: #09234a; font-family: Inter, Arial, sans-serif; }
.cc-banner *, .cc-dialog * { box-sizing: border-box; }
.cc-banner {
  position: fixed;
  z-index: 10000;
  right: 16px;
  bottom: 16px;
  left: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: min(1120px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  margin: 0 auto;
  padding: 15px 20px;
  border: 1px solid #cbdced;
  border-left: 5px solid #f52c72;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 54px rgba(0, 15, 43, .26);
  overflow: auto;
}
.cc-banner h2, .cc-dialog h2 { margin: 0 0 7px; color: #09234a; font-size: 1.28rem; line-height: 1.25; }
.cc-banner p, .cc-dialog p { margin: 0; color: #243d5d; font-size: .94rem; line-height: 1.5; }
.cc-banner a, .cc-dialog a { color: #084f96; text-decoration: underline; }
.cc-banner-copy { flex: 1 1 auto; min-width: 0; }
.cc-banner-actions { display: grid; flex: 0 0 288px; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 8px; }
.cc-banner-actions .cc-settings { grid-column: 1 / -1; justify-self: start; }
.cc-banner button, .cc-dialog button, .cc-page-button { min-height: 44px; border-radius: 9px; font: inherit; font-size: .88rem; font-weight: 700; cursor: pointer; }
.cc-choice { padding: 9px 14px; border: 2px solid #09234a; background: #09234a; color: #fff; }
.cc-choice:hover { background: #173e6d; border-color: #173e6d; }
.cc-settings { padding: 9px 6px; border: 0; background: transparent; color: #09234a; text-decoration: underline; }
.cc-settings:hover { color: #a40e46; }
.cc-banner button:focus-visible, .cc-dialog button:focus-visible, .cc-dialog input:focus-visible, .cc-page-button:focus-visible, .cc-footer-control:focus-visible {
  outline: 3px solid #0073cf;
  outline-offset: 3px;
}
.cc-dialog { width: min(620px, calc(100% - 24px)); max-height: min(90dvh, 780px); padding: 26px; border: 1px solid #cbdced; border-radius: 18px; box-shadow: 0 18px 54px rgba(0, 15, 43, .3); overflow: auto; overscroll-behavior: contain; }
.cc-dialog::backdrop { background: rgba(0, 13, 37, .62); }
.cc-dialog-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.cc-close { flex: none; width: 44px; padding: 0; border: 0; background: transparent; color: #09234a; font-size: 1.8rem !important; line-height: 1; }
.cc-dialog > p { margin: 2px 0 20px; }
.cc-category { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 16px 0; border-top: 1px solid #d9e5ef; }
.cc-category h3, .cc-category strong { display: block; margin: 0 0 4px; color: #09234a; font-size: 1rem; }
.cc-category small { display: block; color: #243d5d; font-size: .86rem; line-height: 1.45; }
.cc-always { flex: none; color: #395a78; font-size: .84rem; font-weight: 700; }
.cc-toggle-row { cursor: pointer; }
.cc-toggle-row > span { min-width: 0; }
.cc-toggle-row input { flex: none; width: 22px; height: 22px; margin: 0 5px; accent-color: #09234a; cursor: pointer; }
.cc-dialog .cc-dialog-detail { margin: 3px 0 20px; font-size: .86rem; }
.cc-dialog-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.cc-save, .cc-page-button { padding: 9px 14px; border: 2px solid #b51752; background: #b51752; color: #fff; }
.cc-save:hover, .cc-page-button:hover { background: #961044; border-color: #961044; }
.cc-page-action { margin-top: 18px; }
.site-footer nav .cc-footer-control { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .55rem; border: 0; background: transparent; color: #fff; font: inherit; font-size: .84rem; font-weight: 700; text-decoration: underline; cursor: pointer; }
.site-footer nav .cc-footer-control:hover { color: #ff8cba; }
@media (max-width: 760px) {
  .cc-banner { flex-direction: column; align-items: stretch; gap: 14px; }
  .cc-banner-copy { flex-basis: auto; }
  .cc-banner-actions { flex-basis: auto; }
}
@media (max-width: 560px) {
  .cc-banner { right: 8px; bottom: 8px; left: 8px; width: calc(100% - 16px); padding: 12px; gap: 8px; border-radius: 14px; }
  .cc-banner h2 { margin-bottom: 4px; font-size: 1.35rem; line-height: 1.22; }
  .cc-banner-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 8px; }
  .cc-banner-actions .cc-choice { padding: 8px; }
  .cc-banner-actions .cc-settings { grid-column: auto; justify-self: stretch; padding: 8px 4px; }
  .cc-dialog { padding: 18px; }
  .cc-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .cc-dialog-actions .cc-save { grid-column: 1 / -1; }
}
@media (max-width: 360px) {
  .cc-banner-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cc-banner-actions .cc-settings { grid-column: 1 / -1; }
}

