/* Personal keepsake: quieter than the free discovery flow, with paper-proof detail. */
:root{--keepsake-ink:#214c43;--keepsake-paper:#f7f3e9;--keepsake-gold:#e8c57e;--keepsake-muted:#53635d;--keepsake-line:#d5dcd3;--keepsake-wash:#e9eee6}
.home-free-promise{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:20px 0 10px;color:var(--keepsake-ink);font-size:.9rem;line-height:1.5}
.home-free-promise strong{background:var(--keepsake-wash);padding:6px 12px;border-radius:30px}
.home-keepsake-link{display:inline-flex;min-height:44px;align-items:center;color:var(--keepsake-ink);text-underline-offset:5px;font-size:.85rem}
.keepsake-teaser{display:grid;grid-template-columns:1.4fr .6fr;gap:44px;align-items:center;max-width:1120px;margin:30px auto 70px;padding:42px 52px;background:var(--keepsake-wash);border-radius:22px;color:var(--keepsake-ink)}
.keepsake-teaser h2{font-family:Georgia,serif;font-size:clamp(2rem,3vw,3.2rem);font-weight:400;line-height:1.12;max-width:500px;margin:12px 0 20px}
.keepsake-teaser p{max-width:520px;line-height:1.7}.keepsake-teaser small{display:block;margin-top:14px;font-size:.8rem;color:var(--keepsake-muted)}
.keepsake-link{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border:1px solid var(--keepsake-ink);border-radius:8px;background:var(--keepsake-ink);color:#fffdf7;text-decoration:none;font:600 .95rem/1.4 "Avenir Next",sans-serif;cursor:pointer;transition:transform .18s,box-shadow .18s;max-width:100%;white-space:normal}
.keepsake-link:hover{transform:translateY(-2px);box-shadow:0 5px 15px #214c4320}.keepsake-link:focus-visible,.keepsake-page a:focus-visible{outline:3px solid #b14d32;outline-offset:4px}
.keepsake-teaser-art{justify-self:center;position:relative;width:min(100%,215px);transform:rotate(4deg)}
.keepsake-teaser-art img{display:block;width:100%;height:auto;border:6px solid #fff;box-shadow:0 10px 23px #152e302b}
.keepsake-teaser-art span{position:absolute;bottom:12px;left:6px;right:6px;background:#fffdf7f0;color:var(--keepsake-ink);text-align:center;font-size:10px;letter-spacing:.12em;padding:5px}
.keepsake-page{max-width:1160px;margin:auto;padding:24px 36px 60px;color:var(--keepsake-ink)}
.keepsake-page .eyebrow{color:var(--keepsake-ink);letter-spacing:.13em;font-size:.75rem;font-weight:700;line-height:1.6}
.keepsake-page h1,.keepsake-page h2{font-family:Georgia,"Songti TC",serif;font-weight:400;letter-spacing:-.035em;color:var(--keepsake-ink);text-wrap:balance}
.keepsake-page h1{font-size:clamp(2.8rem,5.2vw,4.7rem);line-height:1.04;margin:18px 0 24px}
.keepsake-page h2{font-size:clamp(2rem,3.2vw,3rem);line-height:1.12;margin:10px 0 28px}
.keepsake-page h3{font-size:1.25rem;color:var(--keepsake-ink)}
.keepsake-page p{line-height:1.7}.keepsake-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center;padding:24px 0 60px}
.keepsake-back{display:inline-flex;min-height:44px;align-items:center;color:var(--keepsake-muted);font-size:.9rem;margin-bottom:28px;text-decoration:none}
.keepsake-lead{max-width:570px;font-size:1.13rem;margin:0 0 25px}
.keepsake-page .keepsake-fine{font-size:.85rem;color:var(--keepsake-muted);line-height:1.7;max-width:900px}
.keepsake-cover-stack{position:relative;transform:rotate(4deg);max-width:330px;margin:auto}
.keepsake-cover-stack:before{content:"";position:absolute;inset:8px;background:#e4c17b;transform:rotate(-8deg);border:1px solid #c1a05d;z-index:-1}
.keepsake-cover-stack img{width:100%;height:auto;display:block;box-shadow:0 14px 40px #173a3225;border:7px solid white}
.keepsake-sample-tag{display:block;position:absolute;bottom:18px;left:-12px;right:-12px;padding:9px 12px;background:var(--keepsake-ink);color:white;text-align:center;font-size:.65rem;letter-spacing:.06em;transform:rotate(-4deg)}
.keepsake-section{padding:54px 0;border-top:1px solid var(--keepsake-line);scroll-margin-top:90px}
.keepsake-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.keepsake-gallery figure{margin:0;min-width:0}.keepsake-gallery img{display:block;width:100%;height:auto;border:5px solid #fff;box-shadow:0 5px 20px #173a3217;transition:transform .18s}
.keepsake-gallery a:hover img{transform:translateY(-5px)}.keepsake-gallery figcaption{padding:18px 0;font-size:.94rem;font-weight:600}
.keepsake-value{display:grid;grid-template-columns:1fr 1fr;gap:65px}.keepsake-value ul{list-style:none;margin:0;padding:0}.keepsake-value li+li{margin-top:24px}.keepsake-value strong{font-size:1.12rem}.keepsake-value p{margin:8px 0;color:var(--keepsake-muted)}
.keepsake-options{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:0;padding-top:0}.keepsake-options article{padding:34px;background:var(--keepsake-wash);border-radius:16px;min-width:0}.keepsake-options .keepsake-paid{background:var(--keepsake-paper);border:1px solid #c0a36c}.keepsake-options ul{padding-left:20px;line-height:1.8;margin-bottom:25px}.keepsake-price{font-size:2rem;font-weight:600}.keepsake-price small{display:block;font-size:.8rem;font-weight:400;color:var(--keepsake-muted)}
.keepsake-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:25px 0}.keepsake-fields label{display:grid;gap:8px;font-size:.9rem;font-weight:600;min-width:0}
.keepsake-fields input,.keepsake-fields select{width:100%;min-width:0;min-height:48px;border:1px solid #9baea5;background:#fff;color:var(--keepsake-ink);border-radius:7px;padding:10px;font:400 16px "Avenir Next",sans-serif}
.keepsake-dishes{border:1px solid var(--keepsake-line);padding:20px;border-radius:10px;margin:26px 0}.keepsake-dishes legend{font-size:.9rem;font-weight:600;padding:0 6px}.keepsake-dishes>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.keepsake-dishes label,.keepsake-consent{display:flex;align-items:flex-start;gap:12px;min-height:44px;line-height:1.5;font-size:.95rem;padding:8px 0;cursor:pointer}
.keepsake-dishes input,.keepsake-consent input{width:21px;height:21px;flex:0 0 21px;margin:1px 0 0;accent-color:var(--keepsake-ink)}
.keepsake-local-proof{padding:30px;background:var(--keepsake-paper);border:1px solid var(--keepsake-line);margin:24px 0;border-radius:12px;overflow-wrap:anywhere}.keepsake-local-proof article{padding:15px 0;border-top:1px solid var(--keepsake-line)}.keepsake-local-proof small{margin-left:15px}.keepsake-local-proof blockquote{margin:12px 0;font:italic 1.3rem/1.6 Georgia,serif;color:#a3422b;white-space:pre-wrap}
.keepsake-seals{display:grid;grid-template-columns:1fr 1fr;gap:50px;text-align:center}.keepsake-seals>div{display:flex;align-items:center;flex-direction:column;justify-content:flex-start}.keepsake-seals img{object-fit:contain;height:180px}.keepsake-seals p{max-width:410px;color:var(--keepsake-muted)}
.premium-sample-panel .keepsake-link{margin:12px 0}.keepsake-page [hidden]{display:none}
@media(max-width:700px){.keepsake-page{padding:12px 20px 40px}.keepsake-hero{grid-template-columns:1fr;gap:25px;padding:10px 0 45px}.keepsake-cover-stack{width:220px;max-width:80%;margin:12px auto 20px}.keepsake-hero h1{font-size:2.9rem}.keepsake-back{margin-bottom:15px}.keepsake-section{padding:36px 0}.keepsake-value,.keepsake-options,.keepsake-seals{grid-template-columns:1fr;gap:25px}.keepsake-gallery{grid-template-columns:1fr;gap:16px}.keepsake-gallery figure{width:100%;max-width:390px;margin:auto}.keepsake-gallery figcaption{padding:12px 0 22px}.keepsake-options article{padding:26px}.keepsake-fields,.keepsake-dishes>div{grid-template-columns:1fr}.keepsake-teaser{margin:20px 18px 45px;padding:28px;grid-template-columns:1fr;gap:30px}.keepsake-teaser-art{width:150px}.keepsake-local-proof{padding:20px}.home-free-promise{font-size:.83rem}.keepsake-seals img{height:170px}}
@media(max-width:700px){.keepsake-page{padding-left:6px;padding-right:6px}.keepsake-hero h1{font-size:2.3rem}.keepsake-back{margin-bottom:8px}.keepsake-lead{font-size:1rem}.keepsake-teaser{margin-left:0;margin-right:0}.keepsake-section{scroll-margin-top:130px}}
@media(prefers-reduced-motion:reduce){.keepsake-link,.keepsake-gallery img{transition:none}.keepsake-link:hover,.keepsake-gallery a:hover img{transform:none}}
