:root {
  --m-ink: #17211c;
  --m-ink-soft: #455049;
  --m-muted: #747d77;
  --m-paper: #f5f3ec;
  --m-paper-soft: #ecebe3;
  --m-white: #fffefa;
  --m-forest: #214f3b;
  --m-forest-deep: #102f23;
  --m-sage: #b8cbbc;
  --m-sage-soft: #dfe9e1;
  --m-peach: #dcb29b;
  --m-line: rgba(23, 33, 28, .12);
  --m-line-light: rgba(255, 255, 255, .14);
  --m-shadow-sm: 0 8px 30px rgba(22, 38, 29, .07);
  --m-shadow-lg: 0 40px 100px rgba(20, 42, 30, .16), 0 10px 30px rgba(20, 42, 30, .08);
  --m-radius-sm: 13px;
  --m-radius-md: 22px;
  --m-radius-lg: 32px;
  --m-max: 1240px;
  --m-ease: cubic-bezier(.2, .75, .2, 1);
}

.marketing-v2 { overflow-x: clip; background: var(--m-paper); color: var(--m-ink); }
.marketing-v2 :where(section[id]) { scroll-margin-top: 86px; }
.marketing-v2 :where(a, button, summary, input, textarea, select):focus-visible { outline: 2px solid var(--m-forest); outline-offset: 3px; }
.marketing-v2 ::selection { background: #cddfd2; color: var(--m-forest-deep); }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; border-radius: 9px; background: var(--m-forest-deep); color: white; font-size: 12px; transform: translateY(-150%); transition: transform 160ms; }
.skip-link:focus { transform: translateY(0); }
.beta-banner { min-height: 34px; padding: 7px 24px; display: flex; align-items: center; justify-content: center; gap: 8px; background: var(--m-forest-deep); color: rgba(255,255,255,.76); font-size: 10px; font-weight: 620; letter-spacing: .015em; text-align: center; }
.beta-banner span { padding: 3px 7px; border: 1px solid rgba(255,255,255,.2); border-radius: 99px; color: white; font-size: 7px; font-weight: 820; letter-spacing: .12em; line-height: 1; text-transform: uppercase; }
.beta-banner p { margin: 0; }

.marketing-v2 .wordmark { gap: 10px; font-size: 15px; font-weight: 780; letter-spacing: -.025em; }
.marketing-v2 .wordmark-mark { width: 34px; height: 34px; border-radius: 11px; background: var(--m-forest); box-shadow: inset 0 1px rgba(255,255,255,.24), 0 8px 24px rgba(33,79,59,.2); }
.marketing-v2 .button { min-height: 48px; padding: 0 20px; border-radius: var(--m-radius-sm); font-size: 12px; font-weight: 760; letter-spacing: -.01em; transition: transform 200ms var(--m-ease), box-shadow 200ms var(--m-ease), background 200ms var(--m-ease), border-color 200ms var(--m-ease); }
.marketing-v2 .button:hover { transform: translateY(-2px); }
.marketing-v2 .button-primary { position: relative; overflow: hidden; background: var(--m-forest-deep); color: white; box-shadow: 0 12px 28px rgba(16,47,35,.19); }
.marketing-v2 .button-primary::after { content: ""; position: absolute; inset: 0 auto 0 -50%; width: 36%; background: linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent); transform: skewX(-20deg); transition: left 480ms var(--m-ease); }
.marketing-v2 .button-primary:hover { background: #09261b; box-shadow: 0 18px 38px rgba(16,47,35,.25); }
.marketing-v2 .button-primary:hover::after { left: 120%; }
.marketing-v2 .button-secondary { border-color: var(--m-line); background: rgba(255,255,255,.52); color: var(--m-ink); box-shadow: 0 1px 2px rgba(20,35,27,.03); backdrop-filter: blur(12px); }
.marketing-v2 .button-secondary:hover { border-color: rgba(33,79,59,.3); background: rgba(255,255,255,.78); }
.marketing-v2 .button-light { background: white; color: var(--m-forest-deep); box-shadow: 0 12px 30px rgba(0,0,0,.14); }
.marketing-v2 .button-compact { min-height: 40px; padding-inline: 16px; font-size: 11px; }
.marketing-v2 .button-large { min-height: 56px; padding-inline: 24px; border-radius: 15px; font-size: 13px; }

.marketing-header { position: sticky; z-index: 50; top: 0; width: min(var(--m-max), calc(100% - 48px)); height: 78px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; transition: height 220ms var(--m-ease); }
.marketing-header::before { content: ""; position: absolute; z-index: -1; inset: 8px -18px; border: 1px solid transparent; border-radius: 18px; background: rgba(245,243,236,0); box-shadow: 0 10px 40px rgba(22,38,29,0); backdrop-filter: blur(0); transition: background 220ms, border 220ms, box-shadow 220ms, backdrop-filter 220ms; }
.marketing-header.is-scrolled::before { border-color: rgba(255,255,255,.78); background: rgba(245,243,236,.82); box-shadow: 0 10px 40px rgba(22,38,29,.08); backdrop-filter: blur(20px) saturate(1.2); }
.marketing-nav { display: flex; align-items: center; gap: 28px; }
.marketing-nav a, .header-signin { position: relative; color: var(--m-ink-soft); font-size: 11px; font-weight: 670; }
.marketing-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 1px; background: var(--m-forest); transition: right 180ms var(--m-ease); }
.marketing-nav a:hover { color: var(--m-forest); }
.marketing-nav a:hover::after { right: 0; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 19px; }
.header-signin:hover { color: var(--m-forest); }

