/* The illustration and the copy share one continuous paper surface. */
.hero { min-height: 890px; height: max(890px, 110svh); isolation: isolate; padding-top: 0; overflow: hidden; }
.hero-content { max-width: 1000px; padding: 84px 24px 48px; z-index: 3; }
.hero h1 { font-size: clamp(56px, 7.2vw, 102px); font-weight: 400; line-height: 1.01; letter-spacing: -.045em; margin-bottom: 25px; }
.hero-sub { font-size: 19px; max-width: 590px; line-height: 1.6; margin-bottom: 26px; }
.hero-label { font-size: 14px; letter-spacing: .16em; margin-bottom: 25px; }
.hero-landscape-wrap { position: absolute; inset: 0; min-height: 0; height: 100%; margin: 0; z-index: 1; }
.hero-landscape { object-fit: cover; object-position: center bottom; -webkit-mask-image: linear-gradient(to bottom, transparent 20%, #000 53%); mask-image: linear-gradient(to bottom, transparent 20%, #000 53%); transform: translateY(var(--landscape-y, 0px)) scale(1.025); }
.hero-landscape-overlay { height: 15%; }
.paper-slip { font-size: 14px; padding: 14px 18px; max-width: 177px; border-radius:11px; box-shadow: 0 12px 25px #25252512; }
.paper-slip-1 { top: 61%; left: 12%; }
.paper-slip-2 { top: 65%; right: 9%; }
.paper-slip-3 { top: 78%; left: 23%; }
.paper-slip-4 { top: 83%; right: 22%; }
.hero-source-chip { bottom: 7%; right: 7%; font-size: 14px; }
.site-brand { font-family: var(--sans); font-size: 18px; font-weight: 500; letter-spacing: -.04em; }
.site-brand .brand-logo { width: 35px; height: 35px; }
.site-nav { padding-inline: max(28px, calc((100vw - 1260px)/2)); }
.section-title, .recognition h2, .closing-title, .page-title, .confidence-row h3 { font-weight: 400; }
.recognition { padding-block: 110px; }
.recognition-list { max-width: 680px; }
.recognition-item { font-size: 20px; }
.section-kicker { letter-spacing: .13em; font-size: 14px; }
.demo-section { background: #eaeaea; border-radius:11px 11px 0 0; padding: 0; }
.demo-section > .container { padding-top: 74px; padding-bottom: 70px; }
.demo-section.enso-scroll { height: 205svh; }
.enso-scroll > .container { position: sticky; top: 35px; min-height: 90svh; display: flex; flex-direction: column; justify-content: center; }
.demo-header { max-width: 740px; margin-bottom: 26px; }
.demo-header .section-title { font-size: clamp(38px, 4.7vw, 62px); line-height: 1.04; }
.demo-header .section-lead { font-size: 16px; max-width: 540px; }
.demo-label { background: transparent; border: 0; padding: 0; margin-top: 12px; font-size: 14px; }
.demo-stage { width: 100%; padding: 18px 0 0; }
.demo-panels { grid-template-columns: minmax(0, 1fr) 160px minmax(0, 1fr); gap: 0; position: relative; }
.demo-panel { min-height: 350px; border-radius:11px; box-shadow: 0 18px 44px #3030300b; z-index: 2; }
.demo-panel-head { background: #f3f3f3; padding: 15px 20px; font-size: 14px; }
.demo-panel-body { font-size: 14px; padding: 18px; min-height: 320px; }
.demo-panel-body .msg { line-height: 1.5; padding: 10px 12px; max-width: 100%; }
.demo-enso { position: relative; flex-direction: column; gap: 16px; z-index: 3; }
.demo-enso-ring { width: 104px; height: 104px; border: none; border-radius: 0; animation: none !important; background: var(--ink); mask: url('/assets/total-recall-logo.png') center/contain no-repeat; mask-mode: luminance; opacity: 1 !important; transform: scale(var(--enso-scale, 1)); transition: transform .6s ease; }
.demo-enso::after { content: 'TOTAL RECALL'; font: 14px var(--mono); letter-spacing: .1em; opacity: .65; }
.demo-enso::before { content: ''; position: absolute; width: 160px; height: 160px; border: 1px solid #7f7f7f30; border-radius: 50%; top: calc(50% - 93px); }
.memory-flight { position: absolute; inset: 0; pointer-events: none; z-index: 4; overflow: hidden; }
.memory-mote { position: absolute; left: 50%; top: 50%; padding: 6px 9px; background: #f8f8f8; border: 1px solid #8f8f8f55; color: #555555; box-shadow: 0 4px 14px #30303013; border-radius: 2px; font: 14px var(--mono); white-space: nowrap; will-change: transform, opacity; }
.demo-controls { justify-content: center; gap: 14px; margin-top: 25px; }
.demo-step-btns { gap: 5px; }
.demo-step-btn { width: auto; height: 44px; padding: 0 16px; border-radius: var(--radius-btn); font: 14px var(--sans); }
.demo-action-btn { height: 44px; padding: 0 13px; font-size: 14px; }
.demo-step-content.active { animation: recall-arrives .5s ease both; }
@keyframes recall-arrives { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
.demo-panel[data-remembered='true'] { border-color: #808080; }
.demo-status { min-height: 18px; text-align: center; margin-top: 15px; font: 14px var(--mono); color: #5e5e5e; }
.confidence-row-image img { max-width: 390px; }
#confidence { padding-top: 100px; }
.dashboard-wrap { border-radius:11px; }
.btn, .demo-action-btn { transition-property: transform, background-color, border-color, color; }
html:not(.js) .demo-step-content { display: block; }
html:not(.js) .site-links { display: flex; }
.btn-primary:hover { transform: translateY(-2px); }
.uc-tab { font-family: var(--sans); }
.uc-card { color: inherit; text-decoration: none; }
.uc-card:focus-visible, .uc-tab:focus-visible { outline: 3px solid var(--moss); outline-offset: 4px; }
.prose h1, .prose h2 { font-weight: 400; }
#d-title:focus { outline: none; }
h1, h2, h3, .modal h3, .ai-step h3 { font-weight: 400; }
section[id] { scroll-margin-top: 70px; }
.bm-glance { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 900px; }
.notfound-page { padding: 90px 0; }
.notfound-page > .container { max-width: 980px; }
.notfound-page .section-title { max-width: 620px; }
.notfound-page .section-lead { max-width: 540px; }
.nf-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 40px; }
.nf-link { display: flex; flex-direction: column; gap: 7px; padding: 22px; border: 1px solid var(--line); border-radius:11px; background: var(--paper-solid); transition: border-color .2s; }
.nf-link:hover { border-color: var(--moss); }
.nf-mark { font-size: 20px; font-family: var(--serif); color: var(--moss); }
.nf-desc { font-size: 14px; color: var(--ink-soft); }
.signup-error { font-size: 14px; color: #525252; margin: 12px 0 0; }
.resolution { background: #393939; border-radius:11px 11px 0 0; overflow: hidden; isolation: isolate; }
.resolution::before { content: ''; position: absolute; inset: 0; background: url('/assets/zen-landscape.png') center 65%/cover no-repeat; opacity: .09; mix-blend-mode: screen; z-index: -1; }
.resolution h2 { color: #f2f2f2; }
.resolution h2 em { color: #cdcdcd; }
.resolution p { color: #dedede; font-size: 18px; }
.resolution .btn-primary { background: #f2f2f2; color: #333333; }
.resolution .btn-secondary { color: #f2f2f2; border-color: #d8d8d859; background: transparent; }
.resolution .btn-secondary:hover { background: #ffffff12; }
.resolution-enso img { filter: none; mix-blend-mode: screen; opacity: .7; }
@media (max-width: 800px) {
  .bm-glance { grid-template-columns: 1fr; }
  .nf-links { grid-template-columns: 1fr; gap: 10px; }
  .nf-link { padding: 16px 20px; }
  .notfound-page { padding: 60px 0; }
}
@media (min-width: 1500px) { .hero-content { padding-top: 100px; } .hero-landscape { object-position: center 68%; } }
@media (max-height: 760px) and (min-width: 801px) {
  .enso-scroll > .container { padding-top: 60px; padding-bottom: 24px; min-height: 0; }
  .demo-header .section-title { font-size: 46px; }
  .demo-header { margin-bottom: 8px; }
  .demo-panel-body { min-height: 270px; }
  .demo-panel { min-height: 302px; }
}
@media (max-width: 800px) {
  .hero { min-height: 800px; height: 100svh; max-height: 1050px; }
  .hero-content { padding: 68px 24px 20px; max-width: 650px; }
  .hero h1 { font-size: clamp(52px, 9.5vw, 78px); }
  .hero-sub { font-size: 16px; max-width: 460px; }
  .hero-landscape { object-position: 62% bottom; -webkit-mask-image: linear-gradient(to bottom, transparent 35%, #000 66%); mask-image: linear-gradient(to bottom, transparent 35%, #000 66%); }
  .paper-slip-1 { left: 6%; top: 67%; }
  .paper-slip-2 { right: 7%; top: 80%; }
  .paper-slip-3, .paper-slip-4 { display: none; }
  .hero-source-chip { bottom: 4%; right: 6%; }
  .demo-section.enso-scroll { height: auto; }
  .enso-scroll > .container { position: static; min-height: 0; padding-block: 65px; }
  .demo-panels { grid-template-columns: 1fr; gap: 18px; }
  .demo-enso { height: 110px; }
  .demo-enso::before { width: 110px; height: 110px; top: 0; }
  .demo-enso-ring { width: 80px; height: 80px; }
  .demo-enso::after { display: none; }
  .demo-panel { min-height: 250px; }
  .demo-panel-body { min-height: 220px; }
  .demo-panel-body .msg { font-size: 14px; }
  .demo-controls { flex-wrap: wrap; gap: 8px; }
  .demo-step-btn { font-size: 14px; padding-inline: 12px; }
  .memory-flight { display: none; }
  .site-nav { padding-inline: 20px; }
}
@media (max-width: 480px) {
  .hero-content { padding-top: 45px; }
  .hero h1 { font-size: 54px; letter-spacing: -.045em; }
  .hero-label { font-size: 14px; letter-spacing: .08em; }
  .hero-sub { font-size: 15px; }
  .hero-actions { gap: 8px; }
  .hero-actions .btn { padding: 12px 18px; font-size: 14px; }
  .hero-landscape { object-position: 60% bottom; }
  .paper-slip { font-size: 14px; max-width: 142px; padding: 10px 12px; }
  .recognition { padding-block: 75px; }
  .recognition-item { font-size: 17px; }
  .demo-section { border-radius:11px 11px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  .demo-section.enso-scroll { height: auto; }
  .enso-scroll > .container { position: static; min-height: 0; }
  .hero-landscape, .demo-enso-ring { transform: none; }
  .paper-slip, .demo-step-content.active { animation: none; }
  .memory-flight { display: none; }
}
