:root {
  --paper:#fcfcfd;
  --ink:#15151c;
  --muted:#666671;
  --purple:#7056d8;
  --navy:#080b18;
  --warm:#f5f4f2;
  --line:#e4e3e9;
  --content-width:1160px;
  --gutter:32px;
  --section-space:112px;
  --header-height:80px;
  color-scheme:light;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:var(--paper);
  font-synthesis:none;
}

* {
  box-sizing:border-box;
}

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

body {
  margin:0;
  font-size:17px;
  line-height:1.65;
  -webkit-text-size-adjust:100%;
}

body.dialog-open {
  overflow:hidden;
}

img {
  display:block;
  max-width:100%;
  height:auto;
}

button,input {
  font:inherit;
}

button,a,input,summary {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
}

a {
  color:inherit;
  text-underline-offset:5px;
}

button {
  color:inherit;
}

button:disabled {
  cursor:default;
}

[hidden] {
  display:none!important;
}

h1,h2,h3,p,figure,blockquote {
  margin:0;
}

h1,h2,h3 {
  line-height:1.06;
  letter-spacing:-.045em;
  text-wrap:balance;
}

h1 {
  font-size:clamp(52px,6.7vw,92px);
  font-weight:740;
}

h2 {
  font-size:clamp(36px,4.2vw,58px);
  font-weight:710;
}

h3 {
  font-size:23px;
  letter-spacing:-.025em;
}

p+p {
  margin-top:20px;
}

ul,ol {
  padding:0;
  list-style:none;
}

a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #9c80f4;
  outline-offset:5px;
  border-radius:4px;
}

.wrap {
  width:min(var(--content-width),calc(100% - var(--gutter)*2));
  margin-inline:auto;
}

.narrow-wide {
  max-width:960px;
}

.section {
  padding-block:var(--section-space);
}

.section-tight {
  padding-block:56px;
}

.split-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
}

.split-grid>* {
  min-width:0;
}

.centered {
  text-align:center;
}

.muted {
  color:var(--muted);
}

.small {
  font-size:14px;
  line-height:1.7;
}

.eyebrow {
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--purple);
  margin-bottom:22px;
}

.lead {
  font-size:21px;
  line-height:1.55;
  letter-spacing:-.02em;
  margin-top:28px;
  max-width:640px;
}

.prose>p {
  margin-top:24px;
}

.prose>.eyebrow {
  margin-top:0;
}

.prose .lead {
  font-size:21px;
}

.prose .text-link,.prose>.button {
  margin-top:28px;
}

.text-link {
  display:inline-flex;
  gap:8px;
  align-items:center;
  min-height:44px;
  font-size:15px;
  font-weight:650;
  color:var(--purple);
  text-decoration:none;
}

.text-link:hover {
  text-decoration:underline;
}

.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:10px 23px;
  border:1px solid transparent;
  border-radius:999px;
  background:var(--ink);
  color:white;
  text-decoration:none;
  font-size:15px;
  font-weight:650;
  line-height:1.35;
  text-align:center;
  transition:background .2s,transform .2s;
}

.button:hover {
  background:#34333d;
  transform:translateY(-1px);
}

.button-purple {
  background:var(--purple);
}

.button-purple:hover {
  background:#5f44c6;
}

.button-small {
  min-height:44px;
  padding:9px 18px;
  font-size:13px;
}

.mobile-only {
  display:none;
}

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

.skip-link {
  position:fixed;
  top:8px;
  left:16px;
  z-index:100;
  background:white;
  padding:12px;
  transform:translateY(-180%);
}

.skip-link:focus {
  transform:none;
}

.site-header {
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(252,252,253,.96);
  border-bottom:1px solid rgba(228,227,233,.6);
  backdrop-filter:blur(16px);
}

.header-inner {
  min-height:var(--header-height);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-size:21px;
  font-weight:730;
  letter-spacing:-.05em;
  white-space:nowrap;
  min-height:44px;
}

.brand img {
  border-radius:9px;
}

.site-navigation {
  display:flex;
  gap:27px;
  align-items:center;
}

.site-navigation>a:not(.button) {
  text-decoration:none;
  font-size:13px;
  font-weight:550;
  min-height:44px;
  display:flex;
  align-items:center;
}

.site-navigation>a:hover,.site-navigation>a[aria-current] {
  color:var(--purple);
}

.site-navigation>.button:hover {
  color:white;
}

.menu-toggle {
  border:1px solid var(--line);
  border-radius:999px;
  min-height:44px;
  padding:7px 17px;
  background:transparent;
  font-size:14px;
}

.site-footer {
  border-top:1px solid var(--line);
  padding:44px 0 28px;
  font-size:12px;
  color:var(--muted);
}

.footer-legal {
  display:flex;
  flex-wrap:wrap;
  gap:4px 24px;
}

.legal-page {
  max-width:760px;
  padding-block:48px 80px;
}

.legal-navigation {
  display:flex;
  flex-wrap:wrap;
  gap:8px 24px;
  margin-bottom:24px;
  font-size:14px;
}

.legal-navigation a,.legal-back-top {
  display:inline-flex;
  align-items:center;
  min-height:44px;
}

.page-privacy .legal-navigation a[href="/privacy/"],
.page-terms .legal-navigation a[href="/terms/"] {
  color:var(--purple);
  font-weight:700;
}

.legal-contents {
  padding:12px 20px;
  margin-bottom:40px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--warm);
  font-size:15px;
}

.legal-contents summary {
  cursor:pointer;
  padding-block:10px;
}

.legal-contents ol {
  list-style:none;
  padding:0;
  margin:8px 0;
}

.legal-contents a {
  display:block;
  padding-block:10px;
}

.legal-document {
  font-size:17px;
  line-height:1.8;
  overflow-wrap:anywhere;
}

.legal-document h1 {
  font-size:clamp(36px, 6vw, 56px);
  line-height:1.12;
  margin-bottom:24px;
}

.legal-document h2 {
  font-size:clamp(23px, 3vw, 28px);
  line-height:1.35;
  letter-spacing:-.025em;
  margin:44px 0 18px;
}

.legal-document p {
  margin-bottom:20px;
}

.legal-document a,.legal-back-top {
  color:var(--purple);
}

.legal-back-top {
  margin-top:24px;
}

@media(max-width:760px) {
  .legal-page { padding-block:24px 56px; }
  .legal-document { font-size:16px; }
  .footer-legal { gap:4px 20px; }
}

.footer-inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}

.footer-inner .brand {
  color:var(--ink);
}

.footer-inner nav {
  display:flex;
  gap:24px;
}

.footer-inner nav a,.footer-bottom a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  text-decoration:none;
}

.footer-bottom {
  margin-top:30px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
}

.home-hero {
  padding-top:64px;
  padding-bottom:60px;
}

.hero-copy {
  text-align:center;
}

.hero-copy .eyebrow {
  margin-bottom:20px;
}

.hero-copy .lead {
  max-width:550px;
  margin-inline:auto;
  font-size:19px;
  margin-top:24px;
}

.hero-description {
  font-size:15px;
  color:var(--muted);
  margin-top:10px;
}

.hero-link {
  margin-top:6px;
}

.hero-showcase {
  text-align:center;
}

.hero-stage {
  height:650px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}

.hero-photo {
  width:680px;
  max-width:100%;
  display:block;
}

.hero-photo img {
  width:100%;
  mix-blend-mode:multiply;
}

.hero-raw {
  height:590px;
  width:auto;
  max-width:90%;
  border-radius:30px;
  box-shadow:0 22px 65px #16152024;
}

.anchor-excerpt {
  position:absolute;
  text-align:left;
  background:#ffffffed;
  box-shadow:0 15px 60px #1615200d;
  border:1px solid #eae9ee;
  padding:20px 28px;
  min-width:210px;
  border-radius:18px;
  z-index:1;
}

.excerpt-start {
  left:10%;
  top:32%;
  transform:rotate(-4deg);
}

.excerpt-future {
  right:7%;
  top:58%;
  transform:rotate(4deg);
}

