:root {
  --navy-950: #0b2229;
  --navy-900: #0e2b33;
  --navy-800: #183e46;
  --ink: #183238;
  --muted: #556d70;
  --cream: #fbf8f1;
  --paper: #fffdf9;
  --blue: #dcebef;
  --blue-2: #c8e0e5;
  --teal: #5d8987;
  --teal-dark: #326965;
  --mint: #e5f1ec;
  --gold: #d4a95b;
  --peach: #efc9aa;
  --line: rgba(14, 43, 51, .13);
  --line-dark: rgba(255, 255, 255, .13);
  --shadow: 0 28px 70px rgba(19, 57, 64, .13);
  --shadow-soft: 0 14px 40px rgba(19, 57, 64, .09);
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Times New Roman", serif;
  --sans: Avenir, "Avenir Next", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body::before {
  position: fixed;
  z-index: 30;
  inset: 0;
  opacity: .17;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E");
  content: "";
  pointer-events: none;
}
a { color: inherit; }
button, input, select { font: inherit; }
button, a { touch-action: manipulation; }
img { max-width: 100%; }
.shell { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.skip { position: absolute; top: -70px; left: 14px; z-index: 99; padding: 10px 14px; border-radius: 8px; color: white; background: var(--navy-950); }
.skip:focus { top: 14px; }

.site-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid rgba(14, 43, 51, .08);
  background: rgba(251, 248, 241, .9);
  backdrop-filter: blur(18px);
}
.nav-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: flex; align-items: center; flex: 0 0 auto; text-decoration: none; }
.brand-logo { display: block; width: min(190px, 44vw); height: auto; aspect-ratio: 560 / 169; }
.nav-links { display: flex; align-items: center; gap: 28px; font-size: 14px; font-weight: 700; }
.nav-links > a:not(.button) { position: relative; color: #456064; text-decoration: none; }
.nav-links > a:not(.button)::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; background: var(--teal-dark); content: ""; transform: scaleX(0); transform-origin: left; transition: transform .18s ease; }
.nav-links > a:not(.button):hover::after, .nav-links > a[aria-current="page"]::after { transform: scaleX(1); }
.nav-links > a[aria-current="page"]:not(.button) { color: var(--navy-950); }
.nav-links > .button[aria-current="page"] { color: white; }
.member-login { white-space: nowrap; }
.mobile-nav-toggle, .mobile-nav-panel { display: none; }

.button { display: inline-flex; min-height: 50px; padding: 0 23px; align-items: center; justify-content: center; gap: 9px; border: 1px solid transparent; border-radius: 999px; font-weight: 800; letter-spacing: -.01em; text-decoration: none; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); }
.button-dark { color: white; background: var(--navy-900); box-shadow: 0 10px 24px rgba(14, 43, 51, .17); }
.button-dark:hover { background: var(--navy-950); box-shadow: 0 13px 30px rgba(14, 43, 51, .23); }
.button-light { border-color: var(--line); color: var(--navy-900); background: rgba(255, 253, 249, .84); box-shadow: 0 8px 22px rgba(14, 43, 51, .07); }
.button-small { min-height: 42px; padding-inline: 18px; font-size: 14px; }
.button svg { width: 17px; height: 17px; }

