/* Keepsake Dispatch tokens are isolated to the public homepage; site-wide pages share the data-theme activation, not these tokens. */
  .keepsake-home {
    --paper: #FAF7F2; --cream: #F3ECE1; --cream-2: #EDE3D2; --note: #FFFDF7; --card: #FFFFFF;
    --forest: #1A3026; --forest-2: #234234; --forest-3: #12221B;
    --sage: #2F6350; --sage-tint: #EDF6F1; --sage-line: #BBD9C9;
    --gold: #C59B3F; --gold-dark: #8E6A1F; --gold-tint: #FDF9EE; --gold-line: #E8D7A8;
    --blue: #385E8A; --blue-tint: #EEF4FA;
    --ink: #1B2129; --ink-2: #2C3542; --ink-3: #424F60; --ink-4: #5D6D82; --ink-5: #8E9EAF;
    --line: #E8DFC4; --line-2: #E2D7C3; --line-3: #ECE5D8;
    --pen: #2C4F86; --pen-red: #A8431D; --sticky: #F6E7A6;
    --r-sm: 8px; --r-md: 14px; --r-lg: 22px;
    --sh-1: 0 2px 6px rgba(44,34,22,.04), 0 6px 18px rgba(44,34,22,.05);
    --sh-2: 0 4px 14px rgba(44,34,22,.06), 0 12px 30px rgba(44,34,22,.05);
    --sh-3: 0 10px 30px rgba(26,48,38,.12), 0 20px 48px rgba(26,48,38,.08);
    --serif: "Newsreader", Georgia, Cambria, "Times New Roman", serif;
    --sans: "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --hand: "Caveat", "Bradley Hand", "Segoe Print", "Comic Sans MS", cursive;
    --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
    --wrap: 1160px;
    background: var(--paper);
    color: var(--ink-2);
    font: 16px/1.6 var(--sans);
    overflow-x: clip;
  }

  .keepsake-home, .keepsake-home * { box-sizing: border-box; }
  .keepsake-home * { margin: 0; padding: 0; }
  .keepsake-home img, .keepsake-home svg { display: block; max-width: 100%; }
  .keepsake-home a { color: var(--blue); }
  .keepsake-home button { border: 0; background: none; color: inherit; cursor: pointer; font: inherit; }
  .keepsake-home :focus-visible { border-radius: 6px; outline: 3px solid var(--blue); outline-offset: 3px; }
  .keepsake-home .wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 1.5rem; }
  .keepsake-home .narrow { max-width: 840px; }
  .keepsake-home .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .keepsake-home .skip { position: absolute; top: -60px; left: 1rem; z-index: 100; border-radius: var(--r-sm); background: var(--forest); color: #fff; padding: .6rem 1rem; font-weight: 600; text-decoration: none; }
  .keepsake-home .skip:focus { top: .75rem; }
  .keepsake-home h1, .keepsake-home h2, .keepsake-home h3, .keepsake-home h4 { color: var(--ink); font-family: var(--serif); font-weight: 600; letter-spacing: -.02em; line-height: 1.15; }
  .keepsake-home .hand { color: var(--pen); font-family: var(--hand); font-weight: 600; line-height: 1.1; }
  .keepsake-home section[id], .keepsake-home #d-results { scroll-margin-top: 84px; }
  .keepsake-home .kicker { display: inline-block; margin-bottom: .8rem; color: var(--sage); font: 700 .82rem/1 var(--sans); letter-spacing: .09em; text-transform: uppercase; }
  .keepsake-home .section { padding: 5rem 0; }
  .keepsake-home .head { max-width: 720px; margin: 0 auto 3rem; text-align: center; }
  .keepsake-home .head h2 { margin-bottom: .9rem; font-size: clamp(2rem, 3.6vw, 2.8rem); text-wrap: balance; }
  .keepsake-home .head p { color: var(--ink-4); font-size: 1.1rem; text-wrap: pretty; }

  .keepsake-home .btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border-radius: var(--r-md); padding: .85rem 1.6rem; color: var(--ink-2); font-size: 1rem; font-weight: 600; line-height: 1.25; text-align: center; text-decoration: none; transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease; }
  .keepsake-home .btn-forest { background: var(--forest); box-shadow: 0 4px 14px rgba(26,48,38,.25); color: #fff; }
  .keepsake-home .btn-forest:hover { background: var(--forest-2); color: #fff; transform: translateY(-1px); }
  .keepsake-home .btn-gold { background: var(--gold); box-shadow: 0 4px 14px rgba(197,155,63,.28); color: #1A1A1A; font-weight: 700; }
  .keepsake-home .btn-gold:hover { background: #D6AE55; transform: translateY(-1px); }
  .keepsake-home .btn-paper { border: 1px solid var(--line-2); background: #fff; box-shadow: var(--sh-1); }
  .keepsake-home .btn-paper:hover { background: var(--cream); }
  .keepsake-home .btn-ghost-light { border: 1px solid rgba(255,255,255,.35); color: #F3EEE3; }
  .keepsake-home .btn-ghost-light:hover { background: rgba(255,255,255,.08); }
  .keepsake-home .btn-sm { border-radius: var(--r-sm); padding: .55rem 1rem; font-size: .9rem; }
  .keepsake-home .btn svg { flex: none; }

  .keepsake-home .site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--line); background: rgba(250,247,242,.95); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
  .keepsake-home .nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 70px; }
  .keepsake-home .brand { display: flex; flex: none; align-items: center; gap: .6rem; color: var(--ink); text-decoration: none; white-space: nowrap; }
  .keepsake-home .brand img { width: 36px; height: 36px; }
  .keepsake-home .brand-name { color: var(--ink); font: 600 1.5rem/1 var(--serif); letter-spacing: -.02em; }
  .keepsake-home .brand-name span { color: var(--blue); }
  .keepsake-home .nav-links { display: flex; align-items: center; gap: 1.4rem; list-style: none; }
  .keepsake-home .nav-links a { color: var(--ink-3); font-size: .94rem; font-weight: 500; text-decoration: none; }
  .keepsake-home .nav-links a:hover { color: var(--forest); }
  .keepsake-home .nav-actions { display: flex; flex: none; align-items: center; gap: .5rem; }
  .keepsake-home .nav-actions .btn { min-height: 44px; white-space: nowrap; }
  .keepsake-home .theme-toggle--home { display: inline-flex; flex: none; }
  .keepsake-home .theme-toggle--home .theme-toggle__button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--line-2); border-radius: var(--r-sm); background: var(--card); color: var(--ink-2); transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease; }
  .keepsake-home .theme-toggle--home .theme-toggle__button:hover { border-color: var(--sage-line); background: var(--cream); color: var(--ink); transform: translateY(-1px); }
  .keepsake-home .theme-toggle--home .theme-toggle__button:active { transform: translateY(1px); }
  .keepsake-home .theme-toggle--home .theme-toggle__button [data-lucide] { width: 20px; height: 20px; }
  .keepsake-home .menu-btn { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--line-2); border-radius: var(--r-sm); background: #fff; }
  .keepsake-home .mobile-nav { display: none; }
  @media (max-width: 1080px) {
    .keepsake-home .nav-links { display: none; }
    .keepsake-home .menu-btn { display: inline-flex; }
    .keepsake-home .mobile-nav:not([hidden]) { display: block; border-top: 1px solid var(--line); background: var(--paper); }
    .keepsake-home .mobile-nav ul { display: grid; gap: .1rem; list-style: none; padding: .5rem 1.5rem 1rem; }
    .keepsake-home .mobile-nav a { display: block; border-bottom: 1px dashed var(--line); padding: .7rem .25rem; color: var(--ink-2); font-weight: 600; text-decoration: none; }
    .keepsake-home .mobile-nav li:last-child a { border-bottom: 0; }
  }
  @media (max-width: 420px) {
    .keepsake-home .brand-name { font-size: 1.28rem; }
    .keepsake-home .brand img { width: 30px; height: 30px; }
    .keepsake-home .nav-actions .btn-sm { padding: .55rem .75rem; }
  }

  .keepsake-home .hero { padding: 3.6rem 0 4rem; }
  .keepsake-home .hero-grid { display: grid; grid-template-columns: minmax(0,1.06fr) minmax(0,.94fr); align-items: center; gap: 3.5rem; }
  .keepsake-home .hero h1 { max-width: 650px; margin-bottom: 1.3rem; font-size: clamp(2.35rem,4.4vw,3.55rem); line-height: 1.1; text-wrap: balance; }
  .keepsake-home .hero h1 em { position: relative; color: var(--sage); font-style: italic; font-weight: 500; white-space: nowrap; }
  .keepsake-home .hero h1 em svg { position: absolute; right: 0; bottom: -.14em; left: 0; width: 100%; height: .3em; overflow: visible; }
  .keepsake-home .hero h1 em path { fill: none; stroke: var(--gold); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 320; stroke-dashoffset: 320; animation: keepsake-draw 1.1s .45s ease-out forwards; }
  @keyframes keepsake-draw { to { stroke-dashoffset: 0; } }
  .keepsake-home .lead { max-width: 600px; margin-bottom: 1.9rem; color: var(--ink-3); font-size: 1.16rem; text-wrap: pretty; }
  .keepsake-home .cta-row { display: flex; flex-wrap: wrap; gap: .9rem; margin-bottom: 1.3rem; }
  .keepsake-home .facts { color: var(--ink-4); font-size: .93rem; }
  .keepsake-home .facts b { font-weight: 500; white-space: nowrap; }
  .keepsake-home .facts span { margin: 0 .35rem; color: var(--gold); }
  .keepsake-home .route { position: relative; padding-top: .5rem; }
  .keepsake-home .route-letter { position: relative; transform: rotate(-1.3deg); border: 1px solid var(--line-2); border-radius: 4px; background: var(--note); box-shadow: 6px 8px 0 var(--cream-2), 0 18px 36px rgba(44,34,22,.1); padding: 1.35rem 1.5rem 1.15rem; }
  .keepsake-home .stamp { position: absolute; top: .9rem; right: 1rem; transform: rotate(7deg); border: 2px solid var(--gold); border-radius: 4px; outline: 1px solid var(--gold); outline-offset: 2px; padding: .45rem .5rem; color: var(--gold-dark); font: 700 .7rem/1 var(--sans); letter-spacing: .14em; }
  .keepsake-home .meta { margin-bottom: .3rem; padding-right: 4.6rem; color: var(--ink-3); font-size: .86rem; }
  .keepsake-home .meta b { display: inline-block; width: 2.7rem; color: var(--ink-5); font-size: .68rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
  .keepsake-home .meta i { color: var(--ink-4); font-style: normal; }
  .keepsake-home .route-subject { margin: .7rem 0 .55rem; color: var(--ink); font: 600 1.2rem/1.3 var(--serif); }
  .keepsake-home .scribble { display: block; height: 44px; background: repeating-linear-gradient(to bottom,transparent 0 9px,#E4DCCB 9px 11px); -webkit-mask-image: linear-gradient(90deg,#000 0 80%,transparent 80%); mask-image: linear-gradient(90deg,#000 0 80%,transparent 80%); }
  .keepsake-home .copies { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; margin-top: 2rem; list-style: none; }
  .keepsake-home .copies li { position: relative; border: 1px solid var(--line-3); border-radius: 8px; background: #fff; box-shadow: var(--sh-1); padding: .6rem .7rem; color: var(--ink); font: 600 1rem/1.2 var(--serif); }
  .keepsake-home .copies li:nth-child(1) { transform: rotate(-1.2deg); }
  .keepsake-home .copies li:nth-child(3) { transform: rotate(1.3deg); }
  .keepsake-home .copies li::before { position: absolute; top: -1.7rem; left: 50%; height: 1.5rem; border-left: 2px dashed var(--sage-line); content: ""; }
  .keepsake-home .copies small { display: flex; align-items: center; gap: .3rem; margin-top: .25rem; color: var(--sage); font: 600 .72rem var(--sans); }
  .keepsake-home .mini-check { flex: none; width: 14px; height: 14px; }
  .keepsake-home .mini-check path { fill: none; stroke: var(--sage); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 24; stroke-dashoffset: 24; animation: keepsake-draw .5s ease-out forwards; }
  .keepsake-home .copies li:nth-child(1) path { animation-delay: 1.2s; }
  .keepsake-home .copies li:nth-child(2) path { animation-delay: 1.45s; }
  .keepsake-home .copies li:nth-child(3) path { animation-delay: 1.7s; }
  .keepsake-home .route-note { display: inline-block; transform: rotate(-2deg); margin: .6rem 0 0 .3rem; color: var(--pen); font: 600 1.45rem/1.1 var(--hand); }
  .keepsake-home .route-reply { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; width: fit-content; margin-top: .55rem; border: 1px dashed var(--sage-line); border-radius: 8px; background: var(--sage-tint); padding: .5rem .8rem; color: var(--ink-2); font-size: .9rem; }
  .keepsake-home .route-reply strong { color: var(--sage); }
  .keepsake-home .hero-grid > *, .keepsake-home .po > *, .keepsake-home .compare > *, .keepsake-home .book-grid > *, .keepsake-home .faq-top > *, .keepsake-home .faq-topic > *, .keepsake-home .how-top > *, .keepsake-home .console-grid > * { min-width: 0; }
  @media (max-width: 900px) { .keepsake-home .hero-grid { grid-template-columns: 1fr; gap: 2.5rem; } .keepsake-home .route { max-width: 520px; } }
  @media (max-width: 640px) { .keepsake-home .route { display: none; } .keepsake-home .facts b { display: block; white-space: normal; } .keepsake-home .facts span { display: none; } }
  @media (max-width: 520px) { .keepsake-home .hero { padding-top: 2.4rem; } .keepsake-home .copies { gap: .45rem; } .keepsake-home .copies li { padding: .5rem; font-size: .9rem; } .keepsake-home .meta { padding-right: 3.8rem; font-size: .8rem; } .keepsake-home .route-letter { padding: 1.1rem 1rem; } }

  .keepsake-home .quote-band { position: relative; background: var(--forest); padding: 3.2rem 0; color: #F3EEE3; }
  .keepsake-home .quote-band figure { position: relative; max-width: 880px; margin: 0 auto; text-align: center; }
  .keepsake-home .quote-band blockquote { color: #FFFDF7; font: italic 500 clamp(1.55rem,3.2vw,2.35rem)/1.3 var(--serif); text-wrap: balance; }
  .keepsake-home .quote-band blockquote::before { display: block; margin-bottom: .9rem; color: var(--gold); content: "\201C"; font: 600 4rem/.6 var(--serif); }
  .keepsake-home .quote-band figcaption { margin-top: 1.1rem; color: var(--gold-line); font: 600 1.6rem/1 var(--hand); }

  .keepsake-home .po { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.9fr); align-items: center; gap: 3.5rem; margin-top: 4.5rem; }
  .keepsake-home .po h3 { margin-bottom: .9rem; font-size: clamp(1.55rem,2.6vw,2rem); text-wrap: balance; }
  .keepsake-home .po p { max-width: 520px; margin-bottom: .8rem; color: var(--ink-3); }
  .keepsake-home .pad { position: relative; justify-self: center; width: 100%; max-width: 470px; transform: rotate(1.3deg); border-radius: 4px 4px 10px 10px; background-color: #FFFCF0; background-image: linear-gradient(90deg,transparent 52px,rgba(168,67,29,.4) 52px 54px,transparent 54px),linear-gradient(transparent 33px,rgba(56,94,138,.16) 34px); background-size: 100% 100%,100% 34px; box-shadow: var(--sh-2); padding: 3.3rem 1.2rem 1.4rem 70px; color: var(--pen); font: 500 1.35rem/34px var(--hand); }
  .keepsake-home .pad::before { position: absolute; top: 0; right: 0; left: 0; height: 26px; border-radius: 4px 4px 0 0; background: var(--forest); background-image: radial-gradient(circle at 50% 70%,#0b1611 4px,transparent 5px); background-size: 40px 26px; content: ""; }
  .keepsake-home .pad-title { position: absolute; top: 32px; left: 70px; color: var(--ink); font-weight: 700; }
  .keepsake-home .pad ol { list-style: none; }
  .keepsake-home .pad li { position: relative; }
  .keepsake-home .pad s { color: var(--ink-4); text-decoration-color: var(--pen-red); text-decoration-thickness: 2px; }
  .keepsake-home .pad .margin { display: inline-block; margin-left: .5rem; transform: rotate(-3deg); color: var(--pen-red); font-size: 1.05rem; }
  .keepsake-home .sticky { position: absolute; right: -12px; bottom: -26px; width: 170px; transform: rotate(-5deg); background: var(--sticky); box-shadow: 0 12px 22px -12px rgba(0,0,0,.45); padding: .85rem .9rem; color: var(--ink); font: 600 1.12rem/1.2 var(--hand); }
  @media (max-width: 900px) { .keepsake-home .po { grid-template-columns: 1fr; gap: 2.5rem; } }
  @media (max-width: 520px) { .keepsake-home .pad { transform: rotate(.6deg); background-image: linear-gradient(90deg,transparent 44px,rgba(168,67,29,.4) 44px 46px,transparent 46px),linear-gradient(transparent 33px,rgba(56,94,138,.16) 34px); padding-left: 60px; font-size: 1.2rem; } .keepsake-home .pad-title { left: 60px; } .keepsake-home .pad .margin { display: block; margin: 0 0 .1rem; line-height: 1.2; } .keepsake-home .sticky { right: 4px; bottom: -30px; width: 150px; font-size: 1.02rem; } }

  .keepsake-home .compare { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 2.25rem; }
  .keepsake-home .col-hand { border: 1px solid #EEDCCE; border-radius: 6px; background-color: var(--note); background-image: linear-gradient(90deg,transparent 1.3rem,rgba(168,67,29,.25) 1.3rem,rgba(168,67,29,.25) calc(1.3rem + 1px),transparent calc(1.3rem + 1px)); box-shadow: 4px 6px 0 var(--cream-2),0 10px 24px rgba(44,34,22,.06); padding: 2rem 1.8rem 2rem 2.4rem; }
  .keepsake-home .col-peace { position: relative; border: 2px solid var(--sage); border-radius: var(--r-lg); background: #fff; box-shadow: var(--sh-3); padding: 2.4rem 2.2rem 2.2rem; }
  .keepsake-home .col-hand h3, .keepsake-home .col-peace h3 { margin-bottom: .35rem; font-size: 1.55rem; }
  .keepsake-home .col-lead { margin-bottom: 1.4rem; color: var(--ink-4); font-size: .95rem; }
  .keepsake-home .path-stamp { position: absolute; top: -19px; right: 22px; transform: rotate(-3deg); border: 2px solid var(--sage); border-radius: 6px; outline: 1px solid var(--sage); outline-offset: 3px; background: var(--paper); padding: .45rem .85rem; color: var(--sage); font: italic 600 1.05rem/1 var(--serif); }
  .keepsake-home .rows { display: grid; gap: 1.05rem; list-style: none; }
  .keepsake-home .col-peace .rows { gap: 1.3rem; }
  .keepsake-home .row { display: grid; grid-template-columns: 26px 1fr; align-items: start; gap: .75rem; }
  .keepsake-home .row strong { display: block; margin-bottom: .15rem; color: var(--ink); font-size: .98rem; line-height: 1.35; }
  .keepsake-home .row > div > span { color: var(--ink-3); font-size: .9rem; line-height: 1.45; }
  .keepsake-home .x { display: grid; place-items: center; width: 24px; height: 24px; margin-top: -2px; color: var(--pen-red); }
  .keepsake-home .x svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; }
  .keepsake-home .ok { display: grid; place-items: center; width: 24px; height: 24px; margin-top: 1px; border-radius: 50%; background: var(--sage); color: #fff; }
  .keepsake-home .ok svg { width: 13px; height: 13px; }
  @media (max-width: 860px) { .keepsake-home .compare { grid-template-columns: 1fr; gap: 2.8rem; } .keepsake-home .col-hand { padding: 1.6rem 1.2rem 1.6rem 2.1rem; } .keepsake-home .col-peace { padding: 2.2rem 1.3rem 1.6rem; } }

  .keepsake-home .demo-sec { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--cream); }
  .keepsake-home .console { overflow: hidden; border: 1px solid var(--line-3); border-radius: var(--r-lg); background: #fff; box-shadow: var(--sh-3); }
  .keepsake-home .console-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .7rem; background: var(--forest-3); padding: .95rem 1.6rem; color: #E2ECE6; font-size: .95rem; font-weight: 600; }
  .keepsake-home .console-bar .badge { border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(255,255,255,.12); padding: .4rem .65rem; color: #F3EEE3; font: 700 .72rem/1 var(--sans); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
  .keepsake-home .console-grid { display: grid; grid-template-columns: 1fr 1.1fr; }
  .keepsake-home .sender { display: flex; flex-direction: column; gap: 1.3rem; border-right: 1px solid var(--line-3); background: #FAFAF8; padding: 1.8rem; }
  .keepsake-home .step-label { margin-bottom: .55rem; color: var(--ink-4); font: 700 .78rem/1 var(--sans); letter-spacing: .06em; text-transform: uppercase; }
  .keepsake-home .switch { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; border-radius: var(--r-md); background: #EFEDE8; padding: .35rem; }
  .keepsake-home .switch button { border: 1px solid transparent; border-radius: 11px; padding: .7rem .85rem; color: var(--ink-3); text-align: left; }
  .keepsake-home .switch button[aria-pressed="true"] { border-color: rgba(0,0,0,.05); background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.07); color: var(--ink); }
  .keepsake-home .switch b { display: block; font-size: .95rem; }
  .keepsake-home .switch small { display: block; margin-top: .1rem; color: var(--ink-4); font-size: .78rem; }
  .keepsake-home .switch button[data-audience="everyone"][aria-pressed="true"] b { color: var(--sage); }
  .keepsake-home .switch button[data-audience="veryclose"][aria-pressed="true"] b { color: var(--gold-dark); }
  .keepsake-home .composer { border: 1px solid var(--line-3); border-radius: var(--r-md); background: #fff; box-shadow: var(--sh-1); padding: 1.15rem; }
  .keepsake-home .field { display: flex; align-items: baseline; gap: .6rem; min-width: 0; margin-bottom: .6rem; border-bottom: 1px solid #F0EAE1; padding-bottom: .6rem; font-size: .88rem; }
  .keepsake-home .field > span:first-child { flex: none; width: 58px; color: var(--ink-5); font-weight: 500; }
  .keepsake-home .field .addr { overflow-wrap: anywhere; border-radius: 4px; background: var(--blue-tint); padding: .15rem .45rem; color: var(--blue); font: 500 .8rem var(--mono); }
  .keepsake-home .field .addr-note { display: block; margin-top: .2rem; color: var(--ink-4); font-size: .74rem; }
  .keepsake-home .subject { color: var(--ink); font-weight: 600; }
  .keepsake-home .body { margin: .8rem 0; color: var(--ink-3); font-size: .92rem; line-height: 1.55; }
  .keepsake-home .attach { display: inline-flex; align-items: center; gap: .4rem; margin-bottom: .95rem; border-radius: var(--r-sm); background: var(--sage-tint); padding: .35rem .7rem; color: var(--sage); font-size: .8rem; }
  .keepsake-home .send { display: flex; align-items: center; justify-content: center; gap: .5rem; width: 100%; border-radius: var(--r-md); background: var(--sage); box-shadow: 0 4px 12px rgba(47,99,80,.25); padding: .9rem; color: #fff; font-weight: 600; }
  .keepsake-home .send:hover { background: #234D3E; }
  .keepsake-home .send:disabled { cursor: wait; opacity: .78; }
  .keepsake-home .receivers { display: flex; flex-direction: column; gap: 1rem; padding: 1.8rem; }
  .keepsake-home .recv-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
  .keepsake-home .recv-head h3 { color: var(--ink); font: 700 1.1rem/1.3 var(--sans); letter-spacing: 0; }
  .keepsake-home .recv-head p { color: var(--ink-4); font-size: .84rem; }
  .keepsake-home .count { border-radius: 999px; background: #F1EFEA; padding: .25rem .65rem; color: var(--ink-3); font-size: .8rem; font-weight: 600; white-space: nowrap; }
  .keepsake-home .banner { display: flex; align-items: center; gap: .6rem; border: 1px solid var(--line-3); border-radius: var(--r-md); background: #F7F4EE; padding: .75rem 1rem; color: var(--ink-3); font-size: .9rem; transition: background-color .25s, border-color .25s; }
  .keepsake-home .banner.done { border-color: var(--sage-line); background: var(--sage-tint); color: var(--sage); }
  .keepsake-home .slips { display: grid; gap: .7rem; list-style: none; }
  .keepsake-home .slip { position: relative; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .4rem .8rem; border: 1px solid var(--line-3); border-left: 5px solid var(--edge,var(--line-2)); border-radius: 10px; background: var(--paper); padding: .8rem 1rem; transition: background-color .3s,border-color .3s; }
  .keepsake-home .slip[data-tone="gold"] { --edge: var(--gold); background: #FFFCF3; }
  .keepsake-home .slip[data-tone="sage"] { --edge: var(--sage); background: #F7FBF8; }
  .keepsake-home .slip[data-tone="blue"] { --edge: #7C9CC2; background: #F7FAFD; }
  .keepsake-home .slip[data-tone="rose"] { --edge: #C98F74; background: #FFF9F5; }
  .keepsake-home .slip-name { color: var(--ink); font: 600 1.08rem/1.2 var(--serif); }
  .keepsake-home .slip-note { grid-column: 1; color: var(--ink-4); font-size: .8rem; line-height: 1.35; }
  .keepsake-home .status { display: flex; grid-row: 1 / span 2; grid-column: 2; align-items: center; gap: .4rem; color: var(--ink-5); font-size: .82rem; font-weight: 600; white-space: nowrap; }
  .keepsake-home .tick { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border: 2px dashed var(--line-2); border-radius: 50%; transition: background-color .25s,border-color .25s; }
  .keepsake-home .tick svg { width: 16px; height: 16px; }
  .keepsake-home .tick path { fill: none; stroke: #fff; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 26; stroke-dashoffset: 26; }
  .keepsake-home .slip.there .tick { border: 2px solid var(--sage); background: var(--sage); animation: keepsake-pop .45s cubic-bezier(.3,1.6,.5,1); }
  .keepsake-home .slip.there .tick path { animation: keepsake-draw .35s .12s ease-out forwards; }
  .keepsake-home .slip.there .status { color: var(--sage); }
  .keepsake-home .slip.there { border-color: var(--sage-line); border-left-color: var(--edge,var(--sage)); }
  @keyframes keepsake-pop { 0% { transform: scale(.4) rotate(-20deg); } 100% { transform: none; } }
  .keepsake-home .slip-reply { display: flex; grid-column: 1 / -1; flex-wrap: wrap; align-items: center; gap: .5rem .8rem; margin-top: .4rem; border-top: 1px dashed var(--line); padding-top: .6rem; }
  .keepsake-home .reply-btn { border: 1px solid var(--line-2); border-radius: var(--r-sm); background: #fff; padding: .35rem .7rem; color: var(--blue); font-size: .82rem; font-weight: 600; }
  .keepsake-home .reply-btn:hover:not(:disabled) { border-color: var(--blue); background: var(--blue-tint); }
  .keepsake-home .reply-btn:disabled { cursor: default; opacity: .5; }
  .keepsake-home .reply-hint { color: var(--ink-4); font-size: .78rem; }
  .keepsake-home .reply-route { display: flex; grid-column: 1 / -1; align-items: center; gap: .6rem; margin-top: .3rem; }
  .keepsake-home .reply-track { position: relative; flex: 1; min-width: 90px; height: 22px; }
  .keepsake-home .reply-track::before { position: absolute; top: 50%; right: 26px; left: 0; border-top: 2px dashed var(--pen); content: ""; }
  .keepsake-home .reply-env { position: absolute; top: 50%; left: 0; width: 22px; height: 15px; margin-top: -7.5px; border: 1.5px solid var(--pen); border-radius: 2px; background: #fff; animation: keepsake-fly .9s ease-in-out forwards; }
  .keepsake-home .reply-env::after { position: absolute; top: 1px; right: 2px; left: 2px; height: 7px; transform: skewY(-28deg) rotate(-45deg) scale(.7); transform-origin: left; border-bottom: 1.5px solid var(--pen); border-left: 1.5px solid var(--pen); content: ""; }
  @keyframes keepsake-fly { to { left: calc(100% - 22px); } }
  .keepsake-home .reply-to { display: inline-flex; align-items: center; gap: .2rem; color: var(--sage); font: 700 .82rem/1.2 var(--sans); white-space: nowrap; }
  .keepsake-home .reply-to svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
  .keepsake-home .reply-msg { grid-column: 1 / -1; color: var(--pen); font: 600 1.3rem/1.15 var(--hand); }
  .keepsake-home .saved { display: flex; align-items: center; justify-content: space-between; gap: .8rem; border: 1px solid var(--sage-line); border-radius: 10px; background: #F4F8F5; padding: .75rem 1rem; color: var(--ink-3); font-size: .86rem; }
  .keepsake-home .saved b { color: var(--sage); font: 600 1rem var(--serif); }
  .keepsake-home .saved .status { grid-row: auto; }
  .keepsake-home .saved.there .tick { border: 2px solid var(--sage); background: var(--sage); }
  .keepsake-home .saved.there .tick path { animation: keepsake-draw .35s ease-out forwards; }
  .keepsake-home .saved.there .status { color: var(--sage); }
  @media (max-width: 900px) { .keepsake-home .console-grid { grid-template-columns: 1fr; } .keepsake-home .sender { border-right: 0; border-bottom: 1px solid var(--line-3); } }
  @media (max-width: 520px) { .keepsake-home .sender, .keepsake-home .receivers { padding: 1.2rem; } .keepsake-home .console-bar { padding: .8rem 1rem; } .keepsake-home .switch { grid-template-columns: 1fr; } .keepsake-home .slip { padding: .7rem .8rem; } .keepsake-home .status span { font-size: .78rem; } }

  .keepsake-home .wall { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); align-items: start; gap: 1.6rem; margin-top: 1rem; }
  .keepsake-home .taped { position: relative; margin: 0; border-radius: 3px; background: var(--note); box-shadow: var(--sh-2); padding: 1.8rem 1.6rem 1.3rem; }
  .keepsake-home .taped::before { position: absolute; top: -12px; left: 50%; width: 92px; height: 24px; margin-left: -46px; transform: rotate(-3deg); background: rgba(232,215,168,.75); box-shadow: 0 1px 2px rgba(0,0,0,.08); content: ""; }
  .keepsake-home .taped blockquote { margin-bottom: .9rem; color: var(--ink); font: 500 1.3rem/1.38 var(--serif); }
  .keepsake-home .taped figcaption { color: var(--pen); font: 600 1.45rem/1.1 var(--hand); }
  .keepsake-home .taped figcaption small { display: block; margin-top: .15rem; color: var(--ink-4); font: 500 .82rem/1.3 var(--sans); }
  .keepsake-home .taped:nth-child(1) { grid-column: 1 / span 4; transform: rotate(-1.4deg); }
  .keepsake-home .taped:nth-child(2) { grid-column: 5 / span 4; margin-top: 2rem; transform: rotate(1.2deg); background: #F6FAF7; }
  .keepsake-home .taped:nth-child(3) { grid-column: 9 / span 4; transform: rotate(-.6deg); background: #FFFCF3; }
  @media (max-width: 860px) { .keepsake-home .wall { grid-template-columns: 1fr; gap: 2.2rem; max-width: 520px; margin-inline: auto; } .keepsake-home .taped:nth-child(n) { grid-column: auto; margin-top: 0; } }

  .keepsake-home .letters-sec { border-top: 1px solid var(--line); background: var(--cream); padding: 5rem 0 0; }
  .keepsake-home .letters { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: start; gap: 1.3rem 1.2rem; list-style: none; padding-bottom: 2.2rem; }
  .keepsake-home .letter { position: relative; border: 1px solid var(--line-3); border-radius: 4px; background: #fff; box-shadow: var(--sh-2); padding: 1.05rem 1.1rem 1rem; }
  .keepsake-home .letter:nth-child(odd) { transform: rotate(-.8deg); }
  .keepsake-home .letter:nth-child(even) { transform: rotate(.9deg) translateY(10px); }
  .keepsake-home .letter:nth-child(4n+1) { margin-left: .4rem; }
  .keepsake-home .wk { display: flex; justify-content: space-between; margin-bottom: .65rem; color: var(--sage); font: 700 .72rem/1 var(--sans); letter-spacing: .08em; text-transform: uppercase; }
  .keepsake-home .wk span:last-child { color: var(--ink-5); font-weight: 600; }
  .keepsake-home .letter h3 { margin-bottom: .35rem; font-size: 1.1rem; }
  .keepsake-home .letter p { color: var(--ink-3); font-size: .88rem; line-height: 1.5; }
  .keepsake-home .letter img.ph { display: block; width: 100%; height: 72px; margin-bottom: .7rem; border-radius: 3px; background: var(--cream-2); object-fit: cover; }
  .keepsake-home .to-book { grid-column: 4; align-self: center; transform: rotate(-3deg); padding: 1rem .5rem; color: var(--pen); font: 600 1.6rem/1.1 var(--hand); }
  .keepsake-home .to-book svg { width: 70px; height: 60px; margin-top: .3rem; }
  .keepsake-home .to-book path { fill: none; stroke: var(--pen); stroke-width: 2.2; stroke-linecap: round; }
  @media (max-width: 980px) { .keepsake-home .letters { grid-template-columns: repeat(2,minmax(0,1fr)); } .keepsake-home .to-book { grid-column: auto; } }
  @media (max-width: 560px) { .keepsake-home .letters { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; } .keepsake-home .letter:nth-child(n) { margin-left: 0; transform: none; } .keepsake-home .letter:nth-child(even) { transform: rotate(.5deg); } .keepsake-home .letter:nth-child(odd) { transform: rotate(-.5deg); } }
  .keepsake-home .book-panel { background: var(--forest); padding: 4.2rem 0 4.6rem; color: #fff; }
  .keepsake-home .book-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); align-items: center; gap: 3.2rem; }
  .keepsake-home .book-img { overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: var(--r-lg); background: #193B2E; box-shadow: 0 22px 50px rgba(0,0,0,.4); }
  .keepsake-home .book-img img { width: 100%; height: auto; aspect-ratio: 3 / 2; }
  .keepsake-home .book-copy .kicker { color: var(--gold); }
  .keepsake-home .book-copy h2 { margin-bottom: 1rem; color: #fff; font-size: clamp(2rem,3.4vw,2.7rem); text-wrap: balance; }
  .keepsake-home .book-copy p { margin-bottom: 1.4rem; color: #D3E0D9; font-size: 1.08rem; }
  .keepsake-home .checks { display: grid; gap: .7rem; margin-bottom: 1.8rem; list-style: none; }
  .keepsake-home .checks li { display: flex; align-items: flex-start; gap: .6rem; color: #E7EFEA; }
  .keepsake-home .checks svg { flex: none; margin-top: 4px; color: var(--gold); }
  @media (max-width: 900px) { .keepsake-home .book-grid { grid-template-columns: 1fr; gap: 2.2rem; } }

  .keepsake-home .how-top { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); align-items: end; gap: 2rem; margin-bottom: 3.2rem; }
  .keepsake-home .how-top h2 { font-size: clamp(2rem,3.6vw,2.8rem); text-wrap: balance; }
  .keepsake-home .how-top p { color: var(--ink-3); font-size: 1.08rem; }
  .keepsake-home .stops { position: relative; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.2rem; list-style: none; }
  .keepsake-home .stops::before { position: absolute; top: 43px; right: 8%; left: 8%; border-top: 3px dashed var(--sage-line); content: ""; }
  .keepsake-home .stop { position: relative; }
  .keepsake-home .stop-mark { position: relative; display: grid; place-items: center; width: 86px; height: 86px; margin-bottom: 1.1rem; transform: rotate(-8deg); border: 2.5px solid var(--forest); border-radius: 50%; background: var(--gold-tint); color: var(--forest); font: 700 .64rem/1.15 var(--sans); letter-spacing: .08em; text-align: center; text-transform: uppercase; }
  .keepsake-home .stop-mark::before { position: absolute; inset: 5px; border: 1.2px solid var(--gold); border-radius: 50%; content: ""; }
  .keepsake-home .stop-mark big { display: block; font: 600 1.7rem/1 var(--serif); letter-spacing: 0; }
  .keepsake-home .stop:nth-child(2) .stop-mark { transform: rotate(6deg); }
  .keepsake-home .stop:nth-child(3) .stop-mark { transform: rotate(-3deg); }
  .keepsake-home .stop-when { display: block; margin-bottom: .35rem; color: var(--pen); font: 600 1.3rem/1 var(--hand); }
  .keepsake-home .stop h3 { margin-bottom: .4rem; font-size: 1.45rem; }
  .keepsake-home .stop > p { margin-bottom: 1.2rem; color: var(--ink-3); font-size: .95rem; }
  .keepsake-home .art { border: 1px solid var(--line-3); border-radius: 12px; background: #fff; box-shadow: var(--sh-2); padding: 1rem; font-size: .9rem; }
  .keepsake-home .url { display: flex; align-items: center; gap: .45rem; overflow: hidden; border-radius: 999px; background: var(--sage-tint); padding: .45rem .8rem; color: var(--ink); font: 600 .85rem/1.2 var(--mono); text-overflow: ellipsis; white-space: nowrap; }
  .keepsake-home .url::before { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--sage); content: ""; }
  .keepsake-home .art h4 { margin: .8rem 0 .2rem; font-size: 1.15rem; }
  .keepsake-home .art .sub { margin-bottom: .6rem; color: var(--ink-4); font-size: .84rem; }
  .keepsake-home .fake-in { margin-bottom: .45rem; border: 1.5px solid var(--line-2); border-radius: 8px; padding: .45rem .7rem; color: var(--ink-5); font-size: .85rem; }
  .keepsake-home .fake-btn { border-radius: 8px; background: var(--forest); padding: .5rem; color: #fff; font-size: .85rem; font-weight: 700; text-align: center; }
  .keepsake-home .chips { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .7rem; }
  .keepsake-home .chips span { border: 1px solid var(--line-2); border-radius: 999px; background: var(--paper); padding: .15rem .55rem; color: var(--ink-3); font-size: .72rem; font-weight: 600; }
  .keepsake-home .chips span.on { border-color: var(--forest); background: var(--forest); color: #fff; }
  .keepsake-home .program { position: relative; border: 1px solid var(--line-2); background: var(--note); box-shadow: var(--sh-2); padding: 1.1rem; text-align: center; transform: rotate(-1deg); }
  .keepsake-home .program::after { position: absolute; inset: 6px; border: 1px solid var(--line); content: ""; pointer-events: none; }
  .keepsake-home .program small { display: block; color: var(--ink-4); font: 700 .64rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
  .keepsake-home .program h4 { margin: .55rem 0 .35rem; font-size: 1.1rem; }
  .keepsake-home .program .chips { justify-content: center; }
  .keepsake-home .compose { overflow: hidden; padding: 0; }
  .keepsake-home .compose-bar { display: flex; align-items: center; justify-content: space-between; background: var(--forest); padding: .5rem .9rem; color: #fff; font-size: .82rem; font-weight: 700; }
  .keepsake-home .compose-bar svg { fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; }
  .keepsake-home .compose-row { border-bottom: 1px solid var(--line-3); padding: .45rem .9rem; color: var(--ink-4); font-size: .84rem; }
  .keepsake-home .compose-row b { color: var(--ink); }
  .keepsake-home .pill { display: inline-block; border-radius: 999px; background: var(--sage-tint); padding: .02rem .55rem; color: var(--sage); font-weight: 700; }
  .keepsake-home .compose-body { padding: .65rem .9rem .5rem; color: var(--ink-3); font-size: .84rem; line-height: 1.55; }
  .keepsake-home .compose-attach { display: flex; align-items: center; gap: .4rem; margin: 0 .9rem .8rem; color: var(--sage); font-size: .76rem; }
  .keepsake-home .how-foot { margin-top: 2.8rem; color: var(--ink-3); text-align: center; }
  .keepsake-home .how-foot .hand { display: inline-block; transform: rotate(-1.5deg); font-size: 1.45rem; }
  @media (max-width: 900px) { .keepsake-home .how-top { grid-template-columns: 1fr; } .keepsake-home .stops { grid-template-columns: 1fr; gap: 2.6rem; } .keepsake-home .stops::before { top: 10px; right: auto; bottom: 10px; left: 42px; border-top: 0; border-left: 3px dashed var(--sage-line); } .keepsake-home .stop { padding-left: 112px; } .keepsake-home .stop-mark { position: absolute; top: 0; left: 0; } }
  @media (max-width: 520px) { .keepsake-home .stop { padding-left: 0; } .keepsake-home .stop-mark { position: relative; width: 74px; height: 74px; } .keepsake-home .stops::before { display: none; } }

  .keepsake-home .pricing-sec { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--cream); }
  .keepsake-home .audiences { max-width: 720px; margin: -1.6rem auto 2rem; color: var(--ink-3); text-align: center; }
  .keepsake-home .audiences b { color: var(--ink); }
  .keepsake-home .shared { max-width: 920px; margin: 0 auto; border: 1px dashed var(--line-2); border-radius: var(--r-md); background: var(--note); padding: 1rem 1.5rem 1.2rem; }
  .keepsake-home .shared .hand { font-size: 1.4rem; }
  .keepsake-home .shared ul { display: flex; flex-wrap: wrap; gap: .45rem 1.5rem; margin-top: .35rem; list-style: none; }
  .keepsake-home .shared li { color: var(--ink-2); font-size: .94rem; }
  .keepsake-home .shared li::before { margin-right: .4rem; color: var(--sage); content: "✓"; font-weight: 700; }
  .keepsake-home .shared li em { color: var(--gold-dark); font-style: normal; font-weight: 600; }
  .keepsake-home .plans { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 1.6rem; margin-top: 2rem; }
  .keepsake-home .plan { display: flex; flex-direction: column; border: 1px solid var(--line-3); border-radius: var(--r-lg); background: #fff; box-shadow: var(--sh-2); padding: 2rem 1.7rem; }
  .keepsake-home .plan h3 { min-height: 3.6rem; margin-bottom: .55rem; font-size: 1.5rem; line-height: 1.2; text-wrap: balance; }
  .keepsake-home .dur { display: inline-block; width: fit-content; margin-bottom: 1.1rem; border: 1px solid var(--sage-line); border-radius: 999px; background: var(--sage-tint); padding: .4rem .7rem; color: var(--forest); font: 700 .82rem/1 var(--sans); letter-spacing: .03em; }
  .keepsake-home .price { display: flex; align-items: baseline; gap: .45rem; margin-bottom: 1.2rem; border-bottom: 1px solid #EFEAE0; padding-bottom: 1.2rem; }
  .keepsake-home .price strong { color: var(--ink); font: 700 3rem/1 var(--serif); }
  .keepsake-home .price span { color: var(--ink-4); font-weight: 500; }
  .keepsake-home .plan ul { display: grid; flex-grow: 1; align-content: start; gap: .6rem; margin-bottom: 1.6rem; list-style: none; }
  .keepsake-home .plan li { display: flex; gap: .55rem; color: var(--ink-2); font-size: .93rem; }
  .keepsake-home .plan li svg { flex: none; margin-top: 3px; color: var(--sage); }
  .keepsake-home .plan .btn { width: 100%; }
  .keepsake-home .rule { max-width: 760px; margin: 1.6rem auto 0; color: var(--ink-3); font-size: .95rem; text-align: center; }
  .keepsake-home .guarantee { display: flex; align-items: center; gap: 1.4rem; max-width: 800px; margin: 2.4rem auto 0; border: 1px solid var(--gold-line); border-radius: var(--r-md); background: #fff; box-shadow: var(--sh-1); padding: 1.3rem 1.8rem; }
  .keepsake-home .postmark { position: relative; display: grid; place-items: center; flex: none; width: 74px; height: 74px; transform: rotate(-10deg); border: 2px solid var(--gold); border-radius: 50%; color: var(--gold-dark); font: 700 .58rem/1.1 var(--sans); letter-spacing: .1em; text-align: center; text-transform: uppercase; }
  .keepsake-home .postmark::before { position: absolute; inset: 4px; border: 1px dashed var(--gold); border-radius: 50%; content: ""; }
  .keepsake-home .postmark big { display: block; font: 600 1.5rem/1 var(--serif); letter-spacing: 0; }
  .keepsake-home .guarantee h3 { margin-bottom: .15rem; font: 700 1.05rem/1.3 var(--sans); letter-spacing: 0; }
  .keepsake-home .guarantee p { color: var(--ink-4); font-size: .92rem; }
  @media (max-width: 950px) { .keepsake-home .plans { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; } .keepsake-home .plan h3 { min-height: 0; } }
  @media (max-width: 560px) { .keepsake-home .guarantee { flex-direction: column; padding: 1.3rem; text-align: center; } .keepsake-home .shared { padding: 1rem 1.1rem; } }

  .keepsake-home .faq-top { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,360px); align-items: end; gap: 2.5rem; margin-bottom: 2.8rem; }
  .keepsake-home .faq-top h2 { margin-bottom: .7rem; font-size: clamp(2rem,3.4vw,2.6rem); text-wrap: balance; }
  .keepsake-home .faq-top p { color: var(--ink-3); }
  .keepsake-home .faq-jump { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.2rem; list-style: none; }
  .keepsake-home .faq-jump a { display: inline-flex; align-items: center; min-height: 36px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; padding: 0 .85rem; color: var(--ink-2); font-size: .88rem; font-weight: 600; text-decoration: none; }
  .keepsake-home .faq-jump a:hover { border-color: var(--sage); color: var(--sage); }
  .keepsake-home .help { transform: rotate(-.6deg); border: 1px solid var(--line-2); border-radius: var(--r-md); background: var(--note); box-shadow: 4px 5px 0 var(--cream-2); padding: 1.2rem 1.3rem; }
  .keepsake-home .help .hand { margin-bottom: .3rem; font-size: 1.5rem; }
  .keepsake-home .help p { margin-bottom: .8rem; color: var(--ink-3); font-size: .93rem; }
  .keepsake-home .help a.mail { color: var(--forest); font-weight: 700; word-break: break-all; }
  .keepsake-home .faq-topic { display: grid; grid-template-columns: minmax(0,200px) minmax(0,1fr); gap: 2rem; border-top: 1px solid var(--line-2); padding: 2rem 0; scroll-margin-top: 84px; }
  .keepsake-home .faq-topic h3 { color: var(--forest); font: 600 1.35rem/1.25 var(--serif); letter-spacing: -.01em; }
  .keepsake-home .qas { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.6rem 2.6rem; }
  .keepsake-home .qa dt { margin-bottom: .35rem; color: var(--ink); font-size: 1.02rem; font-weight: 700; line-height: 1.35; }
  .keepsake-home .qa dd { max-width: 62ch; color: var(--ink-3); font-size: .95rem; line-height: 1.6; }
  .keepsake-home .qa dd p + p { margin-top: .5rem; }
  @media (max-width: 980px) { .keepsake-home .faq-top { grid-template-columns: 1fr; align-items: start; } .keepsake-home .faq-topic { grid-template-columns: 1fr; gap: 1rem; } }
  @media (max-width: 700px) { .keepsake-home .qas { grid-template-columns: 1fr; gap: 1.3rem; } .keepsake-home .faq-topic { padding: 1.6rem 0; } }

  .keepsake-home .close { background: var(--forest-3); padding: 5rem 0; color: #fff; text-align: center; }
  .keepsake-home .close h2 { margin-bottom: 1rem; color: #fff; font-size: clamp(2.2rem,4vw,3.2rem); text-wrap: balance; }
  .keepsake-home .close p { max-width: 620px; margin: 0 auto 2rem; color: #D3E0D9; font-size: 1.12rem; }
  .keepsake-home .close .cta-row { justify-content: center; margin: 0; }
  .keepsake-home .footer { border-top: 1px solid var(--line); padding: 3rem 0 2.4rem; color: var(--ink-4); font-size: .9rem; }
  .keepsake-home .foot-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.4rem; margin-bottom: 1.8rem; }
  .keepsake-home .foot-links { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; list-style: none; }
  .keepsake-home .foot-links a { display: inline-flex; align-items: center; min-height: 40px; color: var(--ink-3); text-decoration: none; }
  .keepsake-home .foot-links a:hover { color: var(--ink); }
  .keepsake-home .legal { max-width: 880px; border-top: 1px solid var(--line-3); padding-top: 1.5rem; color: var(--ink-4); font-size: .84rem; }
  .keepsake-home .login-link { display: inline-flex; align-items: center; min-height: 44px; border-radius: var(--r-sm); padding: 0 .7rem; color: var(--ink-2); font-size: .94rem; font-weight: 600; text-decoration: none; }
  .keepsake-home .login-link:hover { background: var(--cream); color: var(--forest); }
  .keepsake-home .shown { margin-top: .15rem; color: var(--ink-5); font-size: .78rem; font-style: italic; }
  .keepsake-home .qr-link { display: block; width: fit-content; margin: .55rem auto .25rem; transform: rotate(1deg); border: 1px solid var(--line-2); border-radius: 4px; background: #fff; padding: 6px; }
  .keepsake-home .qr-link img { width: 132px; height: 132px; image-rendering: pixelated; }
  .keepsake-home .qr-caption { margin-bottom: .45rem; color: var(--ink); font: 700 .8rem/1.3 var(--mono); }
  .keepsake-home .her-page { margin-bottom: .2rem; color: var(--ink-4); font-size: .8rem; }
  .keepsake-home .her-page span { overflow-wrap: anywhere; color: var(--ink-2); font: 600 .8rem var(--mono); }
  @media (max-width: 1080px) { .keepsake-home .nav-actions .login-link { padding: 0 .5rem; } }
  @media (max-width: 560px) { .keepsake-home .nav-actions:has(.theme-toggle) .login-link { display: none; } }
  @media (max-width: 420px) { .keepsake-home .nav-actions .login-link { display: none; } }
  @media (max-width: 400px) { .keepsake-home .nav-actions:has(.theme-toggle) .btn-sm { display: none; } }
  @media (prefers-reduced-motion: reduce) {
    .keepsake-home { scroll-behavior: auto; }
    .keepsake-home *, .keepsake-home *::before, .keepsake-home *::after { animation-delay: 0s !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    .keepsake-home .hero h1 em path, .keepsake-home .mini-check path { stroke-dashoffset: 0; }
    .keepsake-home .route-letter, .keepsake-home .copies li, .keepsake-home .pad, .keepsake-home .sticky, .keepsake-home .taped:nth-child(n), .keepsake-home .letter:nth-child(n), .keepsake-home .stop-mark, .keepsake-home .stop:nth-child(n) .stop-mark, .keepsake-home .program, .keepsake-home .qr-link, .keepsake-home .help, .keepsake-home .to-book, .keepsake-home .route-note, .keepsake-home .path-stamp, .keepsake-home .postmark { transform: none !important; }
    .keepsake-home .btn:hover { transform: none; }
  }

  /* Black dark theme: OS dark unless html[data-theme="light"]; explicit html[data-theme="dark"] always. */
  @media (prefers-color-scheme: dark) {
    html:not([data-theme="light"]):has(.keepsake-home),
    html:not([data-theme="light"]):has(.keepsake-home) body { background: #000000; color-scheme: dark; }
    :where(html:not([data-theme="light"])) .keepsake-home { --paper: #000000; --cream: #0B0B0B; --cream-2: #262626; --note: #1A1A1A; --card: #161616; --forest: #1C1C1C; --forest-2: #262626; --forest-3: #0B0B0B; --sage: #86C2A3; --sage-fill: #2F6F57; --sage-dot: #4E9C7B; --sage-tint: #13201A; --sage-line: #2F5746; --gold: #D4AE5A; --gold-dark: #DDBB6C; --gold-tint: #151412; --gold-line: #5E4C24; --blue: #A3BDEB; --blue-tint: #17202E; --ink: #F5F3EF; --ink-2: #E7E4DF; --ink-3: #C9C5BE; --ink-4: #ABA7A0; --ink-5: #97938C; --line: #262626; --line-2: #363636; --line-3: #2B2B2B; --pen: #AFC6F0; --pen-red: #EC9A77; --sticky: #D2C173; --sh-1: 0 1px 0 rgba(255,255,255,.03), 0 6px 18px rgba(0,0,0,.55); --sh-2: 0 1px 0 rgba(255,255,255,.035), 0 12px 30px rgba(0,0,0,.6); --sh-3: 0 1px 0 rgba(255,255,255,.04), 0 20px 48px rgba(0,0,0,.7); background: #000000; color: var(--ink-2); color-scheme: dark; }
    :where(html:not([data-theme="light"])) .keepsake-home :focus-visible { outline-color: var(--blue); }
    :where(html:not([data-theme="light"])) .keepsake-home .skip { background: var(--ink); color: #000; }
    :where(html:not([data-theme="light"])) .keepsake-home .btn-forest { background: var(--ink); color: #000; box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 6px 18px rgba(0,0,0,.6); }
    :where(html:not([data-theme="light"])) .keepsake-home .btn-forest:hover { background: #FFFFFF; color: #000; }
    :where(html:not([data-theme="light"])) .keepsake-home .btn-gold { background: var(--gold); color: #111; box-shadow: 0 6px 18px rgba(0,0,0,.6); }
    :where(html:not([data-theme="light"])) .keepsake-home .btn-gold:hover { background: #E2BE6C; color: #111; }
    :where(html:not([data-theme="light"])) .keepsake-home .btn-paper { background: #161616; border-color: var(--line-2); color: var(--ink-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .btn-paper:hover { background: #222222; color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .btn-ghost-light { border-color: rgba(255,255,255,.4); color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .btn-ghost-light:hover { background: rgba(255,255,255,.08); }
    :where(html:not([data-theme="light"])) .keepsake-home .site-header { background: rgba(0,0,0,.9); border-bottom-color: var(--line); }
    :where(html:not([data-theme="light"])) .keepsake-home .brand-name span { color: var(--blue); }
    :where(html:not([data-theme="light"])) .keepsake-home .nav-links a { color: var(--ink-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .nav-links a:hover { color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .login-link { color: var(--ink-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .login-link:hover { background: #1A1A1A; color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .menu-btn { background: #161616; border-color: var(--line-2); color: var(--ink); }
    @media (max-width: 1080px) {
      :where(html:not([data-theme="light"])) .keepsake-home .mobile-nav:not([hidden]) { background: #000; border-top-color: var(--line); }
      :where(html:not([data-theme="light"])) .keepsake-home .mobile-nav a { color: var(--ink-2); border-bottom-color: var(--line-2); }
    }
    :where(html:not([data-theme="light"])) .keepsake-home .route-letter { background: var(--note); border-color: var(--line-2); box-shadow: 6px 8px 0 var(--cream-2), 0 18px 36px rgba(0,0,0,.6); }
    :where(html:not([data-theme="light"])) .keepsake-home .scribble { background: repeating-linear-gradient(to bottom, transparent 0 9px, #3A3A3A 9px 11px); }
    :where(html:not([data-theme="light"])) .keepsake-home .copies li { background: #161616; border-color: var(--line-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .route-reply { background: var(--sage-tint); border-color: var(--sage-line); }
    :where(html:not([data-theme="light"])) .keepsake-home .quote-band { background: #111111; box-shadow: inset 0 1px 0 var(--line), inset 0 -1px 0 var(--line); color: var(--ink-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .quote-band blockquote { color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .quote-band figcaption { color: var(--gold-dark); }
    :where(html:not([data-theme="light"])) .keepsake-home .col-hand { background-color: #141414; border-color: var(--line-2); background-image: linear-gradient(90deg, transparent 1.3rem, rgba(236,154,119,.35) 1.3rem, rgba(236,154,119,.35) calc(1.3rem + 1px), transparent calc(1.3rem + 1px)); box-shadow: 4px 6px 0 var(--cream-2), 0 10px 24px rgba(0,0,0,.6); }
    :where(html:not([data-theme="light"])) .keepsake-home .col-peace { background: #161616; border-color: var(--sage-dot); }
    :where(html:not([data-theme="light"])) .keepsake-home .path-stamp { background: #000; border-color: var(--sage); outline-color: var(--sage); color: var(--sage); }
    :where(html:not([data-theme="light"])) .keepsake-home .ok { background: var(--sage-dot); color: #fff; }
    :where(html:not([data-theme="light"])) .keepsake-home .pad { background-color: #1A1A1A; background-image: linear-gradient(90deg, transparent 52px, rgba(236,154,119,.45) 52px 54px, transparent 54px), linear-gradient(transparent 33px, rgba(175,198,240,.14) 34px); }
    :where(html:not([data-theme="light"])) .keepsake-home .pad::before { background-color: #2A2A2A; background-image: radial-gradient(circle at 50% 70%, #000 4px, transparent 5px); }
    :where(html:not([data-theme="light"])) .keepsake-home .pad s { color: var(--ink-4); }
    :where(html:not([data-theme="light"])) .keepsake-home .sticky { color: #151515; box-shadow: 0 14px 24px -12px rgba(0,0,0,.9); }
    @media (max-width: 520px) {
      :where(html:not([data-theme="light"])) .keepsake-home .pad { background-image: linear-gradient(90deg, transparent 44px, rgba(236,154,119,.45) 44px 46px, transparent 46px), linear-gradient(transparent 33px, rgba(175,198,240,.14) 34px); }
    }
    :where(html:not([data-theme="light"])) .keepsake-home .demo-sec { background: var(--cream); border-color: var(--line); }
    :where(html:not([data-theme="light"])) .keepsake-home .console { background: #121212; border-color: var(--line-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .console-bar { background: #1E1E1E; color: var(--ink-2); box-shadow: inset 0 -1px 0 var(--line-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .console-bar .badge { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .sender { background: #0F0F0F; border-color: var(--line-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .switch { background: #000; box-shadow: inset 0 0 0 1px var(--line-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .switch button { color: var(--ink-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .switch button[aria-pressed="true"] { background: #232323; border-color: var(--line-2); box-shadow: 0 2px 10px rgba(0,0,0,.6); color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .composer { background: #181818; border-color: var(--line-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .field { border-bottom-color: var(--line-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .send { background: var(--sage-fill); color: #fff; box-shadow: 0 6px 16px rgba(0,0,0,.6); }
    :where(html:not([data-theme="light"])) .keepsake-home .send:hover { background: #357C61; }
    :where(html:not([data-theme="light"])) .keepsake-home .count { background: #222222; color: var(--ink-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .banner { background: #161616; border-color: var(--line-2); color: var(--ink-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .banner.done { background: var(--sage-tint); border-color: var(--sage-line); color: var(--sage); }
    :where(html:not([data-theme="light"])) .keepsake-home .slip { background: #161616; border-top-color: var(--line-3); border-right-color: var(--line-3); border-bottom-color: var(--line-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .slip[data-tone="gold"] { --edge: var(--gold); background: #181714; }
    :where(html:not([data-theme="light"])) .keepsake-home .slip[data-tone="sage"] { --edge: var(--sage-dot); background: #141715; }
    :where(html:not([data-theme="light"])) .keepsake-home .slip[data-tone="blue"] { --edge: #8AA8D6; background: #14161A; }
    :where(html:not([data-theme="light"])) .keepsake-home .slip[data-tone="rose"] { --edge: #D39A80; background: #181514; }
    :where(html:not([data-theme="light"])) .keepsake-home .tick { border-color: #4A4A4A; }
    :where(html:not([data-theme="light"])) .keepsake-home .slip.there { border-top-color: var(--sage-line); border-right-color: var(--sage-line); border-bottom-color: var(--sage-line); }
    :where(html:not([data-theme="light"])) .keepsake-home .slip.there .tick,
    :where(html:not([data-theme="light"])) .keepsake-home .saved.there .tick { background: var(--sage-dot); border-color: var(--sage-dot); }
    :where(html:not([data-theme="light"])) .keepsake-home .slip-reply { border-top-color: var(--line-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .reply-btn { background: #1E1E1E; border-color: var(--line-2); color: var(--blue); }
    :where(html:not([data-theme="light"])) .keepsake-home .reply-btn:hover:not(:disabled) { background: var(--blue-tint); border-color: var(--blue); }
    :where(html:not([data-theme="light"])) .keepsake-home .reply-env { background: #1E1E1E; }
    :where(html:not([data-theme="light"])) .keepsake-home .saved { background: #141414; border-color: var(--sage-line); color: var(--ink-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .taped { background: #1A1A1A; }
    :where(html:not([data-theme="light"])) .keepsake-home .taped:nth-child(2) { background: #171917; }
    :where(html:not([data-theme="light"])) .keepsake-home .taped:nth-child(3) { background: #1B1A17; }
    :where(html:not([data-theme="light"])) .keepsake-home .taped::before { background: rgba(212,174,90,.38); box-shadow: 0 1px 2px rgba(0,0,0,.5); }
    :where(html:not([data-theme="light"])) .keepsake-home .letters-sec { background: var(--cream); border-top-color: var(--line); }
    :where(html:not([data-theme="light"])) .keepsake-home .letter { background: #161616; border-color: var(--line-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .book-panel { background: #000; box-shadow: inset 0 1px 0 var(--line); color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .book-img { background: #111; border-color: var(--line-2); box-shadow: 0 22px 50px rgba(0,0,0,.8); }
    :where(html:not([data-theme="light"])) .keepsake-home .book-copy h2 { color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .book-copy p { color: var(--ink-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .checks li { color: var(--ink-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .stop-mark { background: var(--gold-tint); border-color: var(--ink-3); color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .art { background: #161616; border-color: var(--line-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .url { background: #1F1F1F; color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .url::before { background: var(--sage-dot); }
    :where(html:not([data-theme="light"])) .keepsake-home .fake-in { border-color: var(--line-2); color: var(--ink-5); }
    :where(html:not([data-theme="light"])) .keepsake-home .fake-btn { background: var(--ink); color: #000; }
    :where(html:not([data-theme="light"])) .keepsake-home .chips span { background: #1A1A1A; border-color: var(--line-2); color: var(--ink-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .chips span.on { background: var(--ink); border-color: var(--ink); color: #000; }
    :where(html:not([data-theme="light"])) .keepsake-home .program { background: var(--note); border-color: var(--line-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .program::after { border-color: var(--line-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .qr-link { background: #FFFFFF; border-color: #FFFFFF; }
    :where(html:not([data-theme="light"])) .keepsake-home .compose-bar { background: #242424; color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .compose-row { border-bottom-color: var(--line-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .pricing-sec { background: var(--cream); border-color: var(--line); }
    :where(html:not([data-theme="light"])) .keepsake-home .shared { background: #121212; border-color: var(--line-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .plan { background: #141414; border-color: var(--line-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .dur { background: var(--sage-tint); border-color: var(--sage-line); color: var(--sage); }
    :where(html:not([data-theme="light"])) .keepsake-home .price { border-bottom-color: var(--line-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .guarantee { background: #141414; border-color: var(--gold-line); }
    :where(html:not([data-theme="light"])) .keepsake-home .faq-jump a { background: #141414; border-color: var(--line-2); color: var(--ink-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .faq-jump a:hover { border-color: var(--sage); color: var(--sage); }
    :where(html:not([data-theme="light"])) .keepsake-home .help { background: var(--note); border-color: var(--line-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .help a.mail { color: var(--sage); }
    :where(html:not([data-theme="light"])) .keepsake-home .faq-topic { border-top-color: var(--line-2); }
    :where(html:not([data-theme="light"])) .keepsake-home .faq-topic h3 { color: var(--sage); }
    :where(html:not([data-theme="light"])) .keepsake-home .close { background: #0B0B0B; box-shadow: inset 0 1px 0 var(--line); color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .close h2 { color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .close p { color: var(--ink-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .footer { background: #000; border-top-color: var(--line); color: var(--ink-4); }
    :where(html:not([data-theme="light"])) .keepsake-home .foot-links a { color: var(--ink-3); }
    :where(html:not([data-theme="light"])) .keepsake-home .foot-links a:hover { color: var(--ink); }
    :where(html:not([data-theme="light"])) .keepsake-home .legal { border-top-color: var(--line-3); color: var(--ink-4); }
  }

  html[data-theme="dark"]:has(.keepsake-home),
  html[data-theme="dark"]:has(.keepsake-home) body { background: #000000; color-scheme: dark; }
  :where(html[data-theme="dark"]) .keepsake-home { --paper: #000000; --cream: #0B0B0B; --cream-2: #262626; --note: #1A1A1A; --card: #161616; --forest: #1C1C1C; --forest-2: #262626; --forest-3: #0B0B0B; --sage: #86C2A3; --sage-fill: #2F6F57; --sage-dot: #4E9C7B; --sage-tint: #13201A; --sage-line: #2F5746; --gold: #D4AE5A; --gold-dark: #DDBB6C; --gold-tint: #151412; --gold-line: #5E4C24; --blue: #A3BDEB; --blue-tint: #17202E; --ink: #F5F3EF; --ink-2: #E7E4DF; --ink-3: #C9C5BE; --ink-4: #ABA7A0; --ink-5: #97938C; --line: #262626; --line-2: #363636; --line-3: #2B2B2B; --pen: #AFC6F0; --pen-red: #EC9A77; --sticky: #D2C173; --sh-1: 0 1px 0 rgba(255,255,255,.03), 0 6px 18px rgba(0,0,0,.55); --sh-2: 0 1px 0 rgba(255,255,255,.035), 0 12px 30px rgba(0,0,0,.6); --sh-3: 0 1px 0 rgba(255,255,255,.04), 0 20px 48px rgba(0,0,0,.7); background: #000000; color: var(--ink-2); color-scheme: dark; }
  :where(html[data-theme="dark"]) .keepsake-home :focus-visible { outline-color: var(--blue); }
  :where(html[data-theme="dark"]) .keepsake-home .skip { background: var(--ink); color: #000; }
  :where(html[data-theme="dark"]) .keepsake-home .btn-forest { background: var(--ink); color: #000; box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 6px 18px rgba(0,0,0,.6); }
  :where(html[data-theme="dark"]) .keepsake-home .btn-forest:hover { background: #FFFFFF; color: #000; }
  :where(html[data-theme="dark"]) .keepsake-home .btn-gold { background: var(--gold); color: #111; box-shadow: 0 6px 18px rgba(0,0,0,.6); }
  :where(html[data-theme="dark"]) .keepsake-home .btn-gold:hover { background: #E2BE6C; color: #111; }
  :where(html[data-theme="dark"]) .keepsake-home .btn-paper { background: #161616; border-color: var(--line-2); color: var(--ink-2); }
  :where(html[data-theme="dark"]) .keepsake-home .btn-paper:hover { background: #222222; color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .btn-ghost-light { border-color: rgba(255,255,255,.4); color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .btn-ghost-light:hover { background: rgba(255,255,255,.08); }
  :where(html[data-theme="dark"]) .keepsake-home .site-header { background: rgba(0,0,0,.9); border-bottom-color: var(--line); }
  :where(html[data-theme="dark"]) .keepsake-home .brand-name span { color: var(--blue); }
  :where(html[data-theme="dark"]) .keepsake-home .nav-links a { color: var(--ink-3); }
  :where(html[data-theme="dark"]) .keepsake-home .nav-links a:hover { color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .login-link { color: var(--ink-2); }
  :where(html[data-theme="dark"]) .keepsake-home .login-link:hover { background: #1A1A1A; color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .menu-btn { background: #161616; border-color: var(--line-2); color: var(--ink); }
  @media (max-width: 1080px) {
    :where(html[data-theme="dark"]) .keepsake-home .mobile-nav:not([hidden]) { background: #000; border-top-color: var(--line); }
    :where(html[data-theme="dark"]) .keepsake-home .mobile-nav a { color: var(--ink-2); border-bottom-color: var(--line-2); }
  }
  :where(html[data-theme="dark"]) .keepsake-home .route-letter { background: var(--note); border-color: var(--line-2); box-shadow: 6px 8px 0 var(--cream-2), 0 18px 36px rgba(0,0,0,.6); }
  :where(html[data-theme="dark"]) .keepsake-home .scribble { background: repeating-linear-gradient(to bottom, transparent 0 9px, #3A3A3A 9px 11px); }
  :where(html[data-theme="dark"]) .keepsake-home .copies li { background: #161616; border-color: var(--line-2); }
  :where(html[data-theme="dark"]) .keepsake-home .route-reply { background: var(--sage-tint); border-color: var(--sage-line); }
  :where(html[data-theme="dark"]) .keepsake-home .quote-band { background: #111111; box-shadow: inset 0 1px 0 var(--line), inset 0 -1px 0 var(--line); color: var(--ink-2); }
  :where(html[data-theme="dark"]) .keepsake-home .quote-band blockquote { color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .quote-band figcaption { color: var(--gold-dark); }
  :where(html[data-theme="dark"]) .keepsake-home .col-hand { background-color: #141414; border-color: var(--line-2); background-image: linear-gradient(90deg, transparent 1.3rem, rgba(236,154,119,.35) 1.3rem, rgba(236,154,119,.35) calc(1.3rem + 1px), transparent calc(1.3rem + 1px)); box-shadow: 4px 6px 0 var(--cream-2), 0 10px 24px rgba(0,0,0,.6); }
  :where(html[data-theme="dark"]) .keepsake-home .col-peace { background: #161616; border-color: var(--sage-dot); }
  :where(html[data-theme="dark"]) .keepsake-home .path-stamp { background: #000; border-color: var(--sage); outline-color: var(--sage); color: var(--sage); }
  :where(html[data-theme="dark"]) .keepsake-home .ok { background: var(--sage-dot); color: #fff; }
  :where(html[data-theme="dark"]) .keepsake-home .pad { background-color: #1A1A1A; background-image: linear-gradient(90deg, transparent 52px, rgba(236,154,119,.45) 52px 54px, transparent 54px), linear-gradient(transparent 33px, rgba(175,198,240,.14) 34px); }
  :where(html[data-theme="dark"]) .keepsake-home .pad::before { background-color: #2A2A2A; background-image: radial-gradient(circle at 50% 70%, #000 4px, transparent 5px); }
  :where(html[data-theme="dark"]) .keepsake-home .pad s { color: var(--ink-4); }
  :where(html[data-theme="dark"]) .keepsake-home .sticky { color: #151515; box-shadow: 0 14px 24px -12px rgba(0,0,0,.9); }
  @media (max-width: 520px) {
    :where(html[data-theme="dark"]) .keepsake-home .pad { background-image: linear-gradient(90deg, transparent 44px, rgba(236,154,119,.45) 44px 46px, transparent 46px), linear-gradient(transparent 33px, rgba(175,198,240,.14) 34px); }
  }
  :where(html[data-theme="dark"]) .keepsake-home .demo-sec { background: var(--cream); border-color: var(--line); }
  :where(html[data-theme="dark"]) .keepsake-home .console { background: #121212; border-color: var(--line-2); }
  :where(html[data-theme="dark"]) .keepsake-home .console-bar { background: #1E1E1E; color: var(--ink-2); box-shadow: inset 0 -1px 0 var(--line-2); }
  :where(html[data-theme="dark"]) .keepsake-home .console-bar .badge { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .sender { background: #0F0F0F; border-color: var(--line-3); }
  :where(html[data-theme="dark"]) .keepsake-home .switch { background: #000; box-shadow: inset 0 0 0 1px var(--line-3); }
  :where(html[data-theme="dark"]) .keepsake-home .switch button { color: var(--ink-3); }
  :where(html[data-theme="dark"]) .keepsake-home .switch button[aria-pressed="true"] { background: #232323; border-color: var(--line-2); box-shadow: 0 2px 10px rgba(0,0,0,.6); color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .composer { background: #181818; border-color: var(--line-2); }
  :where(html[data-theme="dark"]) .keepsake-home .field { border-bottom-color: var(--line-3); }
  :where(html[data-theme="dark"]) .keepsake-home .send { background: var(--sage-fill); color: #fff; box-shadow: 0 6px 16px rgba(0,0,0,.6); }
  :where(html[data-theme="dark"]) .keepsake-home .send:hover { background: #357C61; }
  :where(html[data-theme="dark"]) .keepsake-home .count { background: #222222; color: var(--ink-3); }
  :where(html[data-theme="dark"]) .keepsake-home .banner { background: #161616; border-color: var(--line-2); color: var(--ink-3); }
  :where(html[data-theme="dark"]) .keepsake-home .banner.done { background: var(--sage-tint); border-color: var(--sage-line); color: var(--sage); }
  :where(html[data-theme="dark"]) .keepsake-home .slip { background: #161616; border-top-color: var(--line-3); border-right-color: var(--line-3); border-bottom-color: var(--line-3); }
  :where(html[data-theme="dark"]) .keepsake-home .slip[data-tone="gold"] { --edge: var(--gold); background: #181714; }
  :where(html[data-theme="dark"]) .keepsake-home .slip[data-tone="sage"] { --edge: var(--sage-dot); background: #141715; }
  :where(html[data-theme="dark"]) .keepsake-home .slip[data-tone="blue"] { --edge: #8AA8D6; background: #14161A; }
  :where(html[data-theme="dark"]) .keepsake-home .slip[data-tone="rose"] { --edge: #D39A80; background: #181514; }
  :where(html[data-theme="dark"]) .keepsake-home .tick { border-color: #4A4A4A; }
  :where(html[data-theme="dark"]) .keepsake-home .slip.there { border-top-color: var(--sage-line); border-right-color: var(--sage-line); border-bottom-color: var(--sage-line); }
  :where(html[data-theme="dark"]) .keepsake-home .slip.there .tick,
  :where(html[data-theme="dark"]) .keepsake-home .saved.there .tick { background: var(--sage-dot); border-color: var(--sage-dot); }
  :where(html[data-theme="dark"]) .keepsake-home .slip-reply { border-top-color: var(--line-2); }
  :where(html[data-theme="dark"]) .keepsake-home .reply-btn { background: #1E1E1E; border-color: var(--line-2); color: var(--blue); }
  :where(html[data-theme="dark"]) .keepsake-home .reply-btn:hover:not(:disabled) { background: var(--blue-tint); border-color: var(--blue); }
  :where(html[data-theme="dark"]) .keepsake-home .reply-env { background: #1E1E1E; }
  :where(html[data-theme="dark"]) .keepsake-home .saved { background: #141414; border-color: var(--sage-line); color: var(--ink-3); }
  :where(html[data-theme="dark"]) .keepsake-home .taped { background: #1A1A1A; }
  :where(html[data-theme="dark"]) .keepsake-home .taped:nth-child(2) { background: #171917; }
  :where(html[data-theme="dark"]) .keepsake-home .taped:nth-child(3) { background: #1B1A17; }
  :where(html[data-theme="dark"]) .keepsake-home .taped::before { background: rgba(212,174,90,.38); box-shadow: 0 1px 2px rgba(0,0,0,.5); }
  :where(html[data-theme="dark"]) .keepsake-home .letters-sec { background: var(--cream); border-top-color: var(--line); }
  :where(html[data-theme="dark"]) .keepsake-home .letter { background: #161616; border-color: var(--line-2); }
  :where(html[data-theme="dark"]) .keepsake-home .book-panel { background: #000; box-shadow: inset 0 1px 0 var(--line); color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .book-img { background: #111; border-color: var(--line-2); box-shadow: 0 22px 50px rgba(0,0,0,.8); }
  :where(html[data-theme="dark"]) .keepsake-home .book-copy h2 { color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .book-copy p { color: var(--ink-3); }
  :where(html[data-theme="dark"]) .keepsake-home .checks li { color: var(--ink-2); }
  :where(html[data-theme="dark"]) .keepsake-home .stop-mark { background: var(--gold-tint); border-color: var(--ink-3); color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .art { background: #161616; border-color: var(--line-2); }
  :where(html[data-theme="dark"]) .keepsake-home .url { background: #1F1F1F; color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .url::before { background: var(--sage-dot); }
  :where(html[data-theme="dark"]) .keepsake-home .fake-in { border-color: var(--line-2); color: var(--ink-5); }
  :where(html[data-theme="dark"]) .keepsake-home .fake-btn { background: var(--ink); color: #000; }
  :where(html[data-theme="dark"]) .keepsake-home .chips span { background: #1A1A1A; border-color: var(--line-2); color: var(--ink-3); }
  :where(html[data-theme="dark"]) .keepsake-home .chips span.on { background: var(--ink); border-color: var(--ink); color: #000; }
  :where(html[data-theme="dark"]) .keepsake-home .program { background: var(--note); border-color: var(--line-2); }
  :where(html[data-theme="dark"]) .keepsake-home .program::after { border-color: var(--line-3); }
  :where(html[data-theme="dark"]) .keepsake-home .qr-link { background: #FFFFFF; border-color: #FFFFFF; }
  :where(html[data-theme="dark"]) .keepsake-home .compose-bar { background: #242424; color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .compose-row { border-bottom-color: var(--line-3); }
  :where(html[data-theme="dark"]) .keepsake-home .pricing-sec { background: var(--cream); border-color: var(--line); }
  :where(html[data-theme="dark"]) .keepsake-home .shared { background: #121212; border-color: var(--line-2); }
  :where(html[data-theme="dark"]) .keepsake-home .plan { background: #141414; border-color: var(--line-2); }
  :where(html[data-theme="dark"]) .keepsake-home .dur { background: var(--sage-tint); border-color: var(--sage-line); color: var(--sage); }
  :where(html[data-theme="dark"]) .keepsake-home .price { border-bottom-color: var(--line-3); }
  :where(html[data-theme="dark"]) .keepsake-home .guarantee { background: #141414; border-color: var(--gold-line); }
  :where(html[data-theme="dark"]) .keepsake-home .faq-jump a { background: #141414; border-color: var(--line-2); color: var(--ink-2); }
  :where(html[data-theme="dark"]) .keepsake-home .faq-jump a:hover { border-color: var(--sage); color: var(--sage); }
  :where(html[data-theme="dark"]) .keepsake-home .help { background: var(--note); border-color: var(--line-2); }
  :where(html[data-theme="dark"]) .keepsake-home .help a.mail { color: var(--sage); }
  :where(html[data-theme="dark"]) .keepsake-home .faq-topic { border-top-color: var(--line-2); }
  :where(html[data-theme="dark"]) .keepsake-home .faq-topic h3 { color: var(--sage); }
  :where(html[data-theme="dark"]) .keepsake-home .close { background: #0B0B0B; box-shadow: inset 0 1px 0 var(--line); color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .close h2 { color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .close p { color: var(--ink-3); }
  :where(html[data-theme="dark"]) .keepsake-home .footer { background: #000; border-top-color: var(--line); color: var(--ink-4); }
  :where(html[data-theme="dark"]) .keepsake-home .foot-links a { color: var(--ink-3); }
  :where(html[data-theme="dark"]) .keepsake-home .foot-links a:hover { color: var(--ink); }
  :where(html[data-theme="dark"]) .keepsake-home .legal { border-top-color: var(--line-3); color: var(--ink-4); }