.micro-label {
  display:block;
  color:var(--muted);
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.anchor-excerpt strong {
  display:block;
  font-size:15px;
  letter-spacing:-.02em;
  margin-top:5px;
}

.anchor-number {
  display:block;
  font-size:27px;
  font-weight:720;
  letter-spacing:-.04em;
  margin-top:7px;
}

.orange {
  color:#d97927;
}

.purple {
  color:var(--purple);
}

.scene-tabs {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:8px auto 0;
  padding:6px;
  background:#efeff3;
  border-radius:999px;
  width:max-content;
  max-width:100%;
}

.scene-tabs button {
  border:0;
  min-height:44px;
  border-radius:999px;
  padding:9px 20px;
  background:transparent;
  color:#62616c;
  font-size:13px;
  font-weight:600;
  line-height:1.25;
}

.scene-tabs button[aria-selected=true] {
  color:var(--ink);
  background:white;
  box-shadow:0 2px 8px #11111b0a;
}

.sample-caption {
  font-size:12px;
  color:var(--muted);
  margin-top:18px;
}

.quiet-button {
  border:0;
  background:none;
  font-size:12px;
  min-height:44px;
  text-decoration:underline;
  text-underline-offset:4px;
  color:var(--muted);
}

.warm-section {
  background:var(--warm);
}

.motivation-grid {
  align-items:start;
}

.byline {
  font-size:14px;
  font-weight:650;
}

.byline span {
  display:block;
  font-size:12px;
  font-weight:400;
  color:var(--muted);
  margin-top:3px;
}

.timeline-section {
  background:var(--navy) url('/assets/timeline-atmosphere.webp') center bottom/cover no-repeat;
  color:#f7f7fc;
}

.timeline-section .eyebrow {
  color:#baabff;
}

.timeline-section .text-link {
  color:#c9bdff;
}

.timeline-section .lead,.timeline-section .prose>p:not(.eyebrow),.timeline-section .small {
  color:#c7c8d5;
}

.editorial-list {
  margin:36px 0 18px;
}

.editorial-list li {
  padding:16px 0;
  border-bottom:1px solid #ffffff20;
  display:flex;
  gap:22px;
  font-size:15px;
}

.editorial-list span {
  color:#bca7ff;
  font-size:12px;
}

.phone-figure {
  width:310px;
  max-width:100%;
  justify-self:center;
  text-align:center;
}

.screenshot-button {
  display:block;
  border:0;
  padding:0;
  position:relative;
  border-radius:35px;
  background:#0b0b12;
  box-shadow:0 24px 60px #0003;
  overflow:hidden;
  width:100%;
}

.screenshot-button img {
  width:100%;
  height:auto;
}

.image-action {
  position:absolute;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  padding:7px 13px;
  border-radius:999px;
  background:#ffffffec;
  color:#22212b;
  font-size:11px;
  white-space:nowrap;
  box-shadow:0 2px 10px #0003;
}

.screenshot-button:hover .image-action {
  background:white;
  text-decoration:underline;
}

figcaption {
  font-size:11px;
  line-height:1.6;
  color:var(--muted);
  margin-top:20px;
  text-align:center;
}

.timeline-section figcaption {
  color:#b6b7cb;
}

.section-heading {
  margin-bottom:48px;
}

.prompt-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  margin-top:50px;
}

.prompt-grid p {
  font-size:24px;
  letter-spacing:-.035em;
  line-height:1.35;
  margin:0;
  border-top:1px solid var(--line);
  padding-top:24px;
}

.prompt-grid span {
  display:block;
  font-size:11px;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--purple);
  margin-bottom:20px;
}

.reflection-caption {
  margin-top:48px;
  font-size:15px;
}

.plans-teaser {
  background:#f6f5fa;
}

.plan-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}

.plan-card {
  background:white;
  border:1px solid var(--line);
  padding:38px;
  border-radius:24px;
}

.pro-card {
  border-color:#c5b9f3;
  background:#fcfaff;
}

.plan-name {
  font-size:23px;
  font-weight:700;
  letter-spacing:-.025em;
  line-height:1.2;
}

.price {
  font-size:52px;
  font-weight:720;
  letter-spacing:-.05em;
  line-height:1.1;
  margin-top:22px;
}

.price-small {
  font-size:44px;
}

.pro-card .price {
  color:var(--purple);
}

.price span {
  font-size:16px;
  font-weight:450;
  letter-spacing:0;
  color:var(--muted);
}

.feature-list {
  margin:26px 0 0;
}

.feature-list li {
  position:relative;
  padding-left:24px;
  margin:12px 0;
  font-size:15px;
  line-height:1.5;
}

.feature-list li:before {
  content:'✓';
  position:absolute;
  left:0;
  color:var(--purple);
  font-size:14px;
}

.plan-notice {
  letter-spacing:.05em;
  font-size:10px;
  line-height:1.6;
  margin:22px 0 0;
  color:#70657f;
}

.billing-note {
  margin-top:30px;
  font-size:14px;
}

.billing-note span {
  padding:0 12px;
}

.closing h2 {
  font-size:clamp(42px,5vw,70px);
}

.closing p:not(.eyebrow) {
  margin-top:24px;
  color:var(--muted);
}

.closing .button,.closing>.wrap>.text-link {
  margin-top:28px;
}

.closing-links {
  display:flex;
  justify-content:center;
  gap:32px;
  margin-top:28px;
}

.story-hero-inner {
  display:grid;
  grid-template-columns:1fr 280px;
  align-items:center;
  gap:80px;
}

.story-hero h1 {
  font-size:clamp(48px,5.5vw,76px);
}

.story-brand-art {
  border-radius:28%;
  transform:rotate(8deg);
  box-shadow:0 30px 80px #a698d33a;
}

.story-intro .byline {
  margin-top:28px;
}

.entry-figure {
  width:350px;
  max-width:100%;
  justify-self:center;
}

.entry-shot {
  height:570px;
  border-radius:30px;
}

.entry-shot img {
  width:100%;
}

.naming-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}

.naming-heading img {
  border-radius:18px;
}

.name-breakdown {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
  margin:64px 0 40px;
}

.name-breakdown div {
  border-top:1px solid var(--line);
  padding-top:26px;
}

.name-breakdown dt {
  font-size:68px;
  letter-spacing:-.06em;
  line-height:1;
  font-weight:720;
}

.name-breakdown dd {
  margin:20px 0 0;
  font-size:15px;
  color:var(--muted);
}

.naming-explanation {
  max-width:650px;
  font-size:19px;
}

.story-conclusion blockquote {
  font-size:36px;
  line-height:1.4;
  letter-spacing:-.035em;
  padding-left:35px;
  border-left:2px solid #c3b2f5;
  color:var(--purple);
}

.method-hero h1 {
  font-size:clamp(48px,4.4vw,64px);
}

.method-hero .split-grid {
  gap:32px;
}

.method-jumps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-top:36px;
  border-top:1px solid var(--line);
  padding-top:18px;
}

.method-jumps a {
  text-decoration:none;
  font-size:14px;
  min-height:60px;
}

.method-jumps a:hover {
  color:var(--purple);
}

.method-jumps span {
  display:block;
  color:var(--purple);
  font-size:11px;
  font-weight:650;
}

.method-hero .small {
  margin:20px 0 10px;
}

.step-index {
  font-size:40px;
  font-weight:700;
  color:var(--purple);
  letter-spacing:-.05em;
  margin-bottom:26px;
}

.step-index span {
  font-size:13px;
  letter-spacing:0;
  vertical-align:middle;
  margin-left:16px;
}

.timeline-section .step-index {
  color:#baabff;
}

.example-note {
  border-left:2px solid #cbbef4;
  margin-top:32px;
  padding:4px 0 4px 22px;
}

.example-note .eyebrow {
  margin-bottom:16px;
}

.example-note dl {
  margin:0;
}

.example-note dl div {
  margin-bottom:12px;
}

.example-note dt {
  font-size:11px;
  color:var(--muted);
}

.example-note dd {
  font-size:15px;
  margin:2px 0 0;
}

.example-note p.small {
  margin-top:16px;
}

.compact-phone {
  width:280px;
}

.journal-questions {
  font-size:19px;
  line-height:1.55;
  margin:28px 0;
}