.marketing-hero { position: relative; width: min(var(--m-max), calc(100% - 48px)); min-height: calc(100svh - 112px); margin: 0 auto; padding: clamp(64px, 8vw, 110px) 0 108px; display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(40px, 6vw, 84px); }
.hero-atmosphere { position: absolute; z-index: -1; inset: -78px auto auto 50%; width: 100vw; height: 860px; overflow: hidden; pointer-events: none; transform: translateX(-50%); }
.hero-atmosphere::before { content: ""; position: absolute; inset: -14% -8% 0; background: radial-gradient(circle at 18% 28%, rgba(220,178,155,.2), transparent 34%), radial-gradient(circle at 72% 24%, rgba(184,203,188,.34), transparent 42%), linear-gradient(118deg, rgba(255,254,250,.18), rgba(223,233,225,.24) 48%, rgba(245,243,236,0) 78%); transform: scale(1.06) translate3d(-2%,-1%,0); animation: hero-gradient-drift 18s ease-in-out infinite alternate; will-change: transform; }
.orbit { position: absolute; border: 1px solid rgba(33,79,59,.12); border-radius: 50%; }
.orbit-one { width: 720px; height: 720px; right: -90px; top: -180px; }
.orbit-two { width: 510px; height: 510px; right: 15px; top: -72px; border-style: dashed; }
.orbit-three { width: 320px; height: 320px; right: 110px; top: 22px; }
.orbit-dot { position: absolute; width: 11px; height: 11px; border-radius: 50%; background: var(--m-forest); box-shadow: 0 0 0 7px rgba(33,79,59,.08); }
.dot-one { right: 515px; top: 170px; }.dot-two { right: 76px; top: 440px; background: var(--m-peach); }.dot-three { right: 340px; top: 62px; width: 7px; height: 7px; }
.hero-message { position: relative; z-index: 3; }
.marketing-eyebrow { margin: 0 0 22px; display: flex; align-items: center; gap: 10px; color: var(--m-forest); font-size: 9px; font-weight: 820; letter-spacing: .13em; text-transform: uppercase; }
.marketing-eyebrow > span { min-width: 24px; height: 24px; display: inline-grid; place-items: center; border: 1px solid rgba(33,79,59,.18); border-radius: 8px; background: rgba(255,255,255,.45); font-size: 8px; letter-spacing: 0; }
.marketing-eyebrow.light { color: #bdd3c5; }.marketing-eyebrow.light > span { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.06); }
.hero-message h1 { margin: 0; font-size: clamp(62px, 6.6vw, 96px); line-height: .89; letter-spacing: -.073em; font-weight: 720; }
.hero-message h1 em { color: var(--m-forest); font-family: ui-serif, Georgia, serif; font-weight: 500; }
.hero-description { max-width: 590px; margin: 30px 0 0; color: var(--m-ink-soft); font-size: clamp(16px, 1.35vw, 19px); line-height: 1.58; letter-spacing: -.018em; }
.hero-cta-row { margin-top: 34px; display: flex; gap: 10px; flex-wrap: wrap; }
.marketing-v2 .hero-cta-primary::after { display: none; }
.marketing-v2 .hero-cta-primary::before { content: ""; position: absolute; inset: -25% auto -25% -12%; width: 34%; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(255,255,255,.36), transparent); filter: blur(.5px); transform: translate3d(-240%,0,0) skewX(-20deg); animation: hero-cta-shine 5.8s cubic-bezier(.2,.7,.25,1) 1.3s infinite; will-change: transform; }
.play-mark { width: 23px; height: 23px; display: grid; place-items: center; border: 1px solid var(--m-line); border-radius: 50%; font-size: 10px; }
.hero-assurances { margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 18px; list-style: none; color: var(--m-muted); font-size: 9px; font-weight: 670; }
.hero-assurances li { display: flex; align-items: center; gap: 6px; }.hero-assurances li span { color: var(--m-forest); font-weight: 900; }