.page-hero { position: relative; overflow: hidden; padding: 92px 0 84px; }
.page-hero::after { position: absolute; z-index: -1; top: -35vw; right: -17vw; width: 67vw; height: 67vw; border-radius: 50%; background: radial-gradient(circle, rgba(200, 224, 229, .78), rgba(200, 224, 229, 0) 68%); content: ""; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(390px, .98fr); align-items: center; gap: 76px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; color: var(--teal-dark); font-size: 12px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow::before { width: 24px; height: 2px; background: var(--gold); content: ""; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { color: var(--navy-950); font-family: var(--serif); font-weight: 500; text-wrap: balance; }
h1 { max-width: 760px; margin-bottom: 25px; font-size: clamp(52px, 6.2vw, 82px); line-height: .99; letter-spacing: -.052em; }
h2 { margin-bottom: 22px; font-size: clamp(39px, 4.8vw, 62px); line-height: 1.04; letter-spacing: -.042em; }
h3 { color: var(--navy-950); font-size: 21px; line-height: 1.25; letter-spacing: -.025em; }
.lede { max-width: 650px; margin-bottom: 31px; color: #4c686c; font-size: 19px; line-height: 1.7; }
.hero-actions { display: flex; align-items: center; gap: 13px; flex-wrap: wrap; }
.trust-note { display: flex; align-items: center; gap: 8px; margin-top: 20px; color: var(--muted); font-size: 13px; }
.trust-note::before { display: grid; width: 19px; height: 19px; place-items: center; border-radius: 50%; color: #2e6d59; background: #dcece5; content: "✓"; font-size: 11px; font-weight: 900; }

.hero-stage { position: relative; min-height: 500px; display: grid; place-items: center; }
.story-card { position: relative; width: min(430px, 100%); overflow: hidden; border: 1px solid var(--line); border-radius: 29px; background: var(--paper); box-shadow: var(--shadow); }
.story-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.story-person { display: flex; align-items: center; gap: 11px; }
.avatar { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; color: white; background: var(--navy-900); font-family: var(--serif); font-size: 17px; }
.story-person strong { display: block; color: var(--navy-950); font-size: 14px; }
.story-person span, .story-head > span { color: #809194; font-size: 10px; }
.story-body { padding: 22px; background: linear-gradient(160deg, #fdfefc, #f2f7f5); }
.message { width: fit-content; max-width: 86%; margin-bottom: 10px; padding: 11px 14px; border-radius: 17px; color: #203a3f; background: #e5e9e6; font-size: 13px; line-height: 1.45; }
.message.reply { margin-left: auto; border-bottom-right-radius: 5px; color: white; background: #35746c; }
.message.agent { border-bottom-left-radius: 5px; }
.record-card { position: absolute; right: -18px; bottom: 5px; width: 290px; padding: 18px; border: 1px solid var(--line); border-radius: 19px; background: var(--paper); box-shadow: var(--shadow); }
.record-label { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; color: var(--navy-950); font-size: 12px; font-weight: 850; }
.record-label span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; color: #2f715b; background: #dcece5; }
.record-card p { margin: 0; color: #53696c; font-size: 12px; line-height: 1.5; }
.status { display: inline-flex; margin-top: 11px; padding: 4px 9px; border-radius: 999px; color: #397060; background: #edf5f1; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }

.principles { border-block: 1px solid var(--line); background: rgba(255, 255, 255, .34); }
.principle-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.principle { display: flex; min-height: 92px; padding: 18px; align-items: center; justify-content: center; gap: 10px; border-right: 1px solid var(--line); color: #587074; font-size: 13px; font-weight: 750; text-align: center; }
.principle:last-child { border: 0; }
.principle span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: var(--teal-dark); background: var(--mint); font-family: var(--serif); font-size: 14px; }

section { padding: 82px 0; }
.section-paper { background: var(--paper); }
.section-mint { background: #eaf2f1; }
.section-dark { color: #dbe7e7; background: var(--navy-950); }
.section-dark h2, .section-dark h3 { color: white; }
.section-dark .eyebrow { color: #9ec9c5; }
.section-dark .section-intro p { color: #a9bcbc; }
.section-intro { max-width: 820px; margin: 0 auto 48px; text-align: center; }
.section-intro .eyebrow { justify-content: center; }
.section-intro p { max-width: 700px; margin-inline: auto; color: var(--muted); font-size: 18px; }
.split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 74px; }
.split-copy > p { color: var(--muted); font-size: 18px; }

.step-list { counter-reset: steps; display: grid; gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 25px; background: var(--line); box-shadow: var(--shadow-soft); }
.step { counter-increment: steps; display: grid; grid-template-columns: 66px 1fr; gap: 20px; padding: 27px 29px; background: var(--paper); }
.step::before { display: grid; width: 49px; height: 49px; place-items: center; border-radius: 50%; color: var(--navy-900); background: var(--blue); content: "0" counter(steps); font-family: var(--serif); font-size: 18px; }
.step h3 { margin: 2px 0 7px; }
.step p { margin: 0; color: var(--muted); font-size: 14px; }

.layer-grid { display: grid; grid-template-columns: repeat(5, 1fr); overflow: hidden; border: 1px solid var(--line-dark); border-radius: 24px; }
.layer { position: relative; min-height: 276px; padding: 28px 22px 30px; border-right: 1px solid var(--line-dark); }
.layer:last-child { border: 0; }
.layer-num { margin-bottom: 45px; color: rgba(239, 201, 170, .82); font-family: var(--serif); font-size: 46px; line-height: 1; }
.layer::after { position: absolute; top: 78px; left: 22px; width: 35px; height: 1px; background: var(--gold); content: ""; }
.layer h3 { font-size: 18px; }
.layer p { margin: 0; color: #a9bcbc; font-size: 13px; line-height: 1.55; }

.dayline { position: relative; display: grid; gap: 0; padding: 8px 25px; border: 1px solid var(--line); border-radius: 26px; background: var(--paper); box-shadow: var(--shadow-soft); }
.day-event { display: grid; grid-template-columns: 62px 34px 1fr; gap: 14px; padding: 21px 0; align-items: start; border-bottom: 1px solid var(--line); }
.day-event:last-child { border: 0; }
.day-event time { padding-top: 7px; color: #607577; font-size: 11px; font-weight: 850; }
.day-event b { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: var(--teal-dark); background: var(--blue); font-size: 12px; }
.day-event h3 { margin: 4px 0; font-size: 15px; }
.day-event p { margin: 0; color: var(--muted); font-size: 12px; }
.chips { display: flex; margin-top: 25px; gap: 9px; flex-wrap: wrap; }
.chip { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: #4d686c; background: var(--paper); font-size: 12px; font-weight: 750; }

.value-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.value-card { padding: 38px; border: 1px solid var(--line); border-radius: 25px; background: var(--paper); box-shadow: var(--shadow-soft); }
.value-card.parent { background: #edf5f1; }
.value-card.family { background: var(--blue); }
.value-card h3 { margin-bottom: 27px; font-family: var(--serif); font-size: 31px; font-weight: 500; }
.benefit { display: grid; grid-template-columns: 28px 1fr; gap: 12px; margin-top: 20px; }
.benefit .tick { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: white; background: var(--teal-dark); font-size: 11px; font-weight: 900; }
.benefit strong { display: block; margin-bottom: 2px; color: var(--navy-950); font-size: 14px; }
.benefit p { margin: 0; color: #61777a; font-size: 13px; }

.role-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.role-card { position: relative; min-height: 290px; padding: 30px; overflow: hidden; border: 1px solid var(--line); border-radius: 23px; background: var(--paper); }
.role-card::after { position: absolute; right: -50px; bottom: -65px; width: 150px; height: 150px; border: 1px solid rgba(50, 105, 101, .15); border-radius: 50%; content: ""; box-shadow: 0 0 0 25px rgba(50, 105, 101, .03); }
.role-type { display: inline-flex; margin-bottom: 46px; padding: 6px 10px; border-radius: 999px; color: var(--teal-dark); background: var(--mint); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.role-card h3 { font-family: var(--serif); font-size: 26px; font-weight: 500; }
.role-card p { color: var(--muted); font-size: 14px; }

.access-panel { display: grid; grid-template-columns: .95fr 1.05fr; gap: 40px; padding: 46px; border-radius: 28px; color: white; background: var(--navy-950); box-shadow: var(--shadow); }
.access-panel h2 { color: white; }
.access-panel .eyebrow { color: #9ec9c5; }
.access-panel p { color: #adc0c1; }
.access-points { display: grid; gap: 10px; }
.access-point { display: grid; grid-template-columns: 36px 1fr; gap: 12px; padding: 15px 16px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 14px; background: rgba(255, 255, 255, .055); }
.access-point b { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; color: #b9d9d3; background: rgba(255, 255, 255, .09); }
.access-point strong { display: block; color: white; font-size: 13px; }
.access-point span { color: #9eb2b4; font-size: 11px; }

.trust-ledger { position: relative; width: min(440px, 100%); overflow: hidden; border: 1px solid var(--line); border-radius: 28px; background: rgba(255, 253, 249, .94); box-shadow: var(--shadow); }
.trust-ledger-head { display: flex; min-height: 92px; padding: 23px 25px; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }
.trust-ledger-head > div { display: grid; }
.trust-ledger-head span { color: #5a7174; font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.trust-ledger-head strong { color: var(--navy-950); font-family: var(--serif); font-size: 23px; font-weight: 500; }
.trust-ledger-head > b { padding: 6px 10px; border-radius: 999px; color: #2e6d59; background: #dcece5; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.trust-ledger-body { padding: 9px 24px 18px; }
.trust-ledger-row { display: grid; grid-template-columns: 28px 1fr 22px; gap: 12px; padding: 16px 0; align-items: center; border-bottom: 1px solid var(--line); }
.trust-ledger-row:last-child { border: 0; }
.trust-ledger-row > span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; color: var(--teal-dark); background: var(--mint); font-family: var(--serif); font-size: 11px; }
.trust-ledger-row div { display: grid; }
.trust-ledger-row strong { color: var(--navy-950); font-size: 12px; }
.trust-ledger-row small { color: #5f7578; font-size: 10px; line-height: 1.45; }
.trust-ledger-row > b { display: grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; color: #2f715b; background: #dcece5; font-size: 10px; }

.retention-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 76px; align-items: center; }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--navy-900); font-size: 13px; font-weight: 850; text-underline-offset: 4px; }
.retention-card { padding: 28px; border: 1px solid var(--line); border-radius: 28px; background: var(--paper); box-shadow: var(--shadow); }
.retention-source, .retention-record { padding: 20px; border-radius: 17px; }
.retention-source { border: 1px dashed rgba(50, 105, 101, .35); background: #f7f5ef; }
.retention-source span, .retention-record > span { display: block; margin-bottom: 9px; color: var(--teal-dark); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.retention-source p { margin: 0; color: #4e676a; font-family: var(--serif); font-size: 18px; font-style: italic; line-height: 1.45; }
.retention-arrow { margin: 8px 0; color: var(--gold); font-size: 22px; text-align: center; }
.retention-record { background: var(--navy-950); }
.retention-record > span { color: #a9cfca; }
.retention-record ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.retention-record li { display: grid; grid-template-columns: 90px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid rgba(255, 255, 255, .1); color: #c4d4d5; font-size: 11px; }
.retention-record li b { color: white; font-size: 11px; }
.retention-note { display: grid; grid-template-columns: 90px 1fr; gap: 12px; margin-top: 12px; padding: 12px 14px; border-radius: 12px; background: #edf5f1; }
.retention-note b { color: var(--navy-950); font-size: 10px; }
.retention-note span { color: #506d6d; font-size: 10px; }

.trust-boundaries { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.trust-boundaries article { padding: 34px; border: 1px solid rgba(255, 255, 255, .12); border-radius: 24px; background: rgba(255, 255, 255, .055); }
.trust-boundaries article > span { display: inline-flex; margin-bottom: 24px; padding: 6px 10px; border-radius: 999px; color: #b9d9d3; background: rgba(255, 255, 255, .09); font-size: 10px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.trust-boundaries ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.trust-boundaries li { position: relative; padding: 15px 0 15px 29px; border-top: 1px solid rgba(255, 255, 255, .1); color: #c3d2d3; font-size: 13px; }
.trust-boundaries li::before { position: absolute; top: 16px; left: 0; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: #b9d9d3; background: rgba(255, 255, 255, .09); content: "✓"; font-size: 9px; font-weight: 900; }
.trust-boundaries article:last-child li::before { color: #efd09d; content: "—"; }

.memory-feature { position: relative; padding: 28px; border-radius: 25px; background: #f1dfc8; box-shadow: var(--shadow); transform: rotate(1deg); }
.memory-feature::before { position: absolute; top: -13px; left: 28px; padding: 6px 12px; border-radius: 999px; color: white; background: var(--navy-900); content: "Family memory"; font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.recipe { padding: 29px 31px; border-radius: 7px; background: #fffdf7; box-shadow: 0 10px 30px rgba(91, 63, 34, .1); }
.recipe-photo { position: relative; height: 175px; margin-bottom: 23px; overflow: hidden; border-radius: 4px; background: #b9cbc0; }
.recipe-photo::before { position: absolute; top: 52%; left: 50%; width: 160px; height: 88px; border-radius: 50%; background: #d49a5b; box-shadow: inset 0 0 0 16px #e7b978; content: ""; transform: translate(-50%, -50%); }
.recipe-photo::after { position: absolute; inset: 0; background: linear-gradient(130deg, rgba(255, 255, 255, .34), transparent 50%); content: ""; }
.recipe small { color: #917a5e; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.recipe h3 { margin: 6px 0 9px; font-family: var(--serif); font-size: 30px; font-weight: 500; }
.recipe p { color: #6e6354; font-family: var(--serif); font-size: 15px; font-style: italic; }
.recipe-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.recipe-tags span { padding: 5px 8px; border-radius: 3px; color: #766b5b; background: #f2eee4; font-size: 9px; }
.memory-types { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.memory-type { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.memory-type b { display: block; margin-bottom: 18px; color: var(--gold); font-family: var(--serif); font-size: 28px; font-weight: 500; }
.memory-type h3 { margin-bottom: 8px; font-size: 16px; }
.memory-type p { margin: 0; color: var(--muted); font-size: 12px; }

.quote-panel { padding: 58px; border-radius: 29px; color: white; background: var(--navy-950); text-align: center; box-shadow: var(--shadow); }
.quote-panel blockquote { max-width: 850px; margin: 0 auto 25px; font-family: var(--serif); font-size: clamp(31px, 4vw, 50px); line-height: 1.15; }
.quote-panel p { max-width: 680px; margin: 0 auto; color: #a9bcbc; }

.faq { max-width: 850px; margin: auto; border-top: 1px solid var(--line); }
.faq details { padding: 22px 0; border-bottom: 1px solid var(--line); }
.faq summary { color: var(--navy-950); font-size: 17px; font-weight: 800; cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { float: right; color: var(--teal-dark); content: "+"; font-family: var(--serif); font-size: 25px; font-weight: 400; }
.faq details[open] summary::after { content: "–"; }
.faq details p { max-width: 730px; margin: 13px 0 0; color: var(--muted); }

.final-cta { padding-top: 0; }
.cta-card { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 40px; overflow: hidden; padding: 54px 58px; border-radius: 29px; background: var(--blue); }
.cta-card::after { position: absolute; right: -100px; bottom: -180px; width: 370px; height: 370px; border: 1px solid rgba(50, 105, 101, .15); border-radius: 50%; content: ""; box-shadow: 0 0 0 45px rgba(50, 105, 101, .04), 0 0 0 90px rgba(50, 105, 101, .025); }
.cta-card > * { position: relative; z-index: 1; }
.cta-card h2 { max-width: 770px; margin-bottom: 12px; }
.cta-card p { max-width: 660px; margin-bottom: 0; color: #4d686c; font-size: 17px; }

.waitlist-page { padding: 74px 0 88px; }
.waitlist-grid { display: grid; grid-template-columns: .86fr 1.14fr; align-items: start; gap: 70px; }
.waitlist-copy { position: sticky; top: 120px; }
.waitlist-copy h1 { font-size: clamp(50px, 5.5vw, 75px); }
.waitlist-copy > p { color: var(--muted); font-size: 18px; }
.early-list { margin: 28px 0 31px; padding: 0; list-style: none; }
.early-list li { position: relative; margin: 13px 0; padding-left: 29px; color: #536e72; font-size: 14px; }
.early-list li::before { position: absolute; top: 2px; left: 0; display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: #2f715b; background: #dcece5; content: "✓"; font-size: 10px; font-weight: 900; }
.demo-link { display: inline-flex; align-items: center; gap: 8px; color: var(--navy-900); font-size: 14px; font-weight: 800; text-underline-offset: 4px; }
.after-join { margin-top: 22px; padding: 20px 22px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255, 253, 249, .7); }
.after-join strong { display: block; margin-bottom: 4px; color: var(--navy-950); font-size: 13px; }
.after-join p { margin: 0; color: var(--muted); font-size: 12px; }

.thank-you-page { position: relative; min-height: calc(100vh - 76px); overflow: hidden; padding: 48px 0 82px; }
.thank-you-page::before { position: absolute; z-index: -1; top: -260px; right: -190px; width: 720px; height: 720px; border-radius: 50%; background: radial-gradient(circle, rgba(200, 224, 229, .82), rgba(200, 224, 229, 0) 68%); content: ""; }
.thank-you-page::after { position: absolute; z-index: -1; bottom: -280px; left: -250px; width: 620px; height: 620px; border: 1px solid rgba(50, 105, 101, .14); border-radius: 50%; content: ""; box-shadow: 0 0 0 48px rgba(50, 105, 101, .035), 0 0 0 96px rgba(50, 105, 101, .02); }
.thank-you-grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(400px, .98fr); align-items: start; gap: 76px; }
.confirmation-mark { display: grid; width: 50px; height: 50px; margin-bottom: 18px; place-items: center; border-radius: 50%; color: #fff; background: var(--teal-dark); box-shadow: 0 0 0 9px rgba(50, 105, 101, .09); }
.confirmation-mark svg { width: 24px; height: 24px; }
.thank-you-copy h1 { max-width: 690px; margin-bottom: 19px; font-size: clamp(51px, 5.3vw, 68px); }
.thank-you-copy > p { max-width: 650px; margin-bottom: 22px; color: var(--muted); font-size: 17px; }
.thank-you-actions { display: flex; align-items: center; gap: 13px; flex-wrap: wrap; }
.support-line { max-width: 620px; margin: 28px 0 0; padding-top: 22px; border-top: 1px solid var(--line); color: #718588; font-size: 12px; }
.support-line a { color: var(--teal-dark); font-weight: 800; text-underline-offset: 3px; }
.next-card { position: relative; overflow: hidden; padding: 33px; border: 1px solid var(--line); border-radius: 29px; background: rgba(255, 253, 249, .9); box-shadow: var(--shadow); }
.next-card::after { position: absolute; right: -82px; bottom: -102px; width: 220px; height: 220px; border: 1px solid rgba(50, 105, 101, .13); border-radius: 50%; content: ""; box-shadow: 0 0 0 26px rgba(50, 105, 101, .035); }
.next-card > * { position: relative; z-index: 1; }
.next-card-label { display: flex; align-items: center; gap: 9px; margin-bottom: 25px; color: var(--teal-dark); font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.next-card-label::before { width: 23px; height: 2px; background: var(--gold); content: ""; }
.next-card h2 { margin-bottom: 25px; font-size: 35px; }
.next-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; counter-reset: thank-you-steps; }
.next-steps li { counter-increment: thank-you-steps; display: grid; grid-template-columns: 42px 1fr; gap: 13px; padding: 17px 0; border-top: 1px solid var(--line); }
.next-steps li::before { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; color: var(--navy-900); background: var(--blue); content: "0" counter(thank-you-steps); font-family: var(--serif); font-size: 13px; }
.next-steps strong { display: block; margin-bottom: 3px; color: var(--navy-950); font-size: 13px; }
.next-steps span { display: block; color: var(--muted); font-size: 12px; line-height: 1.55; }
.product-loop { display: grid; grid-template-columns: 1fr 25px 1fr 25px 1fr; align-items: center; gap: 7px; margin-top: 27px; padding: 16px; border-radius: 17px; background: #edf5f1; }
.loop-step { text-align: center; }
.loop-step b { display: grid; width: 31px; height: 31px; margin: 0 auto 7px; place-items: center; border-radius: 50%; color: var(--teal-dark); background: #fff; font-family: var(--serif); font-size: 14px; box-shadow: 0 4px 12px rgba(14, 43, 51, .07); }
.loop-step span { display: block; color: #52716f; font-size: 9px; font-weight: 800; line-height: 1.3; }
.loop-arrow { color: #88a6a2; font-size: 17px; text-align: center; }

.not-found-page { position: relative; display: grid; min-height: calc(100vh - 76px); padding: 70px 0 92px; place-items: center; overflow: hidden; }
.not-found-page::before { position: absolute; z-index: -1; top: -330px; right: -220px; width: 780px; height: 780px; border-radius: 50%; background: radial-gradient(circle, rgba(200, 224, 229, .9), rgba(200, 224, 229, 0) 69%); content: ""; }
.not-found-page::after { position: absolute; z-index: -1; bottom: -360px; left: -310px; width: 700px; height: 700px; border: 1px solid rgba(50, 105, 101, .14); border-radius: 50%; content: ""; box-shadow: 0 0 0 52px rgba(50, 105, 101, .035), 0 0 0 104px rgba(50, 105, 101, .02); }
.not-found-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, .78fr); align-items: center; gap: 86px; }
.not-found-copy h1 { max-width: 730px; margin-bottom: 20px; font-size: clamp(63px, 7.2vw, 98px); line-height: .97; }
.not-found-copy > p { max-width: 640px; color: var(--muted); font-size: 18px; }
.not-found-actions { display: flex; gap: 13px; margin-top: 30px; flex-wrap: wrap; }
.not-found-links { display: grid; max-width: 590px; margin-top: 39px; border-top: 1px solid var(--line); }
.not-found-links a { display: flex; min-height: 49px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); color: #466266; font-size: 13px; font-weight: 800; text-decoration: none; }
.not-found-links a:hover { color: var(--teal-dark); }
.lost-conversation { position: relative; overflow: hidden; padding: 31px; border: 8px solid var(--navy-900); border-radius: 43px; background: rgba(255, 253, 249, .94); box-shadow: 0 32px 74px rgba(14, 43, 51, .18); }
.lost-conversation::before { position: absolute; top: -8px; left: 50%; width: 115px; height: 28px; border-radius: 0 0 17px 17px; background: var(--navy-900); content: ""; transform: translateX(-50%); }
.lost-phone-top { display: flex; margin: 18px 0 30px; align-items: center; justify-content: center; gap: 10px; text-align: left; }
.lost-phone-top > div { display: grid; }
.lost-phone-top strong { color: var(--navy-950); font-size: 13px; }
.lost-phone-top span:not(.lost-avatar) { color: #5e7477; font-size: 9px; }
.lost-avatar { display: grid; width: 37px; height: 37px; place-items: center; border-radius: 50%; color: white; background: var(--navy-900); font-size: 11px; font-weight: 850; }
.lost-messages { display: grid; gap: 11px; }
.lost-bubble { width: fit-content; max-width: 88%; margin: 0; padding: 11px 14px; border-radius: 15px; color: #385359; font-size: 12px; line-height: 1.5; }
.lost-agent { border-bottom-left-radius: 5px; background: #e7edeb; }
.lost-person { margin-left: auto; border-bottom-right-radius: 5px; color: white; background: var(--teal-dark); }
.lost-status { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 12px; margin-top: 27px; padding: 16px; border: 1px solid var(--line); border-radius: 17px; background: var(--paper); box-shadow: var(--shadow-soft); }
.lost-check { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; color: #276e5b; background: #dcece5; font-weight: 900; }
.lost-status div { display: grid; }
.lost-status strong { color: var(--navy-950); font-size: 12px; }
.lost-status div span { color: #5c7476; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.site-footer { padding: 42px 0; color: #93a9ab; background: #07191e; }
.footer-inner { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 50px; }
.footer-logo { width: min(210px, 58vw); }
.footer-right { text-align: right; }
.footer-nav { display: flex; justify-content: flex-end; gap: 9px 18px; flex-wrap: wrap; margin-bottom: 10px; }
.footer-nav a { color: #d0dddd; font-size: 12px; font-weight: 700; text-decoration: none; }
.footer-nav a:hover { text-decoration: underline; text-underline-offset: 3px; }
.footer-copy { font-size: 11px; }
.footer-legal { display: flex; justify-content: flex-end; gap: 8px 14px; flex-wrap: wrap; margin-top: 7px; }
.footer-legal a { color: #a8babc; text-underline-offset: 3px; }

.cookie-consent { position: fixed; right: 24px; bottom: 24px; left: 24px; z-index: 40; display: none; width: min(calc(100% - 48px), 760px); margin: auto; padding: 16px 18px; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 253, 249, .97); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.cookie-consent.show { display: flex; }
.cookie-consent p { margin: 0; color: #53696c; font-size: 12px; line-height: 1.5; }
.cookie-consent strong { display: block; margin-bottom: 2px; color: var(--navy-950); font-size: 13px; }
.cookie-consent a { color: var(--teal-dark); font-weight: 800; text-underline-offset: 3px; }
.cookie-actions { display: flex; flex: 0 0 auto; gap: 10px; }
.cookie-btn { min-height: 40px; padding: 0 16px; border: 1px solid var(--line); border-radius: 999px; color: var(--navy-900); background: var(--paper); font-size: 12px; font-weight: 800; cursor: pointer; }
.cookie-btn.accept { border-color: var(--navy-900); color: #fff; background: var(--navy-900); }

@media (max-width: 980px) {
  .site-nav.has-mobile-menu .nav-links { display: none; }
  .site-nav.has-mobile-menu .mobile-nav-toggle { display: inline-flex; min-height: 42px; padding: 0 14px; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--navy-900); background: rgba(255, 253, 249, .9); font-size: 13px; font-weight: 800; cursor: pointer; }
  .mobile-nav-toggle svg { width: 18px; height: 18px; }
  .mobile-nav-toggle .close-lines { display: none; }
  .mobile-menu-open .mobile-nav-toggle .menu-lines { display: none; }
  .mobile-menu-open .mobile-nav-toggle .close-lines { display: block; }
  .site-nav.has-mobile-menu .mobile-nav-panel { position: absolute; top: 100%; right: 20px; left: 20px; display: grid; overflow: hidden; padding: 9px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 253, 249, .98); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
  .site-nav.has-mobile-menu .mobile-nav-panel[hidden] { display: none; }
  .mobile-nav-panel a { display: flex; min-height: 48px; padding: 0 14px; align-items: center; justify-content: space-between; border-radius: 11px; color: var(--navy-900); font-size: 14px; font-weight: 780; text-decoration: none; }
  .mobile-nav-panel a:hover, .mobile-nav-panel a:focus-visible, .mobile-nav-panel a[aria-current="page"] { background: var(--mint); outline: 0; }
  .mobile-nav-panel .mobile-member-link { margin-top: 5px; border-top: 1px solid var(--line); border-radius: 0; color: #526d70; }
  .mobile-nav-panel .mobile-primary-link { justify-content: center; margin-top: 5px; color: white; background: var(--navy-900); }
  .mobile-nav-panel .mobile-primary-link:hover, .mobile-nav-panel .mobile-primary-link:focus-visible, .mobile-nav-panel .mobile-primary-link[aria-current="page"] { color: white; background: var(--navy-950); }
  .hero-grid, .split, .access-panel, .waitlist-grid, .thank-you-grid, .not-found-grid, .retention-grid { grid-template-columns: 1fr; }
  .page-hero { padding-top: 70px; }
  .hero-stage { min-height: 470px; }
  .story-card { margin-inline: auto; }
  .layer-grid { grid-template-columns: 1fr 1fr; }
  .layer:nth-child(2), .layer:nth-child(4) { border-right: 0; }
  .layer { border-bottom: 1px solid var(--line-dark); }
  .layer:last-child { grid-column: 1 / -1; min-height: 220px; }
  .role-grid { grid-template-columns: 1fr; }
  .role-card { min-height: auto; }
  .role-type { margin-bottom: 25px; }
  .waitlist-copy { position: static; text-align: center; }
  .early-list { display: inline-block; text-align: left; }
  .thank-you-grid { max-width: 760px; gap: 45px; }
  .thank-you-copy { text-align: center; }
  .confirmation-mark { margin-inline: auto; }
  .thank-you-copy h1, .thank-you-copy > p, .support-line { margin-inline: auto; }
  .thank-you-actions { justify-content: center; }
  .not-found-grid { max-width: 760px; gap: 48px; }
  .not-found-copy { text-align: center; }
  .not-found-copy h1, .not-found-copy > p, .not-found-links { margin-inline: auto; }
  .not-found-actions { justify-content: center; }
  .lost-conversation { width: min(430px, 100%); margin-inline: auto; }
  .trust-ledger { margin-inline: auto; }
}

@media (max-width: 760px) {
  .nav-inner { min-height: 68px; }
  .brand-logo { width: min(140px, 42vw); }
  .nav-links > a:not(.button):not(.member-login) { display: none; }
  .nav-links { gap: 10px; }
  .member-login { font-size: 12px; }
  .member-login .member-label { display: none; }
  .nav-links .button { min-height: 40px; padding-inline: 14px; font-size: 12px; }
  h1 { font-size: 48px; }
  .page-hero { padding: 48px 0 62px; }
  .lede { font-size: 17px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-stage { min-height: 430px; }
  .story-card { width: min(360px, 92%); }
  .record-card { right: 50%; bottom: -14px; width: min(280px, 90%); transform: translateX(50%); }
  .principle-grid { grid-template-columns: 1fr 1fr; }
  .principle:nth-child(2) { border-right: 0; }
  .principle:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  section { padding: 62px 0; }
  .section-intro p, .split-copy > p { font-size: 16px; }
  .value-grid, .memory-types, .trust-boundaries { grid-template-columns: 1fr; }
  .value-card { padding: 30px 25px; }
  .layer-grid { grid-template-columns: 1fr; }
  .layer, .layer:last-child { grid-column: auto; min-height: auto; border-right: 0; }
  .layer-num { margin-bottom: 25px; }
  .step { grid-template-columns: 50px 1fr; gap: 14px; padding: 23px 20px; }
  .step::before { width: 42px; height: 42px; font-size: 16px; }
  .dayline { padding: 8px 17px; }
  .day-event { grid-template-columns: 49px 28px 1fr; gap: 9px; }
  .day-event b { width: 28px; height: 28px; }
  .access-panel { padding: 32px 22px; }
  .quote-panel { padding: 42px 24px; }
  .cta-card { grid-template-columns: 1fr; align-items: start; padding: 40px 25px; }
  .waitlist-page { padding: 48px 0 65px; }
  .thank-you-page { min-height: 0; padding: 48px 0 64px; }
  .thank-you-grid { gap: 34px; }
  .thank-you-copy h1 { font-size: 47px; }
  .thank-you-copy > p { font-size: 16px; }
  .thank-you-actions { align-items: stretch; flex-direction: column; }
  .thank-you-actions .button { width: 100%; }
  .next-card { padding: 27px 22px; }
  .next-card h2 { font-size: 31px; }
  .product-loop { grid-template-columns: 1fr 17px 1fr 17px 1fr; padding: 13px 9px; }
  .not-found-page { min-height: 0; padding: 49px 0 66px; }
  .not-found-copy h1 { font-size: 57px; }
  .not-found-copy > p { font-size: 16px; }
  .not-found-actions { align-items: stretch; flex-direction: column; }
  .not-found-actions .button { width: 100%; }
  .lost-conversation { padding: 26px 20px 22px; border-width: 7px; border-radius: 35px; }
  .retention-card { padding: 20px; }
  .retention-source, .retention-record { padding: 17px; }
  .retention-record li, .retention-note { grid-template-columns: 78px 1fr; }
  .trust-boundaries article { padding: 27px 22px; }
  .footer-inner { grid-template-columns: 1fr; gap: 24px; }
  .footer-right { text-align: left; }
  .footer-nav, .footer-legal { justify-content: flex-start; }
  .cookie-consent { right: 14px; bottom: 14px; left: 14px; width: calc(100% - 28px); align-items: flex-start; flex-direction: column; }
  .cookie-actions { width: 100%; }
  .cookie-btn { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button, .nav-links > a:not(.button)::after { transition: none; }
}