.journal-questions li {
  padding:11px 0;
  border-bottom:1px solid var(--line);
}

.timeline-section .journal-questions li {
  border-color:#ffffff25;
}

.boundary-note {
  color:var(--muted);
  border-left:2px solid #cbbef4;
  padding-left:18px;
}

.included-note {
  padding:16px 18px;
  border:1px solid #bba8f650;
  border-radius:12px;
  font-size:14px;
}

.small-quote {
  font-size:28px;
  line-height:1.45;
  letter-spacing:-.035em;
  color:var(--purple);
}

.plans-hero {
  padding-bottom:50px;
}

.plans-hero h1 {
  font-size:clamp(44px,5.2vw,70px);
}

.plans-hero .lead {
  margin-inline:auto;
  font-size:19px;
}

.plans-hero .text-link {
  margin-top:18px;
}

.detailed-plans .plan-card {
  padding:34px;
}

.plan-description {
  font-size:15px;
  color:var(--muted);
  margin-top:18px;
}

.detailed-plans .button {
  margin-top:28px;
}

.detailed-plans .pro-card>p:not(.billing-explanation):not(.pro-summary) {
  font-size:14px;
  color:var(--muted);
  margin-top:18px;
}

.billing-options {
  border:0;
  padding:0;
  margin:22px 0 0;
  min-width:0;
}

.billing-options label {
  position:relative;
  display:grid;
  grid-template-columns:18px 1fr auto;
  align-items:center;
  gap:10px;
  padding:14px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  margin-top:9px;
  cursor:pointer;
  min-height:54px;
  font-size:13px;
}

.billing-options label:has(input:checked) {
  border-color:var(--purple);
  background:#f0ebfc;
}

.billing-options input {
  accent-color:var(--purple);
  margin:0;
  width:17px;
  height:17px;
}

.billing-options strong {
  font-size:15px;
  font-weight:700;
  color:var(--purple);
}

.billing-options small {
  font-size:10px;
  font-weight:400;
  white-space:nowrap;
}

.billing-explanation {
  min-height:48px;
  color:var(--purple);
  margin-top:18px;
  font-size:12px;
}

.pro-summary {
  color:var(--muted);
  font-size:12px;
  margin-top:10px;
}

.price-disclaimer {
  margin-top:20px;
}

.comparison-heading {
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:end;
  margin-bottom:32px;
}

.comparison-heading h2 {
  font-size:44px;
}

.filter-button {
  border:1px solid var(--line);
  border-radius:999px;
  background:white;
  min-height:44px;
  padding:9px 17px;
  font-size:12px;
  white-space:nowrap;
}

.filter-button[aria-pressed=true] {
  border-color:var(--purple);
  color:var(--purple);
  background:#f4f0fe;
}

.comparison-table {
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:14px;
  line-height:1.45;
}

.comparison-table th,.comparison-table td {
  text-align:left;
  border-bottom:1px solid var(--line);
  padding:18px 20px;
}

.comparison-table th:first-child {
  width:54%;
  padding-left:0;
}

.comparison-table thead th {
  font-size:12px;
  color:var(--muted);
}

.comparison-table tbody th {
  font-weight:500;
}

.comparison-table td:last-child {
  color:var(--purple);
  background:#f7f4fc;
}

.cell-label {
  display:none;
}

.comparison-footnotes {
  font-size:12px;
  line-height:1.65;
  color:var(--muted);
  margin-top:24px;
  max-width:760px;
}

.comparison-footnotes p+p {
  margin-top:8px;
}

.ownership-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:48px;
  margin-top:54px;
}

.ownership-grid h3 {
  font-size:20px;
  letter-spacing:-.02em;
}

.ownership-grid p {
  font-size:15px;
  color:#c7c8d5;
  margin-top:18px;
}

.ownership-notes {
  border-top:1px solid #ffffff25;
  margin-top:40px;
  padding-top:24px;
  color:#b8b9cd;
  font-size:12px;
}

.ownership-notes p+p {
  margin-top:8px;
}

.faq-list details {
  border-bottom:1px solid var(--line);
}

.faq-list summary {
  position:relative;
  padding:24px 40px 24px 0;
  cursor:pointer;
  font-size:17px;
  font-weight:600;
  line-height:1.5;
  list-style:none;
  letter-spacing:-.015em;
}

.faq-list summary::-webkit-details-marker {
  display:none;
}

.faq-list summary:after {
  content:'+';
  position:absolute;
  right:5px;
  top:23px;
  color:var(--purple);
  font-size:22px;
  line-height:1;
}

.faq-list details[open] summary:after {
  content:'−';
}

.faq-list details>div {
  font-size:15px;
  color:var(--muted);
  max-width:740px;
  padding:0 24px 25px 0;
}

.support-callout {
  margin-top:50px;
  padding:28px;
  border-radius:18px;
  background:var(--warm);
}

.support-callout p {
  font-size:15px;
  color:var(--muted);
  margin-top:12px;
}

.support-callout a {
  margin-top:12px;
}

.screenshot-dialog {
  padding:0;
  border:1px solid #ffffff25;
  border-radius:20px;
  background:#11111b;
  color:white;
  width:min(520px,calc(100% - 24px));
  max-height:calc(100dvh - 32px);
  overscroll-behavior:contain;
}

.screenshot-dialog::backdrop {
  background:#050612d9;
  backdrop-filter:blur(8px);
}

.dialog-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 18px;
  background:#181821;
  position:sticky;
  top:0;
  z-index:1;
}

.dialog-header h2 {
  font-size:18px;
  letter-spacing:-.02em;
}

.dialog-close {
  background:#353441;
}

.dialog-image {
  width:100%;
  height:auto;
}

.dialog-caption {
  text-align:center;
  font-size:12px;
  padding:20px;
  color:#c5c2d1;
}

@media(min-width:761px) and (max-width:1000px) {
  .site-navigation {
    gap:16px;
  }
  .site-navigation .header-cta {
    display:none;
  }
  .split-grid {
    gap:44px;
  }
  .footer-inner {
    flex-wrap:wrap;
  }
  .hero-stage {
    height:600px;
  }
  .anchor-excerpt {
    min-width:170px;
    padding:16px 20px;
  }
  .excerpt-start {
    left:0;
  }
  .excerpt-future {
    right:0;
  }
  .story-hero-inner {
    grid-template-columns:1fr 200px;
    gap:40px;
  }
  .billing-options label {
    grid-template-columns:18px 1fr;
  }
  .billing-options strong {
    grid-column:2;
  }
}