.hero-product { position: relative; min-width: 0; perspective: 1300px; transform-style: preserve-3d; }
.product-halo { position: absolute; inset: 10% 6% -8%; border-radius: 50%; background: rgba(60,105,80,.18); filter: blur(55px); }
.browser-frame { position: relative; z-index: 2; overflow: hidden; border: 1px solid rgba(255,255,255,.92); border-radius: 24px; background: rgba(255,255,255,.82); box-shadow: var(--m-shadow-lg); transform: rotateY(var(--tilt-x, -3deg)) rotateX(var(--tilt-y, 1.5deg)); transform-origin: 40% 55%; transition: transform 300ms var(--m-ease); backdrop-filter: blur(20px); }
.browser-bar { height: 42px; padding: 0 14px; display: flex; align-items: center; gap: 6px; border-bottom: 1px solid var(--m-line); background: rgba(255,255,255,.68); }
.browser-bar > span { width: 7px; height: 7px; border-radius: 50%; background: #d8d8d1; }.browser-bar > span:first-child { background: #d5a48f; }.browser-bar > span:nth-child(2) { background: #d5c591; }.browser-bar > span:nth-child(3) { background: #9fbea8; }
.browser-bar > b { min-width: 0; max-width: 240px; height: 22px; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(23,33,28,.07); border-radius: 7px; background: rgba(245,245,241,.85); color: var(--m-muted); font-size: 7px; font-weight: 580; }
.browser-bar > i { color: #9ca49f; font-size: 8px; font-style: normal; letter-spacing: 1px; }
.demo-app { height: 482px; display: grid; grid-template-columns: 128px 1fr; background: #f8f8f5; }
.demo-sidebar { padding: 16px 10px; display: flex; flex-direction: column; gap: 5px; border-right: 1px solid rgba(23,33,28,.08); background: #f0f1ec; }
.demo-brand { width: 30px; height: 30px; margin: 0 8px 11px; display: grid; place-items: center; border-radius: 9px; background: var(--m-forest); color: white; font-size: 10px; }
.demo-nav-item { height: 32px; padding: 0 8px; display: flex; align-items: center; gap: 8px; border-radius: 8px; color: #747a76; font-size: 7px; font-weight: 660; }
.demo-nav-item i { width: 14px; height: 14px; border: 1px solid rgba(23,33,28,.1); border-radius: 5px; background: rgba(255,255,255,.5); }
.demo-nav-item.active { background: white; color: var(--m-ink); box-shadow: 0 3px 12px rgba(20,35,27,.05); }.demo-nav-item.active i { border-color: transparent; background: var(--m-sage-soft); box-shadow: inset 2px 0 var(--m-forest); }
.demo-user { margin-top: auto; padding: 10px 6px 0; display: flex; align-items: center; gap: 7px; border-top: 1px solid var(--m-line); }
.demo-user > b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: #d9e5dc; color: var(--m-forest); font-size: 6px; }
.demo-user > span { display: grid; color: var(--m-ink); font-size: 6px; font-weight: 730; }.demo-user small { margin-top: 2px; color: var(--m-muted); font-size: 5px; font-weight: 500; }
.demo-main { min-width: 0; }.demo-topbar { height: 48px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--m-line); color: var(--m-ink); font-size: 8px; font-weight: 750; }
.demo-topbar > div { display: flex; align-items: center; gap: 8px; }.demo-topbar i { width: 46px; height: 23px; border: 1px solid var(--m-line); border-radius: 7px; background: white; }.demo-topbar b { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--m-forest); color: white; font-size: 6px; }
.demo-content { padding: 24px; }.demo-welcome > span { color: var(--m-forest); font-size: 6px; font-weight: 820; letter-spacing: .13em; text-transform: uppercase; }.demo-welcome h2 { margin: 7px 0 2px; font-size: 21px; letter-spacing: -.04em; }.demo-welcome p { margin: 0; color: var(--m-muted); font-size: 7px; }
.demo-grid { margin-top: 20px; display: grid; grid-template-columns: .82fr 1.18fr; gap: 10px; }.demo-grid article { min-width: 0; border-radius: 14px; }
.demo-focus { min-height: 270px; padding: 20px; display: flex; flex-direction: column; background: linear-gradient(150deg,#285640,#123526); color: white; }
.demo-focus > span { font-size: 5px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; opacity: .55; }.demo-focus h3 { margin: 24px 0 auto; font-size: 16px; line-height: 1.25; letter-spacing: -.035em; }.demo-progress { height: 4px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.16); }.demo-progress i { width: 46%; height: 100%; display: block; border-radius: inherit; background: #ccded2; animation: progress-breathe 5s var(--m-ease) infinite; }.demo-focus p { margin: 8px 0 0; font-size: 6px; opacity: .62; }.demo-focus p strong { margin-right: 4px; font-size: 8px; opacity: 1; }
.demo-rhythm { padding: 16px; border: 1px solid var(--m-line); background: rgba(255,255,255,.8); }.demo-card-head { min-height: 35px; display: flex; align-items: flex-start; justify-content: space-between; border-bottom: 1px solid var(--m-line); }.demo-card-head div { display: grid; gap: 3px; }.demo-card-head span { font-size: 8px; font-weight: 760; }.demo-card-head small { color: var(--m-muted); font-size: 5px; }.demo-card-head > b { padding: 4px 6px; border-radius: 99px; background: var(--m-sage-soft); color: var(--m-forest); font-size: 5px; }
.demo-task { min-height: 50px; display: flex; align-items: center; gap: 8px; border-bottom: 1px solid rgba(23,33,28,.07); }.demo-task:last-child { border: 0; }.demo-task > i { width: 18px; height: 18px; display: grid; place-items: center; flex: 0 0 18px; border: 1px solid rgba(33,79,59,.25); border-radius: 6px; color: white; font-size: 6px; font-style: normal; }.demo-task.complete > i { border-color: var(--m-forest); background: var(--m-forest); }.demo-task > span { min-width: 0; display: grid; gap: 3px; }.demo-task strong { overflow: hidden; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }.demo-task small { color: var(--m-muted); font-size: 5px; }
.product-float { position: absolute; z-index: 5; padding: 12px 14px; display: grid; gap: 4px; border: 1px solid rgba(255,255,255,.9); border-radius: 13px; background: rgba(255,255,255,.9); box-shadow: 0 18px 50px rgba(20,35,27,.13); backdrop-filter: blur(14px); }
.product-float span { color: var(--m-forest); font-size: 6px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.product-float strong { color: var(--m-ink); font-size: 8px; }.float-reflection { right: -22px; bottom: 48px; animation: float-soft 6s ease-in-out infinite; }.float-week { left: -24px; top: 88px; padding-right: 32px; animation: float-soft 6.5s ease-in-out -2s infinite; }.float-week i { position: absolute; top: 12px; right: 12px; color: var(--m-forest); font-size: 10px; font-style: normal; }

.trust-ribbon { min-height: 94px; padding: 0 max(24px, calc((100vw - var(--m-max))/2)); display: flex; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid var(--m-line); border-bottom: 1px solid var(--m-line); background: rgba(255,255,255,.22); }
.trust-ribbon > p { margin: 0; color: var(--m-ink); font-size: 10px; font-weight: 790; letter-spacing: .04em; text-transform: uppercase; }.trust-ribbon > div { display: flex; align-items: center; gap: clamp(14px, 2.5vw, 34px); color: var(--m-muted); }.trust-ribbon span { font-family: ui-serif, Georgia, serif; font-size: 15px; font-style: italic; }.trust-ribbon i { width: 3px; height: 3px; border-radius: 50%; background: var(--m-sage); }

.marketing-section { padding: 132px max(24px, calc((100vw - 1180px)/2)); }
.section-heading { max-width: 740px; margin-bottom: 58px; }.section-heading-wide { max-width: 900px; margin-inline: auto; text-align: center; }.section-heading-wide .marketing-eyebrow { justify-content: center; }
.section-heading h2, .loop-intro h2, .privacy-content h2, .faq-heading h2, .conversion-content h2 { margin: 0; font-size: clamp(42px, 5.2vw, 70px); line-height: 1.01; letter-spacing: -.06em; font-weight: 700; }.section-heading > p:last-child { max-width: 630px; margin: 22px 0 0; color: var(--m-ink-soft); font-size: 15px; line-height: 1.64; }.section-heading-wide > p:last-child { margin-inline: auto; }

.problem-section { background: #faf9f5; }.shift-comparison { display: grid; grid-template-columns: 1fr 50px 1fr; align-items: center; }.shift-card { min-height: 410px; padding: 30px; display: flex; flex-direction: column; border-radius: var(--m-radius-md); }.shift-card.scattered { border: 1px solid var(--m-line); background: #f0efea; color: #666d68; }.shift-card.connected { color: white; background: linear-gradient(145deg,#2b5b43,#123526); box-shadow: 0 24px 60px rgba(18,53,38,.16); }.shift-card-top { display: flex; align-items: center; justify-content: space-between; }.shift-card-top span { font-size: 9px; font-weight: 820; letter-spacing: .11em; text-transform: uppercase; }.shift-card-top i { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 10px; font-size: 11px; font-style: normal; opacity: .5; }.shift-card ul { margin: 50px 0 0; padding: 0; display: grid; gap: 18px; list-style: none; }.shift-card li { position: relative; padding-left: 22px; font-size: clamp(16px,1.7vw,21px); letter-spacing: -.025em; }.shift-card li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 1px; background: currentColor; opacity: .45; }.shift-card.connected li::before { width: 12px; height: 12px; top: .25em; border-radius: 50%; background: #d2e1d5; opacity: 1; box-shadow: inset 0 0 0 4px var(--m-forest); }.shift-card > p { margin: auto 0 0; padding-top: 24px; border-top: 1px solid currentColor; font-size: 10px; font-weight: 710; opacity: .62; }.shift-arrow { width: 42px; height: 42px; margin: auto; display: grid; place-items: center; border: 1px solid var(--m-line); border-radius: 50%; background: white; color: var(--m-forest); box-shadow: var(--m-shadow-sm); }

.loop-section { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(70px, 9vw, 130px); color: white; background: var(--m-forest-deep); }.loop-intro { position: sticky; top: 130px; align-self: start; }.loop-intro h2 { font-size: clamp(42px,4.5vw,64px); }.loop-intro > p:not(.marketing-eyebrow) { max-width: 450px; margin: 24px 0 30px; color: rgba(255,255,255,.58); font-size: 14px; line-height: 1.65; }.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--m-forest); font-size: 11px; font-weight: 760; }.text-link span { transition: transform 180ms var(--m-ease); }.text-link:hover span { transform: translateX(4px); }.text-link.light { color: #d3e2d7; }
.loop-steps { margin: 0; padding: 0; display: grid; list-style: none; }.loop-steps li { min-height: 260px; padding: 40px 0; display: grid; grid-template-columns: 42px 64px 1fr; gap: 22px; align-items: start; border-top: 1px solid var(--m-line-light); }.loop-steps li:last-child { border-bottom: 1px solid var(--m-line-light); }.loop-steps li > span { padding-top: 19px; color: rgba(255,255,255,.38); font-size: 8px; font-weight: 800; }.loop-icon { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.06); color: #bed1c4; font-size: 10px; font-weight: 800; }.loop-steps h3 { margin: 13px 0 11px; font-size: 23px; letter-spacing: -.035em; }.loop-steps p { max-width: 470px; margin: 0; color: rgba(255,255,255,.55); font-size: 12px; line-height: 1.65; }

.inside-v2 { background: var(--m-paper); }.feature-bento { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 14px; }.feature-card { position: relative; min-height: 390px; overflow: hidden; padding: 30px; border: 1px solid var(--m-line); border-radius: var(--m-radius-md); background: rgba(255,255,255,.66); box-shadow: 0 10px 40px rgba(20,35,27,.04); }.feature-card::after { content: ""; position: absolute; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle,rgba(184,203,188,.22),transparent 68%); pointer-events: none; }.feature-card:hover { border-color: rgba(33,79,59,.25); }.feature-copy { position: relative; z-index: 2; max-width: 480px; }.feature-copy > span { color: var(--m-forest); font-size: 8px; font-weight: 820; letter-spacing: .11em; text-transform: uppercase; }.feature-copy h3 { margin: 13px 0 10px; font-size: clamp(24px,2.6vw,36px); line-height: 1.05; letter-spacing: -.05em; }.feature-copy p { margin: 0; color: var(--m-muted); font-size: 11px; line-height: 1.6; }.feature-today { grid-column: span 7; background: #fdfdf9; }.feature-journal { grid-column: span 5; background: #e7eee8; }.feature-plan { grid-column: span 4; }.feature-balance { grid-column: span 4; color: white; background: var(--m-forest); }.feature-balance .feature-copy > span, .feature-balance .feature-copy p { color: rgba(255,255,255,.62); }.feature-practice { grid-column: span 4; background: #ece8e0; }
.mini-today { position: absolute; z-index: 2; left: 30px; right: 30px; bottom: 30px; padding: 10px 18px; border: 1px solid var(--m-line); border-radius: 15px; background: white; box-shadow: var(--m-shadow-sm); }.mini-today > div { min-height: 50px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--m-line); }.mini-today > div:last-child { border: 0; }.mini-today i { width: 20px; height: 20px; display: grid; place-items: center; border: 1px solid rgba(33,79,59,.24); border-radius: 7px; color: white; font-size: 7px; font-style: normal; }.mini-today div:nth-child(-n+2) i { background: var(--m-forest); }.mini-today span { display: grid; gap: 3px; font-size: 9px; font-weight: 720; }.mini-today small { color: var(--m-muted); font-size: 6px; font-weight: 500; }
.feature-journal { background: linear-gradient(145deg,#e8f0ea 0%,#dfe9e2 100%); }.feature-journal::after { right:-80px;bottom:-110px;background:radial-gradient(circle,rgba(92,137,109,.2),transparent 68%); }.feature-journal .feature-copy p, .feature-plan .feature-copy p { max-width: 410px; color:#66736c;font-size:11.5px; }
.journal-demo { position:absolute;z-index:2;left:24px;right:24px;bottom:24px;padding:13px;border:1px solid rgba(33,79,59,.13);border-radius:16px;background:rgba(255,255,255,.82);box-shadow:0 18px 42px rgba(24,54,40,.08);backdrop-filter:blur(14px); }.journal-demo-head { display:flex;align-items:center;justify-content:space-between;padding-bottom:9px;border-bottom:1px solid rgba(33,79,59,.09); }.journal-demo-head span { color:var(--m-ink);font-size:7px;font-weight:780; }.journal-demo-head em { color:var(--m-forest);font-size:6px;font-style:normal;font-weight:720; }.journal-demo-prompt { padding:9px 0 7px; }.journal-demo-prompt small { color:var(--m-forest);font-size:6px;font-weight:780;letter-spacing:.05em;text-transform:uppercase; }.journal-demo-prompt p { overflow:hidden;margin:4px 0 0;color:#405048;font-family:ui-serif,Georgia,serif;font-size:8px;font-style:italic;line-height:1.35;text-overflow:ellipsis;white-space:nowrap; }.journal-patterns { display:flex;gap:5px; }.journal-patterns span { padding:5px 7px;border:1px solid rgba(33,79,59,.12);border-radius:99px;background:#f7faf7;color:#748078;font-size:6px;font-weight:700; }.journal-patterns span:has(i) { border-color:rgba(33,79,59,.2);background:#dfece2;color:var(--m-forest); }.journal-patterns i { font-style:normal; }.journal-next { margin-top:9px;padding:9px 10px;display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:7px;border-radius:10px;background:var(--m-forest);color:white; }.journal-next > i { width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:rgba(255,255,255,.12);font-size:7px;font-style:normal; }.journal-next > span { display:grid;gap:2px; }.journal-next small { color:rgba(255,255,255,.55);font-size:5px; }.journal-next strong { font-size:7px; }.journal-next > em { color:#cfe0d4;font-size:5px;font-style:normal;font-weight:700; }
.feature-plan { background:linear-gradient(155deg,#fff 0%,#f7f8f4 100%); }.feature-plan::after { left:20px;bottom:-105px;width:300px;height:300px;background:radial-gradient(circle,rgba(184,203,188,.26),transparent 68%); }.plan-demo { position:absolute;z-index:2;left:24px;right:24px;bottom:24px;padding:12px;border:1px solid var(--m-line);border-radius:16px;background:rgba(255,255,255,.9);box-shadow:0 18px 44px rgba(20,35,27,.07); }.plan-capture { padding:8px;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;border:1px solid rgba(23,33,28,.07);border-radius:10px;background:#fafaf7; }.plan-capture > i { width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:var(--m-forest);color:white;font-size:10px;font-style:normal; }.plan-capture > span { min-width:0;display:grid;gap:2px; }.plan-capture small { color:var(--m-muted);font-size:5px; }.plan-capture strong { overflow:hidden;font-size:7px;text-overflow:ellipsis;white-space:nowrap; }.plan-capture > em { color:var(--m-forest);font-size:5px;font-style:normal;font-weight:760; }.plan-clarify { padding:8px 1px 7px;display:flex;gap:5px; }.plan-clarify span { padding:4px 6px;border-radius:6px;background:var(--m-sage-soft);color:var(--m-forest);font-size:5px;font-weight:700; }.plan-destinations { display:grid;grid-template-columns:repeat(3,1fr);gap:5px; }.plan-destinations span { min-height:36px;padding:6px 7px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--m-line);border-radius:8px;color:var(--m-muted); }.plan-destinations span.active { border-color:var(--m-forest);background:var(--m-forest);color:white; }.plan-destinations small { font-size:5px; }.plan-destinations strong { font-size:9px; }.plan-result { margin-top:7px;display:flex;align-items:center;gap:7px;color:var(--m-ink); }.plan-result > i { width:18px;height:18px;display:grid;place-items:center;border-radius:6px;background:#dceadf;color:var(--m-forest);font-size:6px;font-style:normal; }.plan-result span { display:grid;gap:1px; }.plan-result strong { font-size:6px; }.plan-result small { color:var(--m-muted);font-size:5px; }
.balance-rings { position: absolute; right: -44px; bottom: -60px; width: 260px; height: 260px; display: grid; place-items: center; }.balance-rings i { position: absolute; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; }.balance-rings i:nth-child(1) { inset: 0; }.balance-rings i:nth-child(2) { inset: 32px; border-style: dashed; }.balance-rings i:nth-child(3) { inset: 68px; background: rgba(255,255,255,.07); }.balance-rings b { position: relative; font-size: 34px; font-weight: 640; }
.practice-path { position: absolute; left: 30px; right: 30px; bottom: 42px; display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: center; gap: 6px; }.practice-path span { color: var(--m-muted); font-size: 7px; font-weight: 720; }.practice-path span.active { color: var(--m-forest); }.practice-path i { height: 1px; background: #c4c4bc; }.practice-path i:first-of-type { background: var(--m-forest); }

.outcomes-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(70px,9vw,140px); align-items: center; background: #eae9e1; }.outcomes-quote { position: relative; }.quote-mark { position: absolute; top: -75px; left: -20px; color: rgba(33,79,59,.09); font-family: Georgia,serif; font-size: 180px; }.outcomes-quote blockquote { position: relative; margin: 0; color: var(--m-forest-deep); font-family: ui-serif, Georgia, serif; font-size: clamp(31px,4.2vw,58px); line-height: 1.12; letter-spacing: -.045em; }.outcomes-list { display: grid; }.outcomes-list article { min-height: 125px; padding: 22px 0; display: grid; grid-template-columns: 38px 1fr; column-gap: 12px; border-top: 1px solid var(--m-line); }.outcomes-list article:last-child { border-bottom: 1px solid var(--m-line); }.outcomes-list article > span { padding-top: 5px; color: var(--m-forest); font-size: 8px; font-weight: 800; }.outcomes-list h3 { margin: 0; font-size: 17px; letter-spacing: -.03em; }.outcomes-list p { grid-column: 2; margin: 7px 0 0; color: var(--m-muted); font-size: 10px; line-height: 1.5; }

.privacy-v2 { min-height: 720px; display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 100px; overflow: hidden; color: white; background: radial-gradient(circle at 15% 50%,rgba(92,137,109,.24),transparent 30%),#102f23; }.privacy-aura { position: relative; width: min(390px,100%); aspect-ratio: 1; display: grid; place-items: center; }.privacy-aura::before { content: ""; position: absolute; inset: 20%; border-radius: 32%; background: rgba(255,255,255,.07); transform: rotate(45deg); box-shadow: 0 35px 80px rgba(0,0,0,.15); }.privacy-aura > span { position: relative; z-index: 2; width: 96px; height: 96px; display: grid; place-items: center; border-radius: 31px; background: #dce9e0; color: var(--m-forest); font-size: 28px; box-shadow: 0 20px 60px rgba(0,0,0,.18); }.privacy-aura i { position: absolute; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }.privacy-aura i:nth-of-type(1) { inset: 0; }.privacy-aura i:nth-of-type(2) { inset: 45px; border-style: dashed; }.privacy-aura i:nth-of-type(3) { inset: 95px; }.privacy-content { max-width: 700px; }.privacy-content h2 { max-width: 680px; }.privacy-content > p:not(.marketing-eyebrow) { max-width: 660px; margin: 24px 0 0; color: rgba(255,255,255,.61); font-size: 14px; line-height: 1.66; }.privacy-promises { margin-top: 34px; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }.privacy-promises > div { min-height: 155px; padding: 17px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(255,255,255,.04); }.privacy-promises i { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 8px; background: rgba(211,226,216,.14); color: #cee0d3; font-size: 8px; font-style: normal; }.privacy-promises span { display: grid; gap: 7px; margin-top: 20px; }.privacy-promises strong { font-size: 10px; }.privacy-promises small { color: rgba(255,255,255,.48); font-size: 8px; line-height: 1.5; }.privacy-actions { margin-top: 26px; display: flex; align-items: center; gap: 24px; }

.faq-section { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(70px,10vw,150px); background: #faf9f5; }.faq-heading { position: sticky; top: 130px; align-self: start; }.faq-heading h2 { font-size: clamp(40px,4.5vw,62px); }.faq-heading > p:not(.marketing-eyebrow) { margin: 20px 0 24px; color: var(--m-muted); font-size: 13px; line-height: 1.6; }.faq-list { border-top: 1px solid var(--m-line); }.faq-list details { border-bottom: 1px solid var(--m-line); }.faq-list summary { min-height: 94px; padding: 0 4px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--m-ink); font-size: 17px; font-weight: 690; letter-spacing: -.025em; list-style: none; cursor: pointer; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary span { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 30px; border: 1px solid var(--m-line); border-radius: 50%; color: var(--m-forest); font-size: 15px; font-weight: 400; transition: transform 220ms var(--m-ease), background 220ms; }.faq-list details[open] summary span { background: var(--m-sage-soft); transform: rotate(45deg); }.faq-list details p { max-width: 650px; margin: -5px 0 28px; padding-right: 40px; color: var(--m-muted); font-size: 12px; line-height: 1.7; }
.faq-list summary:focus-visible { border-radius: 10px; outline-offset: 2px; }

.conversion-section { position: relative; min-height: 700px; padding: 120px 24px; display: grid; place-items: center; overflow: hidden; background: var(--m-paper); text-align: center; }.conversion-orbits { position: absolute; width: min(820px,95vw); aspect-ratio: 1; }.conversion-orbits i { position: absolute; border: 1px solid rgba(33,79,59,.09); border-radius: 50%; }.conversion-orbits i:nth-child(1) { inset: 0; }.conversion-orbits i:nth-child(2) { inset: 14%; border-style: dashed; }.conversion-orbits i:nth-child(3) { inset: 30%; background: rgba(184,203,188,.1); }.conversion-content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; }.conversion-mark { width: 48px; height: 48px; margin-bottom: 28px; display: grid; place-items: center; border-radius: 16px; background: var(--m-forest); color: white; box-shadow: 0 18px 45px rgba(33,79,59,.23); }.conversion-content .marketing-eyebrow { justify-content: center; }.conversion-content h2 { font-size: clamp(48px,6vw,78px); }.conversion-content > p:not(.marketing-eyebrow) { margin: 22px 0 28px; color: var(--m-muted); font-size: 14px; }.conversion-content small { margin-top: 17px; color: var(--m-muted); font-size: 8px; font-weight: 650; }

.marketing-footer { padding: 70px max(24px,calc((100vw - var(--m-max))/2)) 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 70px; border-top: 1px solid var(--m-line); background: #ebeae2; }.footer-brand p { max-width: 300px; margin: 16px 0 0; color: var(--m-muted); font-size: 10px; line-height: 1.55; }.footer-links { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }.footer-links > div { display: grid; align-content: start; gap: 11px; }.footer-links strong { margin-bottom: 5px; color: var(--m-ink); font-size: 9px; }.footer-links a { color: var(--m-muted); font-size: 9px; }.footer-links a:hover { color: var(--m-forest); }.footer-bottom { grid-column: 1/-1; padding-top: 22px; display: flex; justify-content: space-between; border-top: 1px solid var(--m-line); color: var(--m-muted); font-size: 8px; }

.has-js .marketing-v2 [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity 700ms var(--m-ease), transform 700ms var(--m-ease); }
.has-js .marketing-v2 [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
.has-js .loop-steps [data-reveal]:nth-child(2), .has-js .outcomes-list [data-reveal]:nth-child(2) { transition-delay: 70ms; }.has-js .loop-steps [data-reveal]:nth-child(3), .has-js .outcomes-list [data-reveal]:nth-child(3) { transition-delay: 140ms; }.has-js .loop-steps [data-reveal]:nth-child(4), .has-js .outcomes-list [data-reveal]:nth-child(4) { transition-delay: 210ms; }
.hero-message > * { animation: hero-enter 580ms var(--m-ease) both; }.hero-message h1 { animation-delay: 40ms; }.hero-description { animation-delay: 80ms; }.hero-cta-row { animation-delay: 120ms; }.hero-assurances { animation-delay: 160ms; }.hero-product { animation: product-enter 700ms 100ms var(--m-ease) both; }
@keyframes hero-enter { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@keyframes product-enter { from { opacity:0; transform:translateY(34px) scale(.975); } to { opacity:1; transform:none; } }
@keyframes float-soft { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
@keyframes progress-breathe { 0%,100% { width:46%; } 50% { width:54%; } }
@keyframes hero-gradient-drift { 0% { transform:scale(1.06) translate3d(-2%,-1%,0); } 50% { transform:scale(1.08) translate3d(2%,1%,0); } 100% { transform:scale(1.06) translate3d(-1%,2%,0); } }
@keyframes hero-cta-shine { 0%,64% { transform:translate3d(-240%,0,0) skewX(-20deg); } 82%,100% { transform:translate3d(380%,0,0) skewX(-20deg); } }
@keyframes mobile-orbit-drift { 0%,100% { transform:translate3d(0,0,0) rotate(0deg); } 50% { transform:translate3d(-8px,10px,0) rotate(2deg); } }
@keyframes mobile-orbit-drift-reverse { 0%,100% { transform:translate3d(0,0,0) rotate(0deg); } 50% { transform:translate3d(7px,-7px,0) rotate(-2.5deg); } }
@keyframes mobile-orbit-dot-float { 0%,100% { transform:translate3d(0,0,0) scale(1); opacity:.78; } 50% { transform:translate3d(5px,-7px,0) scale(1.08); opacity:1; } }

/* Match the intended 125% desktop reading scale while preserving responsive layouts. */
@media (min-width: 1325px) {
  html { overflow-x: clip; }
  body.marketing-v2 { width: 100%; zoom: 1.25; }
  .marketing-hero { min-height: calc(80svh - 112px); }
  .hero-atmosphere { width: 80vw; }
  .trust-ribbon { padding-inline: max(24px, calc((80vw - var(--m-max))/2)); }
  .marketing-section { padding-inline: max(24px, calc((80vw - 1180px)/2)); }
  .marketing-footer { padding-inline: max(24px, calc((80vw - var(--m-max))/2)); }
}

@media (max-width: 1060px) {
  .marketing-header { grid-template-columns: 1fr auto; }.marketing-nav { display: none; }
  .marketing-hero { grid-template-columns: 1fr; padding-top: 78px; }.hero-message { max-width: 790px; text-align: center; margin: auto; }.hero-message .marketing-eyebrow, .hero-cta-row, .hero-assurances { justify-content: center; }.hero-description { margin-inline: auto; }.hero-product { width: min(820px,100%); margin: 10px auto 0; }
  .loop-section, .faq-section { grid-template-columns: 1fr; }.loop-intro, .faq-heading { position: static; max-width: 720px; }.loop-steps { grid-template-columns: repeat(2,1fr); gap: 0 30px; }.loop-steps li { min-height: 270px; }
  .feature-today { grid-column: span 7; }.feature-journal { grid-column: span 5; }.feature-plan, .feature-balance, .feature-practice { grid-column: span 4; }
  .privacy-v2 { grid-template-columns: 300px 1fr; gap: 60px; }
}

@media (max-width: 760px) {
  .marketing-header { width: calc(100% - 28px); height: 70px; gap: 12px; }.marketing-header::before { inset-inline: -6px; }.header-actions { gap: 10px; }.header-signin { font-size: 10px; }.marketing-v2 .button-compact { min-height: 38px; padding-inline: 13px; font-size: 10px; }
  .marketing-hero { width: calc(100% - 28px); min-height: 0; padding: 62px 0 74px; gap: 50px; }.hero-message h1 { font-size: clamp(56px,15.5vw,82px); }.hero-description { font-size: 16px; }.hero-cta-row { display: grid; grid-template-columns: 1fr; }.hero-cta-row .button { width: 100%; }.hero-assurances { gap: 10px 15px; }.hero-atmosphere { inset:-70px 0 auto; width:100%; height:650px; transform:none; }.orbit-one { right:-360px; animation:mobile-orbit-drift 18s ease-in-out infinite; }.orbit-two { right:-230px; animation:mobile-orbit-drift-reverse 22s ease-in-out -5s infinite; }.orbit-three { animation:mobile-orbit-drift 15s ease-in-out -8s infinite reverse; }.orbit-dot { animation:mobile-orbit-dot-float 9s ease-in-out infinite; will-change:transform; }.dot-two { animation-delay:-3s; }.dot-three { animation-delay:-6s; }
  .browser-frame { border-radius: 18px; transform: none !important; }.browser-bar { height: 34px; }.demo-app { height: 420px; grid-template-columns: 42px 1fr; }.demo-sidebar { padding: 10px 6px; }.demo-brand { width: 27px; height: 27px; margin-inline: 1px; }.demo-nav-item { padding: 0; justify-content: center; }.demo-nav-item span, .demo-user span { display:none; }.demo-user { padding-inline:0; justify-content:center; }.demo-main { width: calc(100vw - 74px); }.demo-content { padding: 18px; }.demo-grid { grid-template-columns: 1fr; }.demo-focus { min-height: 220px; }.demo-rhythm { display:none; }.float-week { left:-7px; top:67px; }.float-reflection { right:-7px; bottom:24px; }
  .trust-ribbon { padding-block: 25px; flex-direction: column; justify-content:center; gap:16px; }.trust-ribbon > div { width:100%; justify-content:center; flex-wrap:wrap; gap:10px 16px; }
  .marketing-section { padding: 86px 20px; }.section-heading { margin-bottom: 38px; }.section-heading h2, .loop-intro h2, .privacy-content h2, .faq-heading h2, .conversion-content h2 { font-size: clamp(39px,11vw,56px); }
  .problem-heading-break { display: none; }.problem-section .section-heading { margin-bottom: 32px; }.problem-section .section-heading h2 { max-width: 350px; margin-inline: auto; font-size: clamp(40px,10.5vw,44px); line-height: .98; text-wrap: balance; }.problem-section .section-heading > p:last-child { max-width: 340px; margin-top: 20px; font-size: 14px; }
  .shift-comparison { grid-template-columns: 1fr; gap: 10px; }.shift-arrow { width: 38px; height: 38px; margin-block: -1px; transform: rotate(90deg); }.shift-card { min-height: 308px; padding: 23px; }.shift-card ul { margin-top: 30px; gap: 15px; }
  .loop-section { gap: 44px; padding: 76px 20px 70px; }.loop-intro { width:100%; }.loop-intro .marketing-eyebrow { margin-bottom:18px; }.loop-intro h2 { max-width:360px; text-wrap:balance; }.loop-intro > p:not(.marketing-eyebrow) { max-width:360px; margin:20px 0 24px; }.loop-steps { width:100%; grid-template-columns:1fr; }.loop-steps li { min-height:0; padding:28px 0; grid-template-columns:28px 48px minmax(0,1fr); gap:12px; align-items:start; }.loop-steps li > span { padding-top:15px; }.loop-icon { width:46px;height:46px;border-radius:14px; }.loop-steps h3 { margin:10px 0 8px;font-size:21px;line-height:1.18; }.loop-steps p { line-height:1.58; }
  .feature-bento { grid-template-columns:1fr; }.feature-today, .feature-journal, .feature-plan, .feature-balance, .feature-practice { grid-column:auto; min-height:360px; }.feature-card { padding:24px; }.mini-today, .journal-demo, .plan-demo, .practice-path { left:24px;right:24px; }
  .outcomes-section { grid-template-columns:1fr; gap:64px; }.outcomes-quote blockquote { font-size:38px; }
  .privacy-v2 { grid-template-columns:1fr; gap:40px; }.privacy-aura { width:230px; margin:auto; }.privacy-aura > span { width:72px;height:72px;border-radius:24px; }.privacy-promises { grid-template-columns:1fr; }.privacy-promises > div { min-height:115px; }.privacy-promises span { margin-top:12px; }.privacy-actions { align-items:stretch; flex-direction:column; }.privacy-actions .button { width:100%; }.privacy-actions .text-link { justify-content:center; }
  .faq-section { gap:45px; }.faq-list summary { min-height:82px; font-size:15px; }
  .conversion-section { min-height:620px; padding-block:90px; }.conversion-content .button { width:100%; }.conversion-content h2 { font-size:clamp(43px,12vw,62px); }
  .marketing-footer { grid-template-columns:1fr; gap:44px; }.footer-links { gap:20px; }
}

@media (max-width: 430px) {
  .marketing-v2 .wordmark { font-size:13px; }.marketing-v2 .wordmark-mark { width:31px;height:31px; }.header-signin { display:none; }.marketing-v2 .button-compact { padding-inline:11px;font-size:9px; }
  .marketing-hero { padding-top:46px; }.marketing-eyebrow { font-size:8px; }.hero-message h1 { font-size:55px; }.hero-description { font-size:15px; }.hero-assurances { font-size:8px; }
  .browser-bar > b { max-width:155px; }.product-float { padding:10px; }.product-float strong { font-size:7px; }
  .feature-copy h3 { font-size:29px; }.feature-practice { min-height:390px; }
  .footer-links { grid-template-columns:1fr 1fr; }.footer-links > div:last-child { grid-column:1/-1; }.footer-bottom { align-items:flex-start; flex-direction:column; gap:8px; }
}

@media (hover: none) and (pointer: coarse) {
  .marketing-v2 .button, .marketing-nav a, .header-signin, .footer-links a { min-height:44px; }
  .marketing-nav a, .header-signin, .footer-links a { display:flex;align-items:center; }
  .faq-list summary { min-height:88px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-message > *, .hero-product, .product-float, .demo-progress i, .hero-atmosphere::before, .hero-cta-primary::before, .orbit, .orbit-dot { animation:none !important; }
  .has-js .marketing-v2 [data-reveal] { opacity:1;transform:none;transition:none; }
  .browser-frame { transform:none !important;transition:none; }
  .marketing-v2 * { scroll-behavior:auto !important; }
}
