:root {
  color-scheme: light dark;
  --paper: #f5f5f2;
  --paper-alt: #ecece8;
  --ink: #11110f;
  --muted: #6f6f69;
  --line: rgba(17, 17, 15, .15);
  --dark: #161715;
  --dark-soft: #232421;
  --dark-muted: #b5b5ae;
  --white: #f5f5f1;
  --serif: Iowan Old Style, Baskerville, "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 17px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
.site-header { position: fixed; z-index: 20; top: 18px; left: 50%; transform: translateX(-50%); width: min(1100px, calc(100% - 36px)); display: flex; align-items: center; justify-content: space-between; padding: 10px 11px 10px 16px; border: 1px solid rgba(255,255,255,.45); border-radius: 999px; background: rgba(245,245,242,.7); box-shadow: 0 10px 30px rgba(17,17,15,.06), inset 0 1px rgba(255,255,255,.65); backdrop-filter: blur(18px) saturate(125%); transition: background .3s ease, box-shadow .3s ease; }
.site-header.is-scrolled { background: rgba(245,245,242,.9); box-shadow: 0 12px 36px rgba(17,17,15,.11), inset 0 1px rgba(255,255,255,.7); }
.wordmark, .footer-brand { display: inline-flex; align-items: center; gap: 9px; font-weight: 650; letter-spacing: -.02em; }
.brand-image { display: block; width: 27px; height: 27px; border-radius: 8px; }
.site-header nav { display: flex; align-items: center; gap: 25px; font-size: 14px; color: #464640; }
.site-header nav a:not(.nav-cta) { transition: color .2s ease; }
.site-header nav a:not(.nav-cta):hover, .text-link:hover { color: var(--ink); }
.nav-cta { padding: 9px 14px; border-radius: 999px; background: var(--ink); color: var(--paper); }
.nav-cta span, .button span { display: inline-block; margin-left: 10px; transition: transform .25s ease; }
.nav-cta:hover span, .button:hover span { transform: translate(2px, -2px); }
.menu-toggle { display: none; border: 0; background: none; cursor: pointer; }
.menu-toggle span { margin-left: 7px; font-size: 20px; line-height: 0; }

.hero { min-height: 840px; width: min(1200px, calc(100% - 64px)); margin: 0 auto; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 3vw; padding: 170px 0 115px; }
.hero-copy { position: relative; z-index: 2; max-width: 580px; }
.kicker { margin: 0 0 23px; color: var(--muted); font-size: 12px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.kicker-mark { display: inline-block; width: 20px; height: 20px; margin: 0 7px 0 0; border-radius: 6px; vertical-align: -5px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { letter-spacing: -.055em; }
h1 { max-width: 670px; margin-bottom: 29px; font-size: clamp(48px, 5.25vw, 78px); line-height: .98; font-weight: 650; }
h2 { margin-bottom: 24px; font-size: clamp(40px, 4.4vw, 66px); line-height: 1; font-weight: 620; }
h3 { margin-bottom: 9px; font-size: 20px; letter-spacing: -.03em; }
.hero-lede { max-width: 520px; margin-bottom: 32px; color: #52524c; font-size: 19px; line-height: 1.48; }
.hero-actions { display: flex; align-items: center; gap: 24px; }
.button { display: inline-flex; align-items: center; padding: 14px 18px; border: 1px solid transparent; border-radius: 999px; font-size: 15px; font-weight: 650; transition: transform .25s ease, background .25s ease, color .25s ease; }
.button:hover { transform: translateY(-2px); }
.button-dark { background: var(--ink); color: var(--paper); }
.button-light { background: var(--paper); color: var(--ink); }
.text-link { color: #4b4b45; font-size: 15px; font-weight: 600; }
.text-link span { margin-left: 9px; }
.hero-note { margin: 30px 0 0; color: #8b8b84; font-size: 12px; }
.hero-visual { position: relative; min-height: 600px; display: grid; place-items: center; }
.phone-stage { position: relative; width: min(100%, 490px); }
.phone-shadow { position: absolute; bottom: 0; left: 14%; width: 72%; height: 10%; background: rgba(20,20,18,.2); border-radius: 50%; filter: blur(22px); }
.phone { position: relative; z-index: 1; width: min(310px, 64vw); margin: 0 auto; padding: 9px; border: 1px solid #3c3c38; border-radius: 43px; background: #252622; box-shadow: 0 36px 60px rgba(17,17,15,.23), 0 5px 11px rgba(17,17,15,.18); transform: rotate(4deg); }
.phone-screen { position: relative; min-height: 590px; overflow: hidden; padding: 19px 15px 14px; border-radius: 35px; background: #f9f9f6; color: #181815; }
.phone-island { position: absolute; z-index: 2; top: 19px; left: 50%; width: 82px; height: 22px; border-radius: 20px; background: #121311; transform: translateX(-50%); }
.phone-topline, .phone-heading, .phone-section-title, .phone-row, .phone-tabbar { display: flex; align-items: center; justify-content: space-between; }
.phone-topline { font-size: 9px; font-weight: 650; }
.phone-heading { margin-top: 29px; font: 650 20px/1 var(--serif); }
.phone-avatar { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: #e5e5df; font: 650 11px/1 var(--sans); }
.phone-greeting { margin-top: 27px; color: #888881; font-size: 10px; }
.chapter-card { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; padding: 16px 14px; border-radius: 16px; background: #20211e; color: #f9f9f6; box-shadow: 0 6px 12px rgba(17,17,15,.14); }
.chapter-card .eyebrow { color: #aaa9a0; font-size: 7px; font-weight: 700; letter-spacing: .1em; }
.chapter-card strong { margin-top: 5px; font: 650 16px/1.1 var(--serif); }
.chapter-card span, .chapter-card small { color: #c7c7c0; font-size: 9px; }
.phone-section-title { margin: 21px 2px 11px; color: #8a8a82; font-size: 9px; font-weight: 650; }
.phone-section-title span:last-child { color: #33332f; font-weight: 500; }
.phone-row { justify-content: flex-start; gap: 9px; margin: 8px 0; padding-bottom: 10px; border-bottom: 1px solid #e9e9e4; }
.phone-row > span:last-child { display: flex; flex-direction: column; gap: 2px; }
.phone-row b { font-size: 10px; }
.phone-row small { color: #90908a; font-size: 8px; }
.phone-dot { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 9px; font-size: 12px; }
.phone-dot.amber { background: #fcf2dd; color: #d38b18; }.phone-dot.blue { background: #e8f0ff; color: #2f7cf6; }.phone-dot.green { background: #e5f5ed; color: #2fa66f; }
.phone-tabbar { position: absolute; right: 13px; bottom: 12px; left: 13px; padding: 12px 6px 2px; border-top: 1px solid #e5e5df; color: #aaa9a2; font-size: 13px; text-align: center; }
.phone-tabbar span { display: flex; flex-direction: column; gap: 2px; width: 25%; }.phone-tabbar .active { color: #191a17; }.phone-tabbar small { font-size: 7px; }
.fragment-cloud { position: absolute; z-index: 2; inset: 0; pointer-events: none; }
.history-fragment { position: absolute; display: block; padding: 8px 10px; border: 1px solid rgba(17,17,15,.16); border-radius: 9px; background: rgba(255,255,252,.75); box-shadow: 0 8px 20px rgba(17,17,15,.08); color: #4b4b45; font-size: 11px; white-space: nowrap; backdrop-filter: blur(9px); animation: settle 1.3s cubic-bezier(.2,.8,.2,1) both; }
.f1 { top: 8%; left: 0; transform: rotate(-6deg); animation-delay: .05s; }.f2 { top: 22%; right: 1%; transform: rotate(6deg); animation-delay: .16s; }.f3 { top: 48%; left: -2%; transform: rotate(-4deg); animation-delay: .28s; }.f4 { top: 68%; right: -1%; transform: rotate(5deg); animation-delay: .38s; }.f5 { bottom: 7%; left: 5%; transform: rotate(4deg); animation-delay: .5s; }.f6 { top: 35%; right: -6%; transform: rotate(-7deg); animation-delay: .62s; }
.route-line { position: absolute; display: block; height: 1px; background: #a6a69e; transform-origin: left; opacity: .7; }.route-a { top: 39%; left: 13%; width: 100px; transform: rotate(28deg); }.route-b { right: 13%; bottom: 27%; width: 75px; transform: rotate(-28deg); }
@keyframes settle { from { opacity: 0; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }

.section { width: min(1100px, calc(100% - 64px)); margin: 0 auto; padding: 150px 0; }.section-intro { max-width: 630px; }.section-intro > p:last-child { color: var(--muted); font-size: 19px; max-width: 470px; }.problem-section { padding-top: 120px; }.problem-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; }.problem-copy { padding-top: 78px; max-width: 460px; color: var(--muted); font-size: 19px; }.problem-copy .large-pull { margin-top: 45px; color: var(--ink); font: 34px/1.07 var(--serif); letter-spacing: -.035em; }.memory-strip { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 100px; padding-top: 20px; border-top: 1px solid var(--line); color: #777770; font-size: 12px; }.memory-strip span { padding-right: 26px; }.memory-strip span:not(:last-child) { border-right: 1px solid var(--line); }
.build-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10vw; align-items: start; border-top: 1px solid var(--line); }.build-copy { max-width: 480px; }.build-copy > p:last-child { color: var(--muted); font-size: 19px; }.timeline-build { position: relative; padding: 20px 0 0 32px; }.timeline-line { position: absolute; top: 28px; bottom: 18px; left: 7px; width: 1px; background: var(--line); }.timeline-point { position: relative; display: grid; grid-template-columns: 65px 1fr; gap: 2px 13px; min-height: 100px; padding-bottom: 25px; }.timeline-point::before { position: absolute; top: 4px; left: -29px; width: 9px; height: 9px; border: 2px solid var(--paper); border-radius: 50%; background: var(--ink); box-shadow: 0 0 0 1px var(--ink); content: ""; }.timeline-point span { color: var(--muted); font-size: 13px; }.timeline-point b { font: 21px/1.1 var(--serif); }.timeline-point small { grid-column: 2; color: var(--muted); font-size: 14px; }
.records-section { border-top: 1px solid var(--line); }.records-section .section-intro { margin-bottom: 58px; }.records-list { border-top: 1px solid var(--line); }.record-item { display: grid; grid-template-columns: 42px 45px 1.1fr 1.8fr 20px; gap: 18px; align-items: center; min-height: 78px; border-bottom: 1px solid var(--line); }.record-index { color: #999992; font-size: 12px; }.record-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent); font-size: 18px; }.record-name { font-weight: 650; letter-spacing: -.02em; }.record-detail { color: var(--muted); font-size: 14px; }.record-arrow { color: #8e8e87; text-align: right; }.record-item:hover .record-arrow { color: var(--ink); transform: translate(2px, -2px); }
.recovery-section { border-top: 1px solid var(--line); }.recovery-section .section-intro { margin-bottom: 58px; }.recovery-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.recovery-card { min-height: 450px; padding: 25px; border: 1px solid var(--line); background: rgba(255,255,252,.36); }.card-number { margin-bottom: 64px; color: #999992; font-size: 12px; }.recovery-card p { min-height: 51px; color: var(--muted); font-size: 15px; }.csv-animation, .file-animation, .flight-animation { position: relative; min-height: 180px; margin-top: 30px; padding-top: 12px; border-top: 1px solid var(--line); color: #65655f; font-size: 10px; }.csv-head, .csv-row, .mapped-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 6px 0; }.csv-head { color: #96968e; font-weight: 700; }.csv-row { border-top: 1px solid #deded8; }.mapping-arrow { margin: 4px auto; color: #979790; text-align: center; }.mapped-row { border: 1px solid var(--line); background: rgba(255,255,252,.65); }.csv-animation b { display: block; margin-top: 17px; color: var(--ink); font-size: 12px; }.file-animation { display: flex; flex-direction: column; align-items: center; padding-top: 25px; }.file-paper { position: absolute; top: 20px; left: 30%; display: grid; place-items: center; width: 51px; height: 63px; border: 1px solid var(--line); background: var(--paper); transform: rotate(-8deg); }.file-paper-two { top: 30px; left: 43%; background: #e7e7e1; transform: rotate(7deg); }.file-tray { z-index: 1; display: flex; justify-content: space-between; width: 86%; margin-top: 74px; padding: 13px; border: 1px solid var(--line); background: rgba(255,255,252,.75); }.file-tray i { font-style: normal; }.file-animation small { margin-top: 17px; color: #888880; }.flight-animation { display: flex; flex-direction: column; gap: 7px; padding-top: 21px; }.flight-animation span { color: #8a8a83; }.flight-animation strong { padding-top: 20px; color: var(--ink); font: 22px/1.1 var(--serif); }.flight-animation small { color: #777770; }.section-footnote { margin-top: 30px; color: var(--muted); font-size: 13px; }
.check-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10vw; align-items: center; border-top: 1px solid var(--line); }.check-copy { max-width: 480px; }.check-copy > p:not(.kicker) { color: var(--muted); font-size: 18px; }.disclaimer { font-size: 13px !important; }.check-demo { padding: 27px; border: 1px solid var(--line); background: rgba(255,255,252,.45); }.check-header { display: flex; justify-content: space-between; padding-bottom: 21px; border-bottom: 1px solid var(--line); font-weight: 650; }.check-status { color: #a67518; font-size: 12px; font-weight: 600; }.check-track { position: relative; min-height: 190px; padding: 28px 0 20px; }.period { position: relative; display: flex; flex-direction: column; gap: 4px; width: 72%; padding: 12px 15px; border: 1px solid var(--line); background: #f9f9f5; }.period b { font: 18px/1.1 var(--serif); }.period small { color: var(--muted); font-size: 12px; }.period-two { margin: -1px 0 0 23%; background: #eeeeea; }.overlap-note { color: #8e6a24; font-size: 13px; }.small-button { margin-top: 16px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; background: transparent; cursor: pointer; font-size: 12px; }.small-button:hover { background: var(--ink); color: var(--paper); }.is-corrected .period-two { margin-top: 28px; }.is-corrected .check-status { color: #548064; }.is-corrected .check-status::after { content: " · reviewed"; }.is-corrected .period-two { background: #edf3ec; }
.privacy-section { display: grid; grid-template-columns: 1fr 1.15fr; gap: 10vw; border-top: 1px solid var(--line); }.privacy-intro { max-width: 500px; }.privacy-list { border-top: 1px solid var(--line); }.privacy-list > div { display: grid; grid-template-columns: .8fr 1.2fr; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--line); }.privacy-list span { font-weight: 650; }.privacy-list p { margin: 0; color: var(--muted); font-size: 15px; }
.export-section { display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; align-items: center; border-top: 1px solid var(--line); }.export-visual { display: grid; place-items: center; }.document-page { position: relative; display: flex; flex-direction: column; width: min(330px, 100%); min-height: 430px; padding: 38px 32px; border: 1px solid #d3d3cc; background: #fbfbf7; box-shadow: 12px 16px 0 rgba(17,17,15,.04), 0 17px 30px rgba(17,17,15,.08); transform: rotate(-4deg); }.document-brand { margin-bottom: 38px; font-size: 10px; font-weight: 700; letter-spacing: .15em; }.document-page h3 { margin-bottom: 3px; font: 29px/1 var(--serif); }.document-page > small { color: #898982; font-size: 10px; }.document-rule { height: 1px; margin: 25px 0 18px; background: var(--line); }.document-page b { margin-top: 13px; font-size: 11px; }.document-page span:not(.document-brand) { color: #777770; font-size: 10px; }.document-stamp { align-self: flex-end; margin-top: 32px; padding: 8px; border: 1px solid #b9b9b0; color: #87877f; font-size: 8px; line-height: 1.2; text-align: center; transform: rotate(-7deg); }.export-copy { max-width: 500px; }.export-copy > p:not(.kicker) { color: var(--muted); font-size: 18px; }.price-section { display: grid; grid-template-columns: 1.2fr .8fr; gap: 10vw; align-items: center; border-top: 1px solid var(--line); }.price-copy { max-width: 520px; }.price-copy > p:not(.kicker) { color: var(--muted); font-size: 20px; }.price-card { padding: 34px; border: 1px solid var(--line); background: var(--ink); color: var(--paper); }.price { font-size: 65px; line-height: 1; letter-spacing: -.07em; }.price-label { margin-top: 7px; font: 24px var(--serif); }.price-rule { height: 1px; margin: 27px 0 20px; background: rgba(245,245,242,.3); }.price-card p { margin-bottom: 5px; color: #c4c4bd; font-size: 14px; }.price-card p::before { margin-right: 8px; content: "✓"; color: #d8d8d0; }
.faq-section { border-top: 1px solid var(--line); }.faq-section .section-intro { margin-bottom: 52px; }.faq-list { max-width: 760px; border-top: 1px solid var(--line); }.faq-list details { border-bottom: 1px solid var(--line); }.faq-list summary { display: flex; align-items: center; justify-content: space-between; padding: 19px 0; cursor: pointer; list-style: none; font-size: 18px; font-weight: 600; }.faq-list summary::-webkit-details-marker { display: none; }.faq-list summary span { color: var(--muted); font-size: 22px; font-weight: 400; transition: transform .2s ease; }.faq-list details[open] summary span { transform: rotate(45deg); }.faq-list details p { max-width: 620px; padding: 0 42px 22px 0; color: var(--muted); font-size: 16px; }
.final-cta { padding: 170px 32px; background: var(--dark); color: var(--white); }.final-inner { display: flex; flex-direction: column; align-items: center; max-width: 790px; margin: 0 auto; text-align: center; }.final-inner .kicker { color: var(--dark-muted); }.final-inner h2 { margin-bottom: 25px; font-size: clamp(47px, 6vw, 86px); }.final-inner h2 em { color: #bcbcb4; font-family: var(--serif); font-weight: 400; }.final-inner > p:not(.kicker) { max-width: 490px; color: var(--dark-muted); font-size: 18px; }.final-inner .button { margin: 13px 0 17px; }.final-inner small { color: #888880; font-size: 12px; }.site-footer { padding: 38px max(32px, calc((100% - 1100px) / 2)); background: var(--dark); color: var(--white); }.site-footer nav { display: flex; flex-wrap: wrap; gap: 22px; margin: 50px 0 30px; color: var(--dark-muted); font-size: 14px; }.site-footer nav a:hover { color: var(--white); }.site-footer > p { max-width: 420px; color: #898981; font-size: 13px; }.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 70px; padding-top: 15px; border-top: 1px solid rgba(245,245,242,.16); color: #777770; font-size: 12px; }
.reveal { opacity: 0; translate: 0 18px; transition: opacity .75s ease, translate .75s cubic-bezier(.2,.8,.2,1); }.reveal.is-visible { opacity: 1; translate: 0 0; }

/* Shared page alignment: every major section follows the same outer rail and split gap. */
:root { --content-width: 1100px; --content-gutter: clamp(20px, 5vw, 64px); --split-gap: clamp(48px, 8vw, 96px); }
.site-header, .hero, .section { width: min(var(--content-width), calc(100% - (var(--content-gutter) * 2))); }
.hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--split-gap); }
.problem-grid, .build-section, .check-section, .privacy-section, .export-section, .price-section { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--split-gap); }
.site-footer { padding-inline: max(var(--content-gutter), calc((100% - var(--content-width)) / 2)); }

@media (prefers-color-scheme: dark) {
  :root { --paper: #10110f; --paper-alt: #1b1c19; --ink: #f3f3ed; --muted: #aaa9a1; --line: rgba(243,243,237,.17); --dark: #050605; --dark-soft: #1f201d; --dark-muted: #aaa9a2; --white: #f3f3ed; }
  body { background: var(--paper); }.site-header { background: rgba(27,28,25,.72); border-color: rgba(255,255,255,.14); }.site-header.is-scrolled { background: rgba(27,28,25,.93); }.site-header nav { color: #c7c7bf; }.hero-lede, .problem-copy, .build-copy > p:last-child, .section-intro > p:last-child { color: #aaa9a1; }.brand-mark, .button-dark { background: var(--ink); color: var(--paper); }.history-fragment { border-color: rgba(243,243,237,.15); background: rgba(31,32,29,.78); color: #d4d4cc; }.phone { background: #30312d; border-color: #555650; }.phone-screen { background: #1b1c19; color: #f3f3ed; }.chapter-card { background: #efefe8; color: #1a1b18; }.chapter-card .eyebrow, .chapter-card span, .chapter-card small { color: #62635c; }.phone-avatar { background: #343531; }.phone-section-title span:last-child, .phone-row b { color: #deded6; }.phone-row { border-color: #30312d; }.phone-row small, .phone-section-title, .phone-topline { color: #95958e; }.phone-tabbar { border-color: #30312d; color: #777870; }.phone-tabbar .active { color: #f3f3ed; }.record-icon { background: color-mix(in srgb, var(--accent) 18%, transparent); }.recovery-card, .check-demo { background: rgba(31,32,29,.5); }.csv-row, .mapped-row, .file-tray { background: rgba(31,32,29,.8); }.period { background: #20211e; }.period-two { background: #292a26; }.document-page { background: #e7e7e0; color: #181914; }.price-card { background: #e5e5df; color: #161714; }.price-rule { background: rgba(22,23,20,.3); }.price-card p { color: #5f6059; }.price-card p::before { color: #292a26; }.final-cta, .site-footer { background: #050605; }
}
@media (max-width: 800px) {
  .site-header { top: 10px; width: calc(100% - 24px); }.site-header nav { position: absolute; top: calc(100% + 8px); right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 8px; border: 1px solid var(--line); border-radius: 20px; background: rgba(245,245,242,.95); box-shadow: 0 15px 30px rgba(17,17,15,.1); backdrop-filter: blur(18px); }.site-header nav.is-open { display: flex; }.site-header nav a { padding: 12px 13px; }.nav-cta { text-align: center; }.menu-toggle { display: block; }.hero { width: min(100% - 40px, 590px); min-height: auto; grid-template-columns: 1fr; gap: 58px; padding: 145px 0 95px; }.hero-copy { max-width: none; }.hero-lede { font-size: 17px; }.hero-visual { min-height: 520px; }.phone { width: min(290px, 68vw); }.phone-screen { min-height: 550px; }.fragment-cloud { transform: scale(.84); }.section { width: min(100% - 40px, 590px); padding: 100px 0; }.problem-grid, .build-section, .check-section, .privacy-section, .export-section, .price-section { grid-template-columns: 1fr; gap: 54px; }.problem-copy { padding-top: 0; }.memory-strip { margin-top: 62px; }.timeline-build { padding-top: 0; }.recovery-grid { grid-template-columns: 1fr; gap: 12px; }.recovery-card { min-height: auto; }.card-number { margin-bottom: 38px; }.records-list { margin-top: 40px; }.record-item { grid-template-columns: 32px 40px 1fr 20px; gap: 12px; min-height: 72px; }.record-detail { display: none; }.price-card { max-width: 400px; }.final-cta { padding: 115px 20px; }.site-footer { padding: 34px 20px; }.footer-bottom { flex-direction: column; margin-top: 50px; }
  @media (prefers-color-scheme: dark) { .site-header nav { background: rgba(27,28,25,.96); } }
}
@media (max-width: 390px) { h1 { font-size: 45px; }.hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }.hero-visual { min-height: 455px; }.fragment-cloud { transform: scale(.7); }.phone { width: 255px; }.phone-screen { min-height: 500px; }.phone-tabbar { bottom: 10px; }.record-item { grid-template-columns: 26px 35px 1fr 16px; gap: 8px; }.record-name { font-size: 15px; }.record-icon { width: 32px; height: 32px; }.memory-strip span { padding-right: 11px; }.memory-strip span:not(:last-child) { border-right: 0; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.history-fragment, .reveal { animation: none; transition: none; opacity: 1; translate: 0 0; }.button, .nav-cta span, .button span, .faq-list summary span { transition: none; } }

/* Keep the page rhythm compact enough that each section feels connected. */
.hero { min-height: 720px; padding: 145px 0 88px; }
.section { padding: 112px 0; }
.problem-section { padding-top: 88px; }
.problem-copy { padding-top: 36px; }
.problem-copy .large-pull { margin-top: 30px; }
.memory-strip { margin-top: 64px; }
.timeline-build { padding-top: 8px; }
.timeline-point { min-height: 82px; padding-bottom: 18px; }
.records-section .section-intro, .recovery-section .section-intro { margin-bottom: 42px; }
.recovery-card { min-height: 380px; }
.card-number { margin-bottom: 40px; }
.final-cta { padding: 120px 32px; }
.site-footer nav { margin: 36px 0 24px; }
.footer-bottom { margin-top: 48px; }
@media (max-width: 800px) {
  .hero { min-height: auto; padding: 118px 0 72px; }
  .hero-visual { min-height: 450px; }
  .section { padding: 74px 0; }
  .problem-section { padding-top: 64px; }
  .recovery-card { min-height: auto; }
  .final-cta { padding: 88px 20px; }
}
@media (max-width: 390px) {
  .hero { padding: 110px 0 64px; }
  .hero-visual { min-height: 410px; }
}

/* Give desktop FAQs the same open, two-column rhythm as the reference layout. */
.faq-section .section-intro { max-width: 760px; margin-bottom: 48px; }
.faq-list { max-width: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--split-gap); align-items: start; border-top: 0; }
.faq-column { min-width: 0; }
.faq-column details { border-top: 1px solid var(--line); border-bottom: 0; }
.faq-column details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary { min-height: 72px; padding: 20px 0; }
@media (max-width: 800px) {
  .faq-list { grid-template-columns: 1fr; column-gap: 0; border-top: 1px solid var(--line); }
  .faq-column details { border-top: 0; border-bottom: 1px solid var(--line); }
}

/* One divider treatment across section boundaries and list rows. */
:root { --divider: 1px solid var(--line); --section-space: clamp(76px, 7vw, 96px); }
.section { padding-block: var(--section-space); }
.section + .section { border-top: var(--divider); }
.memory-strip { margin-top: 48px; padding-top: 0; border-top: 0; }
.problem-section { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.records-list, .privacy-list { border-top: var(--divider); }
.record-item, .privacy-list > div { border-bottom: var(--divider); }
.faq-column details { border-top: var(--divider); }
.faq-column details:last-child { border-bottom: var(--divider); }
@media (max-width: 800px) {
  .section { padding-block: 64px; }
  .problem-section { padding-block: 52px; }
  .memory-strip { margin-top: 40px; }
  .faq-column details { border-top: 0; border-bottom: var(--divider); }
}

/* Mirror the header: brand on the left, navigation on the right, and a shared lower rail. */
.site-footer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "brand nav" "note note" "bottom bottom"; column-gap: var(--split-gap); align-items: start; }
.footer-brand { grid-area: brand; }
.site-footer nav { grid-area: nav; justify-self: end; align-self: center; margin: 0; text-align: right; }
.site-footer > p { grid-area: note; margin: 42px 0 0; }
.footer-bottom { grid-area: bottom; width: 100%; margin-top: 52px; }
@media (max-width: 800px) {
  .site-footer { display: block; }
  .site-footer nav { justify-self: auto; margin: 32px 0 24px; text-align: left; }
  .site-footer > p { margin: 0; }
  .footer-bottom { width: auto; margin-top: 42px; }
}