@media(max-width:760px) {
  :root {
    --gutter:22px;
    --section-space:72px;
    --header-height:68px;
  }
  body {
    font-size:16px;
    line-height:1.7;
  }
  h1 {
    font-size:clamp(40px,11.5vw,58px);
    letter-spacing:-.05em;
  }
  h2 {
    font-size:clamp(34px,9vw,46px);
    letter-spacing:-.04em;
  }
  .lead,.prose .lead {
    font-size:18px;
    line-height:1.6;
    margin-top:24px;
  }
  .eyebrow {
    font-size:10px;
    letter-spacing:.11em;
    margin-bottom:18px;
  }
  .section-tight {
    padding-block:36px;
  }
  .split-grid {
    grid-template-columns:1fr;
    gap:42px;
  }
  .mobile-only {
    display:block;
  }
  .button {
    min-height:50px;
  }
  .header-inner {
    flex-wrap:wrap;
    gap:0;
    padding-block:10px;
    min-height:var(--header-height);
  }
  .brand {
    font-size:20px;
  }
  .brand img {
    width:32px;
    height:32px;
  }
  .menu-toggle:not([hidden]) {
    display:block;
  }
  .site-navigation {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    gap:8px 22px;
    padding-block:12px;
  }
  .site-navigation>a:not(.button) {
    font-size:14px;
  }
  .site-navigation>.button {
    width:100%;
    margin-top:4px;
  }
  .js .site-navigation {
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding-block:12px 14px;
    gap:0;
  }
  .js .site-navigation a:not(.button) {
    min-height:48px;
    border-bottom:1px solid var(--line);
  }
  .js .site-navigation.is-open {
    display:flex;
  }
  .js .site-navigation>.button {
    margin-top:16px;
  }
  .site-footer {
    padding-block:32px 22px;
  }
  .footer-inner {
    align-items:start;
    flex-direction:column;
    gap:20px;
  }
  .footer-inner nav {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 32px;
    width:100%;
    font-size:13px;
  }
  .footer-inner>p {
    font-size:12px;
  }
  .footer-bottom {
    margin-top:18px;
    align-items:start;
    flex-direction:column;
    gap:4px;
    font-size:11px;
  }
  .home-hero {
    padding-top:46px;
    padding-bottom:42px;
  }
  .hero-copy .eyebrow {
    font-size:9px;
  }
  .hero-copy .lead {
    font-size:17px;
    max-width:330px;
    margin-top:22px;
  }
  .hero-description {
    font-size:13px;
    margin-top:12px;
    max-width:270px;
    margin-inline:auto;
  }
  .hero-stage {
    height:410px;
    width:calc(100% + var(--gutter)*2);
    margin-inline:calc(var(--gutter)*-1);
  }
  .hero-photo {
    width:410px;
  }
  .hero-raw {
    height:374px;
    border-radius:24px;
  }
  .anchor-excerpt {
    display:none;
  }
  .scene-tabs {
    padding:4px;
    border-radius:18px;
    gap:2px;
    width:100%;
  }
  .scene-tabs button {
    font-size:12px;
    padding:8px 7px;
    min-height:48px;
    flex:1;
    border-radius:14px;
    max-width:unset;
  }
  .sample-caption {
    font-size:10px;
    min-height:34px;
    max-width:290px;
    margin:16px auto 0;
  }
  .quiet-button {
    font-size:11px;
  }
  .motivation-grid {
    gap:24px;
  }
  .prose>p {
    margin-top:20px;
  }
  .byline {
    font-size:13px;
  }
  .phone-figure {
    width:260px;
  }
  .screenshot-button {
    border-radius:30px;
  }
  .timeline-section {
    background-position:center bottom;
    background-size:auto 100%;
  }
  .timeline-copy .lead {
    max-width:360px;
  }
  .editorial-list {
    margin-top:26px;
  }
  .editorial-list li {
    font-size:14px;
    gap:18px;
    padding:14px 0;
  }
  .section-heading {
    margin-bottom:32px;
  }
  .prompt-grid {
    grid-template-columns:1fr;
    gap:28px;
    margin-top:32px;
  }
  .prompt-grid p {
    font-size:22px;
    padding-top:18px;
  }
  .prompt-grid span {
    margin-bottom:10px;
    font-size:10px;
  }
  .reflection-caption {
    margin-top:32px;
    text-align:left;
    font-size:14px;
  }
  .plan-grid {
    grid-template-columns:1fr;
    gap:18px;
  }
  .plan-card,.detailed-plans .plan-card {
    padding:28px;
    border-radius:20px;
  }
  .price {
    font-size:48px;
  }
  .price-small {
    font-size:42px;
  }
  .plan-name {
    font-size:23px;
  }
  .feature-list li {
    font-size:14px;
    margin:12px 0;
  }
  .billing-note {
    font-size:12px;
  }
  .billing-note span {
    padding:0 6px;
  }
  .closing h2 {
    font-size:clamp(38px,10vw,54px);
  }
  .closing p:not(.eyebrow) {
    font-size:15px;
  }
  .closing-links {
    flex-direction:column;
    align-items:center;
    gap:4px;
  }
  .story-hero-inner {
    grid-template-columns:1fr;
    gap:44px;
  }
  .story-hero h1,.method-hero h1 {
    font-size:clamp(40px,10.6vw,58px);
  }
  .story-brand-art {
    width:140px;
    justify-self:center;
    border-radius:32px;
    box-shadow:0 22px 50px #a698d33a;
  }
  .story-section>.prose {
    grid-row:1;
  }
  .entry-figure {
    width:300px;
  }
  .entry-shot {
    height:510px;
    border-radius:26px;
  }
  .naming-heading {
    align-items:start;
    gap:15px;
  }
  .naming-heading img {
    width:44px;
    height:44px;
    border-radius:11px;
  }
  .naming-heading h2 {
    font-size:34px;
  }
  .name-breakdown {
    gap:20px;
    margin:36px 0 30px;
  }
  .name-breakdown dt {
    font-size:42px;
  }
  .name-breakdown dd {
    font-size:11px;
    margin-top:15px;
  }
  .naming-explanation {
    font-size:16px;
  }
  .story-conclusion blockquote {
    font-size:28px;
    padding-left:24px;
  }
  .method-hero .split-grid {
    gap:28px;
  }
  .method-hero-art {
    width:100%;
    max-width:400px;
    justify-self:center;
  }
  .method-jumps {
    gap:10px;
    margin-top:28px;
  }
  .method-jumps a {
    font-size:12px;
  }
  .method-hero .small {
    font-size:12px;
    margin-top:12px;
  }
  .step-index {
    font-size:34px;
    margin-bottom:22px;
  }
  .example-note {
    padding-left:18px;
  }
  .example-note dd {
    font-size:14px;
  }
  .compact-phone {
    width:230px;
  }
  .reverse-on-mobile>.prose {
    grid-row:1;
  }
  .journal-questions {
    font-size:17px;
  }
  .boundary-note {
    font-size:13px;
  }
  .small-quote {
    font-size:25px;
  }
  .plans-hero {
    padding-top:48px;
    padding-bottom:20px;
  }
  .plans-hero h1 {
    font-size:clamp(36px,9.4vw,52px);
  }
  .plans-hero .lead {
    font-size:16px;
  }
  .plans-hero .plan-notice {
    font-size:9px;
  }
  .plan-notice {
    font-size:9px;
  }
  .detailed-plans .button {
    width:100%;
  }
  .billing-options label {
    font-size:12px;
    gap:8px;
  }
  .billing-options strong {
    font-size:14px;
  }
  .billing-explanation {
    min-height:40px;
  }
  .comparison-heading {
    align-items:start;
    flex-direction:column;
    gap:22px;
  }
  .comparison-heading h2 {
    font-size:36px;
  }
  .comparison-table,.comparison-table tbody {
    display:block;
    width:100%;
  }
  .comparison-table thead {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
  }
  .comparison-table tr {
    display:grid;
    grid-template-columns:1fr 1fr;
    border-bottom:1px solid var(--line);
    padding:20px 0;
    gap:10px 0;
  }
  .comparison-table tbody th:first-child {
    grid-column:1/-1;
    width:auto;
    padding:0 0 5px;
    font-size:15px;
    font-weight:600;
  }
  .comparison-table th,.comparison-table td {
    border:0;
    padding:8px 12px;
    font-size:13px;
  }
  .comparison-table td:nth-child(2) {
    padding-left:0;
  }
  .comparison-table td:last-child {
    border-radius:8px;
  }
  .cell-label {
    display:block;
    text-transform:uppercase;
    font-size:9px;
    letter-spacing:.08em;
    color:var(--muted);
    margin-bottom:5px;
  }
  .comparison-table td:last-child .cell-label {
    color:var(--purple);
  }
  .comparison-footnotes {
    font-size:11px;
  }
  .ownership-grid {
    grid-template-columns:1fr;
    gap:32px;
    margin-top:36px;
  }
  .ownership-grid p {
    margin-top:12px;
    font-size:14px;
  }
  .ownership-notes {
    font-size:11px;
    margin-top:32px;
  }
  .faq-list summary {
    font-size:15px;
    padding-block:22px;
  }
  .faq-list details>div {
    font-size:14px;
    padding-right:10px;
  }
  .support-callout {
    padding:24px;
    margin-top:36px;
  }
  .support-callout h3 {
    font-size:21px;
  }
  .screenshot-dialog {
    max-height:calc(100dvh - 20px);
    width:calc(100% - 16px);
    border-radius:14px;
  }
  .dialog-header {
    padding:10px 14px;
  }
}

