.memo-home{overflow:hidden}.memo-home section{position:relative}.memo-wrap{width:min(calc(100% - 48px),1180px);margin-inline:auto}
.memo-hero{padding:105px 0 0;text-align:center}.memo-hero-copy{max-width:980px;margin:auto}.memo-overline{display:inline-flex;align-items:center;gap:10px;color:var(--accent);font-size:.76rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.memo-overline:before{content:"";width:22px;height:1px;background:currentColor}.memo-hero h1{max-width:920px;margin:18px auto 24px;font-size:clamp(3.7rem,7.5vw,7rem);line-height:.96;letter-spacing:-.065em}.memo-hero-copy>p{max-width:620px;margin:auto;color:var(--muted);font-size:clamp(1.12rem,2vw,1.35rem);line-height:1.5}.memo-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:31px}.memo-product{width:min(calc(100% - 32px),1320px);margin:78px auto 0;padding:3px;border:1px solid var(--line);border-radius:26px;background:var(--surface);box-shadow:0 35px 90px rgba(12,29,17,.14)}.memo-product img{width:100%;height:auto;border-radius:22px}
.memo-intro{padding:145px 0}.memo-intro-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}.memo-intro-label{padding-top:11px;color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.memo-intro h2{font-size:clamp(2.8rem,5.5vw,5.6rem);line-height:1.04}.memo-intro h2 span{color:var(--muted)}
.memo-chapter{padding:120px 0;border-top:1px solid var(--line)}.memo-chapter-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:90px;align-items:center}.memo-chapter:nth-of-type(even) .memo-chapter-copy{order:2}.memo-chapter-index{display:block;margin-bottom:45px;color:var(--muted);font-size:.78rem;letter-spacing:.12em}.memo-chapter h2{margin:14px 0 20px;font-size:clamp(2.8rem,4.8vw,4.9rem)}.memo-chapter-copy>p{max-width:460px;color:var(--muted);font-size:1.12rem;line-height:1.65}.memo-link{display:inline-block;margin-top:18px;color:var(--accent);font-weight:650;text-decoration:none}.memo-link:hover{text-decoration:underline;text-underline-offset:4px}.memo-canvas{min-height:560px;display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 72%,var(--soft));border-radius:24px;overflow:hidden}
.memo-paper-stack{width:min(82%,530px);position:relative;height:330px}.memo-paper{position:absolute;width:78%;min-height:155px;padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 18px 45px rgba(16,34,21,.08)}.memo-paper:nth-child(1){left:0;top:0;rotate:-3deg}.memo-paper:nth-child(2){right:0;top:88px;rotate:2deg}.memo-paper:nth-child(3){left:9%;top:176px;rotate:-1deg}.memo-paper small{color:var(--muted);font-size:.78rem}.memo-paper strong{display:block;margin-top:11px;font-size:1.15rem;letter-spacing:-.02em}
.memo-day{width:min(82%,520px)}.memo-day-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.memo-day-head strong{font:720 1.55rem var(--display)}.memo-day-head span{color:var(--muted);font-size:.84rem}.memo-row{display:flex;gap:14px;align-items:center;margin:10px 0;padding:19px 20px;border-radius:13px;background:var(--surface);border:1px solid var(--line)}.memo-row i{width:21px;height:21px;flex:0 0 21px;border:2px solid var(--accent);border-radius:50%;position:relative}.memo-row div{font-weight:650}.memo-row small{display:block;color:var(--muted);font-weight:400}.memo-row.done{color:var(--muted)}.memo-row.done i{background:var(--accent)}.memo-row.done i:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--accent-ink);border-width:0 2px 2px 0;rotate:45deg}.memo-row.done div{text-decoration:line-through;text-decoration-thickness:1px}
.memo-timer{width:min(66%,340px);aspect-ratio:1;border-radius:50%;position:relative;display:grid;place-items:center;background:conic-gradient(var(--accent) 0 77%,color-mix(in srgb,var(--accent) 12%,transparent) 77%)}.memo-timer:before{content:"";position:absolute;inset:21px;border-radius:50%;background:color-mix(in srgb,var(--surface) 72%,var(--soft))}.memo-timer-content{position:relative;text-align:center}.memo-timer strong{display:block;font:730 clamp(2.8rem,5vw,4.2rem) var(--display);letter-spacing:-.05em}.memo-timer span{color:var(--muted);font-size:.82rem}
.memo-privacy{padding:145px 0}.memo-privacy-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:85px;border-radius:26px;background:#152b23;color:#f2f6f1}.memo-privacy h2{font-size:clamp(2.8rem,5vw,5rem)}.memo-privacy-copy{align-self:end}.memo-privacy-copy p{max-width:520px;color:#bec9c0;font-size:1.12rem;line-height:1.65}.memo-privacy-list{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}.memo-privacy-list span{padding:9px 12px;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#dae3dc;font-size:.83rem}.memo-privacy .memo-link{color:#b7dca8}
.memo-closing{padding:20px 0 145px;text-align:center}.memo-closing-inner{max-width:850px;margin:auto}.memo-closing h2{font-size:clamp(3rem,6vw,6rem)}.memo-closing p{margin:20px auto 30px;color:var(--muted);font-size:1.17rem}
@media(prefers-reduced-motion:no-preference){.memo-product{animation:memo-hero-in 1.1s .15s cubic-bezier(.16,1,.3,1) both}.memo-paper{transition:rotate .5s cubic-bezier(.16,1,.3,1),translate .5s cubic-bezier(.16,1,.3,1)}.memo-canvas:hover .memo-paper:nth-child(1){rotate:-5deg;translate:-5px -4px}.memo-canvas:hover .memo-paper:nth-child(2){rotate:4deg;translate:5px 0}.memo-canvas:hover .memo-paper:nth-child(3){rotate:-2deg;translate:0 5px}.memo-timer{animation:memo-breathe 4s ease-in-out infinite}@keyframes memo-hero-in{from{opacity:0;transform:translateY(35px) scale(.985)}}@keyframes memo-breathe{50%{transform:scale(1.018)}}}
@media(max-width:820px){.memo-wrap{width:min(calc(100% - 30px),1180px)}.memo-hero{padding-top:72px}.memo-product{width:calc(100% - 16px);margin-top:55px;border-radius:18px}.memo-product img{border-radius:14px}.memo-intro{padding:95px 0}.memo-intro-grid,.memo-chapter-grid,.memo-privacy-inner{grid-template-columns:1fr;gap:34px}.memo-intro-label{padding:0}.memo-chapter{padding:85px 0}.memo-chapter:nth-of-type(even) .memo-chapter-copy{order:initial}.memo-chapter-index{margin-bottom:25px}.memo-canvas{min-height:430px;border-radius:18px}.memo-privacy{padding:90px 0}.memo-privacy-inner{padding:58px 25px;border-radius:20px}.memo-privacy-copy{align-self:auto}.memo-closing{padding-bottom:95px}.memo-paper-stack{height:300px}.memo-paper{width:88%;padding:22px}.memo-paper:nth-child(2){top:78px}.memo-paper:nth-child(3){top:156px}}