@media(max-width:360px) {
  :root {
    --gutter:18px;
  }
  .hero-stage {
    height:355px;
  }
  .hero-photo {
    width:355px;
  }
  .hero-raw {
    height:330px;
  }
  .scene-tabs button {
    font-size:11px;
    padding-inline:4px;
  }
  .plan-card,.detailed-plans .plan-card {
    padding:22px;
  }
  .billing-options label {
    grid-template-columns:17px 1fr;
  }
  .billing-options strong {
    grid-column:2;
  }
  .entry-figure {
    width:270px;
  }
  .entry-shot {
    height:470px;
  }
}

/* Core comparison: keep the same three features aligned in both columns. */
.page-plans .plans-hero { padding-block:64px 28px; }
.page-plans .plans-hero h1 { font-size:clamp(38px,5vw,64px); }
.page-plans .plans-hero .lead { max-width:620px; font-size:18px; }
.core-plan-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.core-plan { padding:32px; border:1px solid var(--line); border-radius:24px; background:white; }
.core-pro { background:#f7f3ff; border-color:#bca9ef; }
.core-plan-header { min-height:94px; }
.core-plan-header h2 { font-size:28px; }
.core-plan-header p { font-size:14px; margin-top:10px; color:var(--muted); }
.core-features { margin:0; }
.core-features li { min-height:142px; padding:22px 0; border-top:1px solid var(--line); }
.core-features strong { display:block; font-size:36px; line-height:1.15; letter-spacing:-.045em; }
.core-pro .core-features strong { color:var(--purple); }
.core-features span { display:block; font-size:17px; font-weight:600; margin-top:7px; }
.core-features small { display:block; font-size:13px; line-height:1.55; color:var(--muted); margin-top:8px; }
.core-pro .core-features li:nth-child(2) small { color:var(--purple); font-weight:650; }
.core-plan-footer { padding-top:22px; border-top:1px solid var(--line); }
.core-cost { font-size:30px; font-weight:700; letter-spacing:-.04em; }
.core-cost span { font-size:13px; font-weight:400; letter-spacing:0; color:var(--muted); }
.core-plan-footer .text-link { margin-top:8px; }
.core-plan-notes { padding:22px 4px 0; font-size:14px; color:var(--muted); }
.core-plan-notes p+p { font-size:12px; margin-top:10px; }
.pro-billing { margin-top:52px; padding:30px; border:1px solid var(--line); border-radius:20px; }
.billing-heading h2 { font-size:26px; line-height:1.2; letter-spacing:-.025em; }
.billing-heading p { font-size:14px; color:var(--muted); margin-top:8px; }
.pro-billing .billing-options { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.pro-billing .billing-options label { grid-template-columns:18px 1fr; margin:0; padding:18px; }
.pro-billing .billing-options strong { grid-column:2; font-size:23px; }
.pro-billing .billing-explanation { min-height:0; font-size:13px; }
.pro-billing>.small { font-size:12px; margin-top:8px; }
.page-plans .comparison-section { padding-top:60px; }
.availability { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; font-size:22px; font-weight:650; line-height:1; }
.availability-yes { color:#5f44c6; }
.availability-no { color:#85818e; font-weight:400; font-size:27px; }
.comparison-value { font-weight:650; }
.comparison-table td,.comparison-table thead th:not(:first-child) { text-align:center; }
.comparison-heading h2 { font-size:clamp(32px,3.5vw,44px); }

@media(max-width:760px) {
  .page-plans .plans-hero { padding-block:42px 16px; }
  .page-plans .plans-hero .lead { font-size:16px; }
  .core-plan-grid { gap:12px; }
  .core-plan { padding:20px 16px; border-radius:18px; }
  .core-plan-header { min-height:104px; }
  .core-plan-header h2 { font-size:24px; }
  .core-plan-header p { font-size:12px; line-height:1.5; }
  .core-features li { min-height:165px; padding-block:22px; }
  .core-features strong { font-size:24px; }
  .core-features span { font-size:14px; line-height:1.4; }
  .core-features small { font-size:12px; line-height:1.5; }
  .core-cost { font-size:27px; }
  .core-cost span { display:block; font-size:11px; }
  .core-plan-footer .text-link { font-size:12px; line-height:1.5; }
  .core-plan-footer .text-link span { display:none; }
  .pro-billing { padding:24px; margin-top:32px; }
  .billing-heading h2 { font-size:24px; }
  .pro-billing .billing-options { grid-template-columns:1fr; gap:10px; }
  .pro-billing .billing-options label { grid-template-columns:18px 1fr auto; padding:15px 12px; }
  .pro-billing .billing-options strong { grid-column:auto; font-size:18px; }
  .comparison-table td:nth-child(2) { padding-left:12px; }
}
@media(max-width:360px) {
  .core-plan { padding:18px 12px; }
  .core-plan-grid { gap:10px; }
  .core-features strong { font-size:21px; }
  .core-features li { min-height:176px; }
  .pro-billing { padding:20px; }
  .pro-billing .billing-options label { grid-template-columns:18px 1fr; }
  .pro-billing .billing-options strong { grid-column:2; }
}
/* Story page typography. Product screenshots are the only story imagery. */
.philosophy-hero { padding-block:72px 48px; }
.philosophy-intro { text-align:center; max-width:960px; margin:auto; }
.philosophy-intro h1 { font-size:clamp(48px,6.3vw,82px); }
.philosophy-intro .lead { max-width:680px; margin:28px auto 0; }
.philosophy-intro .byline { margin-top:28px; }
.story-jumps { display:flex; justify-content:center; flex-wrap:wrap; gap:12px 32px; padding-top:32px; }
.story-jumps a { font-size:13px; text-decoration:none; min-height:44px; display:flex; align-items:center; border-bottom:1px solid var(--line); }
.story-jumps a:hover { color:var(--purple); }
.brand-story-split { gap:64px; }
.philosophy-quote { text-align:center; padding-top:48px; margin-top:48px; border-top:1px solid var(--line); font-size:clamp(28px,3.5vw,44px); line-height:1.3; letter-spacing:-.04em; color:var(--purple); }
.principle-list { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 64px; }
.principle-list li { display:grid; grid-template-columns:36px 1fr; gap:20px; border-top:1px solid var(--line); padding:32px 0; }
.principle-list li>span { font-size:12px; color:var(--purple); padding-top:3px; }
.principle-list h3 { line-height:1.25; margin-bottom:14px; }
.principle-list p { color:var(--muted); }
.story-belief { background:#f3f0fa; }
.founder-closing { padding:40px; border-left:2px solid #c2b1e4; }
.founder-closing blockquote { font-size:32px; line-height:1.4; letter-spacing:-.035em; color:var(--purple); margin-bottom:28px; }
.practice-note { padding:40px; background:#fff; border-radius:24px; }
.practice-note h3 { font-size:28px; line-height:1.2; margin-bottom:20px; }
@media(min-width:761px) and (max-width:1000px) {
  .brand-story-split { gap:36px; }
  .principle-list { column-gap:32px; }
  .founder-closing { padding:24px; }
}
@media(max-width:760px) {
  .brand-story-split { gap:32px; }
  .philosophy-hero { padding-block:48px 32px; }
  .philosophy-intro h1 { font-size:40px; }
  .philosophy-intro .lead { margin-top:24px; }
  .philosophy-intro .lead br { display:none; }
  .story-jumps { display:grid; grid-template-columns:1fr 1fr; gap:4px 20px; padding-top:24px; }
  .story-jumps a { font-size:12px; }
  .philosophy-quote { margin-top:32px; padding-top:32px; }
  .principle-list { grid-template-columns:1fr; }
  .principle-list li { padding:24px 0; grid-template-columns:26px 1fr; gap:14px; }
  .founder-closing { padding:8px 0 8px 24px; }
  .founder-closing blockquote { font-size:28px; }
  .practice-note { padding:28px; }
}
@media(max-width:360px) {
  .philosophy-intro h1 { font-size:39px; }
  .practice-note { padding:22px; }
}
/* Homepage: match Flighty-Story-Suite-v2/01-home.png. */
.page-home { --content-width:1240px; }
.page-home .home-hero { padding:16px 0 24px; background:url('/assets/hero-aura-v2.webp') center bottom/100% auto no-repeat; }
.page-home .hero-copy h1 { font-size:clamp(52px,6.4vw,88px); line-height:1; }
.page-home .hero-copy .lead { max-width:920px; font-size:24px; margin-top:18px; line-height:1.4; }
.page-home .hero-description { font-size:20px; margin-top:2px; }
.hero-origin { display:grid; grid-template-columns:92px minmax(0,1fr); align-items:center; gap:24px; max-width:680px; margin:28px auto 0; padding:20px 24px; text-align:left; border:1px solid #e8e3ef; border-radius:20px; background:linear-gradient(120deg,#faf8fc,#f4f3f9); }
.hero-origin>img { width:92px; height:auto; border-radius:12px; }
.hero-origin .origin-caption { margin:0 0 6px; font-size:11px; color:var(--muted); }
.hero-origin h2 { font-size:24px; line-height:1.2; letter-spacing:-.035em; }
.hero-origin .origin-story { font-size:14px; line-height:1.65; margin:10px 0 0; color:var(--muted); }
.hero-origin .origin-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:12px; color:var(--purple); text-decoration:none; }
.page-home .hero-link { font-size:17px; margin-top:0; }
.page-home .hero-stage { height:800px; }
.page-home .hero-photo { width:800px; }
.page-home .hero-photo { mix-blend-mode:multiply; }
.page-home .hero-raw { height:690px; }
.page-home .anchor-excerpt { top:14%; padding:18px 24px 18px 100px; min-width:290px; border-radius:18px; }
.page-home .excerpt-start { left:4%; transform:rotate(-5deg); }
.page-home .excerpt-future { right:3%; transform:rotate(5deg); }
.page-home .anchor-excerpt strong { font-size:20px; margin-top:0; }
.page-home .anchor-number { font-size:31px; margin-top:1px; }
.anchor-icon { position:absolute; width:60px; height:60px; top:28px; left:22px; display:grid; place-items:center; background:#ff9700; border-radius:50%; }
.excerpt-future .anchor-icon { background:#713aff; }
.anchor-icon img { filter:brightness(0) invert(1); }
.anchor-date { display:block; font-size:15px; color:var(--muted); }
.anchor-sample { position:absolute; top:calc(100% + 7px); left:0; width:100%; text-align:center; font-size:11px; color:var(--muted); }
.page-home .scene-tabs { margin-top:24px; background:transparent; padding:0; gap:24px; border-radius:0; }
.page-home .scene-tabs button { min-height:36px; padding:4px 0; border-radius:0; border-bottom:2px solid transparent; font-size:13px; }
.page-home .scene-tabs button[aria-selected=true] { border-color:var(--purple); color:var(--purple); background:transparent; box-shadow:none; }
.page-home .sample-caption { margin-top:8px; font-size:11px; }
.page-home .quiet-button { min-height:30px; }
.page-home .warm-section { padding-block:40px; background:#faf9f6; }
.page-home .motivation-grid { grid-template-columns:1.25fr 1fr; gap:54px; }
.page-home .motivation-grid h2 { font-size:clamp(38px,4.5vw,64px); line-height:1.05; }
.page-home .motivation-grid .eyebrow { margin-bottom:16px; }
.page-home .motivation-grid .prose>p:first-child { margin-top:0; }
.page-home .motivation-grid .prose>p { font-size:23px; line-height:1.45; margin-top:18px; }
.page-home .motivation-grid .prose>.byline { font-size:15px; }
.page-home .timeline-section { padding-block:36px; background-image:url('/assets/timeline-showcase-v2.webp'); }
.page-home .timeline-grid { grid-template-columns:1.35fr 1fr; gap:36px; align-items:start; }
.page-home .timeline-copy { padding-top:42px; }
.page-home .timeline-copy h2 { font-size:clamp(34px,4vw,58px); }
.page-home .timeline-copy .lead { font-size:22px; margin-top:18px; }
.page-home .editorial-list { margin:44px 0 24px; }
.page-home .editorial-list li { border:0; padding:10px 0; font-size:20px; }
.page-home .editorial-list span { font-size:20px; color:#f7f7fc; }
.page-home .phone-figure { width:280px; }
.page-home .phone-figure figcaption { margin-top:12px; }
.page-home .reflection-section { padding-block:40px; }
.page-home .reflection-section h2,.page-home .plans-teaser h2,.page-home .closing h2 { font-size:clamp(32px,3.65vw,52px); }
.page-home .prompt-grid { margin-top:28px; gap:0; }
.page-home .prompt-grid p { border-top:0; padding:0 20px; font-size:23px; }
.page-home .prompt-grid p+p { border-left:1px solid var(--line); }
.page-home .reflection-caption { margin-top:24px; font-size:17px; color:var(--muted); }
.page-home .plans-teaser { background:var(--paper); padding-block:0 44px; }
.page-home .plans-teaser>.wrap { max-width:1120px; border-top:1px solid var(--line); padding-top:40px; }
.page-home .plans-teaser .section-heading { margin-bottom:26px; }
.page-home .plan-notice { margin-top:16px; }
.page-home .plan-card { padding:28px 32px; border-radius:16px; }
.page-home .plan-name { font-size:28px; }
.page-home .price { margin-top:2px; font-size:56px; }
.page-home .price-small { font-size:40px; }
.page-home .price-small span { font-size:26px; color:var(--purple); font-weight:650; }
.page-home .feature-list { margin-top:18px; }
.page-home .feature-list li { font-size:20px; margin-block:7px; }
.page-home .billing-note { margin-top:20px; font-size:16px; }
.page-home .billing-note+p { margin-top:2px; }
.page-home .billing-note+p+p { margin-top:8px; }
.page-home .closing { padding-block:0 28px; }
.page-home .closing>.wrap { border-top:1px solid var(--line); padding-top:28px; }
.page-home .closing p:not(.eyebrow) { margin-top:14px; }
.page-home .closing .button { margin-top:18px; }
.page-home .site-footer { padding-block:28px 20px; }
@media(min-width:761px) and (max-width:1000px) {
  .page-home .hero-stage { height:610px; }
  .page-home .hero-photo { width:610px; }
  .page-home .hero-raw { height:510px; }
  .page-home .anchor-excerpt { min-width:204px; padding:13px 16px 13px 65px; }
  .page-home .anchor-icon { width:38px; height:38px; left:14px; top:24px; }
  .page-home .anchor-icon img { width:25px; height:25px; }
  .page-home .anchor-excerpt strong { font-size:15px; }
  .page-home .excerpt-start strong { max-width:140px; line-height:1.3; }
  .page-home .anchor-number { font-size:23px; }
  .page-home .anchor-date { font-size:12px; }
  .page-home .excerpt-start { left:0; }
  .page-home .excerpt-future { right:0; }
  .page-home .motivation-grid { grid-template-columns:1.15fr 1fr; gap:30px; }
  .page-home .motivation-grid .prose>p { font-size:16px; }
  .page-home .timeline-grid { gap:24px; }
  .page-home .phone-figure { width:240px; }
  .page-home .editorial-list li,.page-home .timeline-copy .lead { font-size:17px; }
}
@media(max-width:760px) {
  .page-home .home-hero { padding:28px 0 24px; }
  .page-home .hero-copy h1 { font-size:clamp(39px,11.5vw,66px); }
  .page-home .hero-copy .lead { font-size:17px; margin-top:18px; max-width:420px; }
  .page-home .hero-description { font-size:14px; max-width:330px; margin-top:8px; }
  .page-home .hero-link { font-size:14px; margin-top:4px; }
  .page-home .hero-stage { height:450px; }
  .page-home .hero-photo { width:450px; }
  .page-home .hero-raw { height:394px; }
  .page-home .scene-tabs { gap:14px; }
  .page-home .scene-tabs button { font-size:12px; min-height:44px; }
  .hero-origin { grid-template-columns:64px minmax(0,1fr); gap:8px 16px; padding:18px; margin-top:24px; align-items:start; }
  .hero-origin>div { display:contents; }
  .hero-origin>img { grid-column:1; grid-row:1 / 3; width:64px; border-radius:9px; }
  .hero-origin h2 { grid-column:2; font-size:21px; }
  .hero-origin .origin-caption { grid-column:2; align-self:end; font-size:10px; margin:0; }
  .hero-origin .origin-story { grid-column:1 / -1; font-size:14px; margin-top:6px; }
  .hero-origin .origin-link { grid-column:1 / -1; font-size:12px; line-height:1.5; }
  .page-home .sample-caption { min-height:0; font-size:10px; }
  .page-home .warm-section { padding-block:38px; }
  .page-home .motivation-grid,.page-home .timeline-grid { grid-template-columns:1fr; gap:26px; }
  .page-home .motivation-grid h2 { font-size:clamp(33px,7.7vw,48px); }
  .page-home .motivation-grid .prose>p { font-size:16px; }
  .page-home .motivation-grid .prose>.byline { font-size:13px; }
  .page-home .timeline-section { padding-block:44px 32px; }
  .page-home .timeline-copy { padding-top:0; }
  .page-home .timeline-copy h2 { font-size:clamp(34px,8.5vw,46px); }
  .page-home .timeline-copy .lead { font-size:17px; }
  .page-home .editorial-list { margin:24px 0 14px; }
  .page-home .editorial-list li { font-size:15px; gap:16px; padding:7px 0; }
  .page-home .editorial-list span { font-size:14px; }
  .page-home .phone-figure { width:250px; }
  .page-home .reflection-section { padding-block:36px; }
  .page-home .reflection-section h2,.page-home .plans-teaser h2,.page-home .closing h2 { font-size:32px; }
  .page-home .prompt-grid { margin-top:24px; gap:14px; }
  .page-home .prompt-grid p { font-size:18px; padding:0; }
  .page-home .prompt-grid p+p { border:0; }
  .page-home .reflection-caption { text-align:center; font-size:14px; margin-top:22px; }
  .page-home .plans-teaser>.wrap { padding-top:32px; }
  .page-home .plan-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .page-home .plan-card { padding:20px 14px; border-radius:14px; }
  .page-home .plan-name { font-size:22px; }
  .page-home .price { font-size:42px; }
  .page-home .price-small { font-size:29px; }
  .page-home .price-small span { display:block; font-size:14px; }
  .page-home .feature-list { margin-top:18px; }
  .page-home .feature-list li { font-size:13px; padding-left:17px; margin-block:12px; }
  .page-home .billing-note { font-size:13px; }
  .page-home .closing { padding:0 0 32px; }
  .page-home .closing p:not(.eyebrow) { font-size:15px; }
}
@media(max-width:360px) {
  .page-home .hero-stage { height:390px; }
  .page-home .hero-photo { width:390px; }
  .page-home .hero-raw { height:334px; }
  .page-home .scene-tabs { gap:10px; }
  .page-home .scene-tabs button { font-size:11px; }
  .page-home .plan-card { padding:18px 11px; }
  .page-home .price-small { font-size:25px; }
}

/* Own-brand download entry points. An empty download_url keeps them unavailable. */
.app-store-badge { display:block; padding:15px; }
.app-store-badge img { height:60px; width:auto; }
.page-home .download-cta { display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:24px; }
.page-home .download-button { min-height:50px; gap:12px; padding:12px 26px; font-size:15px; }
.page-home .download-button:disabled { background:#eee9fa; color:#69518e; border:1px solid #d9cdea; cursor:default; opacity:1; box-shadow:none; transform:none; }
.page-home .download-note { font-size:12px; line-height:1.5; color:var(--muted); margin:0; }
.page-home .hero-copy .hero-link { margin-top:15px; }
.page-home .closing .download-cta { margin-top:24px; }
.page-home .closing .download-button { margin-top:0; }
.page-home .closing p.download-note { font-size:12px; margin:0; }
.page-home .closing .text-link { margin-top:14px; font-size:13px; }
.apple-trademark-note { font-size:10px; line-height:1.7; color:var(--muted); margin-top:20px; }
@media(max-width:760px) {
  .page-home .download-cta { margin-top:20px; }
  .page-home .download-button { min-height:48px; font-size:14px; padding:11px 24px; }
  .page-home .download-note,.page-home .closing p.download-note { font-size:11px; }
}

/* Development journey: three focusable rails, August 2026–2027, then an open Future. */
.page-develop-plan { background:#faf9f7; }
.page-develop-plan main { background:radial-gradient(ellipse 70% 900px at 0 240px,#e9e5f9a6,transparent),radial-gradient(ellipse 55% 950px at 100% 450px,#ffe6d0a1,transparent),radial-gradient(ellipse 60% 1400px at 60% 1300px,#e8f2efa6,transparent); padding-bottom:56px; }
.development-intro { padding-block:60px 50px; }
.development-intro h1 { font-size:clamp(48px,5.5vw,76px); letter-spacing:-.055em; }
.development-intro .lead { font-size:19px; line-height:1.6; margin-top:22px; color:#696773; max-width:720px; }
.next-release-link { display:inline-flex; align-items:center; gap:16px; padding:10px 17px; margin-top:24px; border:1px solid #d9ccef; border-radius:999px; background:#ffffffbd; text-decoration:none; font-size:13px; min-height:44px; }
.next-release-link>span:first-child { color:#77707f; }
.next-release-link strong { color:#8150b8; font-weight:600; }
.next-release-link:hover { border-color:#8150b8; }
.development-layout { --track-color:#a96115; --track-bright:#ea9b43; --track-soft:#fff2df; display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:65px; align-items:start; }
.development-layout[data-active-track='ui'] { --track-color:#34779f; --track-bright:#6aafd6; --track-soft:#e7f4fc; }
.development-layout[data-active-track='next'] { --track-color:#8353b4; --track-bright:#ad80d8; --track-soft:#f3eafa; }
.roadmap-controls { grid-column:2; grid-row:1; position:sticky; top:calc(var(--header-height) + 28px); z-index:15; }
.track-switcher { padding:18px 12px 12px; background:#ffffffb8; border:1px solid #ffffff; border-radius:25px; box-shadow:0 12px 45px #5240400c; backdrop-filter:blur(16px); }
.track-switcher-label { color:#77717e; font-size:10px; letter-spacing:.08em; text-transform:uppercase; padding:0 12px 10px; }
.track-switcher button { display:flex; align-items:center; gap:12px; width:100%; min-height:68px; border:1px solid transparent; border-radius:16px; background:transparent; text-align:left; padding:10px 12px; font-size:14px; line-height:1.3; font-weight:620; }
.track-switcher button small { display:block; font-weight:400; color:#78737d; font-size:11px; margin-top:5px; }
.track-switcher button[aria-pressed='true'] { background:#fff; border-color:#ede8e5; box-shadow:0 4px 14px #52404009; }
.track-switcher button:hover { background:#ffffffb8; }
.track-dot { flex:none; width:9px; height:9px; border-radius:50%; background:#ea9b43; box-shadow:0 0 0 5px #ea9b4311; }
[data-track-choice='ui'] .track-dot { background:#6aafd6; box-shadow:0 0 0 5px #6aafd611; }
[data-track-choice='next'] .track-dot { background:#ad80d8; box-shadow:0 0 0 5px #ad80d811; }
.year-navigation { display:flex; justify-content:center; gap:4px; margin-top:18px; }
.year-navigation a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px 14px; border-radius:99px; font-size:12px; text-decoration:none; color:#77717e; }
.year-navigation a[aria-current] { background:#ffffffcf; color:var(--track-color); font-weight:650; }
.roadmap-control-note { text-align:center; font-size:11px; color:#817c86; line-height:1.8; margin-top:18px; }
.development-timeline { grid-column:1; grid-row:1; position:relative; padding-left:48px; min-width:0; isolation:isolate; }
.development-rails { position:absolute; inset:0 0 70px; pointer-events:none; z-index:-1; }
.development-rails span { position:absolute; top:0; bottom:0; width:2px; opacity:.15; border-radius:99px; transition:left .45s ease,opacity .45s ease; }
.rail-core { background:linear-gradient(#ea9b43 80%,transparent); left:74%; }
.rail-ui { background:linear-gradient(#6aafd6 80%,transparent); left:86%; }
.rail-next { background:linear-gradient(#ad80d8 80%,transparent); left:96%; }
[data-active-track='core'] .rail-core,[data-active-track='ui'] .rail-ui,[data-active-track='next'] .rail-next { left:12px; width:5px; opacity:1; }
.active-track-caption { font-size:11px; letter-spacing:.025em; color:var(--track-color); margin:3px 0 28px; }
.development-year { position:relative; padding-bottom:25px; }
.development-year-title { position:relative; font-size:54px; letter-spacing:-.055em; margin-bottom:38px; scroll-margin-top:30px; }
.development-year-title>span { display:block; font-size:12px; font-weight:400; letter-spacing:0; color:#827987; margin-top:13px; }
.development-year-title:before { content:''; position:absolute; top:21px; left:-43px; width:19px; height:19px; border-radius:50%; background:var(--track-bright); border:4px solid #faf9f7; box-shadow:0 0 0 1px var(--track-bright); }
.development-month { margin-bottom:44px; }
.development-month-title { font-size:26px; color:#5e5965; margin-bottom:28px; }
.development-month-title>span { display:block; font-size:12px; font-weight:400; letter-spacing:0; margin-top:10px; color:#817987; }
.development-events { list-style:none; padding:0; margin:0; }
.development-event { position:relative; margin-bottom:26px; }
.development-event>time { display:flex; flex-wrap:wrap; gap:12px; align-items:center; font-size:11px; font-weight:550; color:var(--track-color); margin-bottom:9px; }
.development-event>time>span { font-weight:400; color:#847b85; }
.development-event:before { content:''; position:absolute; left:-38px; top:38px; width:9px; height:9px; border:2px solid var(--track-bright); border-radius:50%; background:#fffdf9; }
.development-event:after { content:''; position:absolute; left:-28px; top:42px; width:29px; border-top:1px solid var(--track-bright); opacity:.6; }
.development-event details { max-width:560px; }
.development-event summary { display:inline-flex; gap:14px; align-items:center; min-height:44px; padding:9px 16px; border-radius:16px; background:var(--track-soft); border:1px solid color-mix(in srgb,var(--track-bright) 35%,white); color:var(--track-color); font-size:14px; line-height:1.4; font-weight:600; cursor:pointer; list-style:none; box-shadow:0 3px 10px #63483b06; }
.development-event summary::-webkit-details-marker { display:none; }
.development-event summary:after { content:'+'; font-size:17px; font-weight:400; margin-left:auto; }
.development-event details[open] summary:after { content:'−'; }
.event-origin summary { background:var(--track-bright); color:#211809; border-color:transparent; }
.event-story { margin-top:12px; padding:8px 16px 4px; max-width:550px; color:#6e6873; font-size:14px; line-height:1.8; }
.event-story .text-link { font-size:13px; margin-top:10px; }
.event-version { margin-top:35px; scroll-margin-top:30px; }
.version-card { padding:28px; max-width:650px; border:1px solid #ffffff; border-radius:25px; background:#ffffffb8; box-shadow:0 12px 45px #52404007; }
.version-kicker { text-transform:uppercase; letter-spacing:.07em; font-size:10px; color:var(--track-color); margin-bottom:14px; }
.version-card h3 { font-size:42px; }
.version-card h3>span { color:var(--track-color); }
.version-card>p:not(.version-kicker):not(.release-card-footer) { color:#706877; font-size:15px; margin-top:17px; }
.version-features { list-style:none; padding:0; margin:22px 0; display:grid; gap:8px; font-size:13px; }
.version-features li:before { content:'✓'; margin-right:10px; color:var(--track-color); }
.version-card .text-link { font-size:13px; }
.version-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.version-heading img { border-radius:15px; width:54px; }
.release-capabilities { display:grid; gap:22px; margin-top:28px; }
.release-capabilities section { display:grid; grid-template-columns:25px 1fr; gap:5px 14px; }
.release-capabilities img { opacity:.65; grid-row:1 / 3; margin-top:2px; }
.release-capabilities h4 { font-size:17px; line-height:1.4; letter-spacing:-.025em; margin:0; }
.release-capabilities p { font-size:13px; line-height:1.65; color:#756c7d; }
.release-card-footer { padding-top:18px; margin-top:24px; border-top:1px solid #e7dfee; font-size:10px; color:#84758e; }
.future-year { padding-top:32px; padding-bottom:50px; }
.future-milestone { max-width:520px; padding:0 0 26px; }
.future-milestone h3 { font-size:29px; line-height:1.2; }
.future-milestone>p:not(.version-kicker) { color:#817987; font-size:15px; margin-top:18px; }
.future-milestone .text-link { font-size:14px; margin-top:20px; }
.final-year { padding-top:45px; padding-bottom:40px; }
.final-year .development-year-title { font-size:62px; }
.timeline-return { display:inline-flex; min-height:44px; align-items:center; font-size:12px; color:var(--track-color); margin-top:15px; }
.development-note { max-width:580px; border-top:1px solid #ded9e0; padding-top:20px; font-size:11px; color:#89818d; line-height:1.8; }
@media(max-width:1000px) and (min-width:761px) {
  .development-layout { grid-template-columns:minmax(0,1fr) 220px; gap:28px; }
  .track-switcher button { font-size:13px; }
  .version-card { padding:24px; }
}
@media(max-width:760px) {
  .development-intro { padding-block:34px 28px; }
  .development-intro h1 { font-size:clamp(40px,11vw,58px); }
  .development-intro .lead { font-size:16px; margin-top:18px; }
  .development-intro .desktop-break { display:none; }
  .next-release-link { font-size:11px; gap:12px; padding:9px 13px; margin-top:20px; }
  .development-layout { display:block; }
  .roadmap-controls { top:var(--header-height); margin:0 calc(var(--gutter)*-1) 28px; padding:9px var(--gutter) 5px; background:#faf9f7ed; backdrop-filter:blur(16px); border-bottom:1px solid #e7e1e8; }
  .track-switcher { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:0; border-radius:0; padding:0; background:transparent; box-shadow:none; gap:4px; }
  .track-switcher-label,.track-switcher button small,.roadmap-control-note { display:none; }
  .track-switcher button { padding:7px 5px; gap:6px; justify-content:center; font-size:11px; min-height:49px; border-radius:12px; line-height:1.35; }
  .track-dot { width:6px; height:6px; box-shadow:none!important; }
  .year-navigation { margin-top:3px; justify-content:flex-start; }
  .year-navigation a { font-size:11px; min-height:44px; padding:5px 15px; }
  .development-timeline { padding-left:30px; }
  .development-rails { inset:0 0 90px; }
  [data-active-track='core'] .rail-core,[data-active-track='ui'] .rail-ui,[data-active-track='next'] .rail-next { left:3px; width:4px; }
  .active-track-caption { font-size:10px; margin-bottom:24px; }
  .development-year-title { font-size:44px; margin-bottom:32px; scroll-margin-top:120px; }
  .development-year-title:before { left:-33px; top:17px; width:15px; height:15px; border-width:3px; }
  .development-month-title { font-size:24px; }
  .development-event:before { left:-30px; }
  .development-event:after { left:-20px; width:21px; }
  .development-event summary { font-size:13px; padding:10px 12px; border-radius:14px; gap:10px; }
  .development-event>time { font-size:10px; gap:8px; }
  .event-story { padding:4px 7px; font-size:13px; }
  .event-version { scroll-margin-top:120px; }
  .version-card { padding:22px 18px; border-radius:20px; }
  .version-card h3 { font-size:33px; }
  .version-card>p:not(.version-kicker):not(.release-card-footer) { font-size:14px; }
  .version-features { font-size:12px; }
  .version-heading img { width:40px; border-radius:10px; }
  .release-capabilities section { grid-template-columns:22px 1fr; gap:5px 10px; }
  .release-capabilities h4 { font-size:16px; }
  .future-milestone h3 { font-size:26px; }
  .future-milestone>p:not(.version-kicker) { font-size:14px; }
  .final-year .development-year-title { font-size:50px; }
}

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