:root{--p:#10383a;--p2:#08282a;--iv:#f8f3e9;--cream:#eee7dc;--champ:#dfc78d;--ink:#253233;--muted:#687472}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--iv);font-family:"DM Sans",sans-serif;color:var(--ink)}a{text-decoration:none;color:inherit}small{font-size:12px;letter-spacing:.16em;font-weight:700;color:#9c804b}h1,h2,h3{font-family:"Playfair Display";letter-spacing:-.035em}.homehero{height:100svh;min-height:650px;position:relative;color:#fff;overflow:hidden}.heroimg{position:absolute;inset:0;background:url("https://images.pexels.com/photos/1128318/pexels-photo-1128318.jpeg?auto=compress&cs=tinysrgb&w=2000") center/cover;animation:ken 18s ease-in-out infinite alternate}.veil{position:absolute;inset:0;background:linear-gradient(90deg,#052223e8,#05222340 75%)}@keyframes ken{to{transform:scale(1.08)}}.brand{position:absolute;z-index:2;top:30px;left:6vw;letter-spacing:.24em;font-weight:700}.brand span{display:block;font:italic 15px "Playfair Display";letter-spacing:0;margin-top:5px}.copy{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding:110px 6vw 60px;max-width:950px}.copy h1{font-size:clamp(58px,8vw,100px);line-height:.9;margin:20px 0}.copy h1 em{color:var(--champ)}.copy p{font-size:20px;line-height:1.55;max-width:580px}.btn{min-height:62px;max-width:470px;width:100%;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border-radius:3px;font-size:12px;font-weight:700;letter-spacing:.1em;margin-top:25px;border:0;cursor:pointer}.btn.light{background:var(--iv);color:var(--p)}.btn.dark{background:var(--p);color:var(--iv)}.btn.gold{background:var(--champ);color:var(--p2)}.journey{max-width:1120px;margin:auto;padding:90px 26px}.journey>h2{font-size:clamp(48px,6vw,72px);line-height:.95;color:var(--p);margin:14px 0}.journey>p{font-size:16px;color:var(--muted)}.dots{display:flex;gap:8px;max-width:500px;margin:25px 0 45px}.dots i{height:6px;flex:1;background:#d6cec2;border-radius:8px}.dots i.on{background:#ad9159}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.card{min-height:330px;background:var(--p);color:white;border-radius:15px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.card .n{position:absolute;right:15px;top:-30px;font:150px "Playfair Display";opacity:.07}.card h3{font-size:35px;line-height:1;margin:12px 0}.card p{font-size:15px;line-height:1.55;color:#c8d2d0}.card .go{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--champ);margin-top:15px}.card.done{background:#426263}.missionhero{min-height:58svh;background:linear-gradient(145deg,var(--p),var(--p2));color:white;padding:30px 6vw 55px;display:flex;flex-direction:column}.mnav{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.12em}.mnav b{letter-spacing:.23em}.mtitle{margin-top:auto;max-width:850px}.mtitle h1{font-size:clamp(58px,8vw,96px);line-height:.88;margin:18px 0}.mtitle p{font-size:19px;line-height:1.6;color:#c8d2d0;max-width:680px}.body{max-width:760px;margin:auto;padding:70px 25px 100px}.step{padding:35px 0;border-top:1px solid #d8d0c4}.step .no{font:28px "Playfair Display";color:#a68a52}.step h2{font-size:36px;color:var(--p);margin:10px 0}.step p{font-size:17px;line-height:1.7;color:var(--muted)}.interactive{background:#eee7dc;border-radius:12px;padding:22px;margin-top:20px}.interactive .result{font:600 25px/1.25 "Playfair Display";color:var(--p);margin:12px 0}.mini{min-height:50px;padding:0 18px;border:1px solid #9eaa9f;background:transparent;color:var(--p);border-radius:3px;font-weight:700;font-size:11px;letter-spacing:.08em;cursor:pointer}.timer{font:55px "Playfair Display";color:var(--p);margin:8px 0}.score{display:flex;gap:12px;align-items:center}.score strong{font:45px "Playfair Display";color:var(--p)}.checks label{display:block;padding:8px 0;font-size:15px}.quote{font:italic 600 30px/1.25 "Playfair Display";color:var(--p);border-left:2px solid var(--champ);padding-left:18px}.memory{margin-top:55px;padding-top:45px;border-top:2px solid var(--p)}.memory h2{font-size:44px;color:var(--p);margin:12px 0}.memory label{display:block;font-size:15px;font-weight:600;color:var(--p);margin:22px 0 8px}.memory textarea{width:100%;min-height:100px;border:1px solid #cec4b6;border-radius:8px;padding:15px;font:16px "DM Sans"}.complete{text-align:center;display:none;padding:55px 0}.complete.show{display:block}.complete h2{font-size:50px;color:var(--p);margin:10px}.complete .heart{font-size:38px;color:#aa8d54}.capsule{background:var(--p2);color:white;padding:25px;border-radius:12px}.capsule input{width:100%;padding:14px;border:0;border-radius:4px;font:16px "DM Sans";margin-top:10px}@media(max-width:700px){small{font-size:11px}.copy{padding-left:24px;padding-right:24px}.copy h1{font-size:54px}.copy p{font-size:17px}.grid{grid-template-columns:1fr}.card{min-height:300px}.mnav span{font-size:10px}.mtitle h1{font-size:57px}.mtitle p,.step p{font-size:16px}.step h2{font-size:32px}}
.card.locked{background:#d9d2c7;color:#817e77;box-shadow:none;cursor:not-allowed}.card.locked h3{color:#6f706c}.card.locked p{color:#85847e}.card.locked .go{color:#8b877f}.card.locked .n{opacity:.09}
.final-banner{display:block;margin:30px 0 0;background:linear-gradient(120deg,var(--p2),var(--p));color:white;padding:35px;border-radius:15px}.final-banner h3{font-size:36px;margin:10px 0}.final-banner p{font-size:16px;color:#c7d2d0}.final-banner span{display:block;color:var(--champ);font-size:12px;font-weight:700;letter-spacing:.1em;margin-top:20px}
.final-page{background:var(--iv)}.final-hero{min-height:100svh;background:radial-gradient(circle at 50% 25%,#285052,var(--p2) 60%);color:white;display:flex;align-items:center;justify-content:center;text-align:center;padding:60px 24px}.final-hero>div{max-width:800px}.final-heart{font-size:46px;color:var(--champ);margin:24px}.final-hero h1{font-size:clamp(58px,8vw,94px);line-height:.9;margin:0}.final-hero h1 em{color:var(--champ)}.final-hero p{font-size:19px;line-height:1.65;color:#cbd5d3;max-width:620px;margin:28px auto}.final-hero .btn{margin:30px auto 0}
.memory-wall{max-width:1000px;margin:auto;padding:100px 25px}.memory-wall>h2,.capsule-final h2,.share-section>h2{font-size:clamp(48px,6vw,70px);line-height:.95;color:var(--p);margin:14px 0 50px}.memory-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.memory-summary{min-height:220px;padding:25px;border:1px solid #d7cdbf;border-radius:12px;position:relative;background:#fffaf2}.memory-summary>span{position:absolute;right:18px;top:8px;font:70px "Playfair Display";color:#10383a0d}.memory-summary small{color:#987d49}.memory-summary h3{font-size:26px;line-height:1.15;color:var(--p);margin:25px 0 10px}.memory-summary p{font-size:14px;color:var(--muted);line-height:1.5}
.capsule-final{background:var(--p);color:white;padding:100px 25px}.capsule-copy{max-width:760px;margin:auto}.capsule-final h2{color:white;margin-bottom:25px}.capsule-final p{font-size:18px;line-height:1.7;color:#cbd4d2;max-width:650px}.capsule-date{border-top:1px solid #ffffff30;margin-top:35px;padding-top:25px}.capsule-date small{display:block}.capsule-date strong{display:block;font:34px "Playfair Display";color:var(--champ);margin-top:10px}
.share-section{max-width:760px;margin:auto;padding:100px 25px;text-align:center}.share-card{background:#f0e8dc;border:1px solid #d7c8b5;border-radius:12px;padding:55px 25px;margin:30px 0}.share-card b{letter-spacing:.25em;color:var(--p)}.share-card p{font:italic 600 32px/1.2 "Playfair Display";color:var(--p)}.share-card span{font:italic 15px "Playfair Display";color:#807869}.share-section .btn{margin:25px auto}.privacy-note{font-size:12px;color:#85847e}.restart{display:inline-block;margin-top:30px;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--p);border-bottom:1px solid #9ca6a2;padding-bottom:5px}
@media(max-width:700px){.memory-cards{grid-template-columns:1fr}.final-hero p{font-size:17px}.share-card p{font-size:27px}.final-banner h3{font-size:30px}}

.sales-footer .legal{font-size:12px;line-height:1.7;opacity:.72;margin-top:28px}
.sales-footer .legal a{text-decoration:underline;text-underline-offset:3px}
.legal-page{max-width:820px;margin:auto;padding:70px 24px 100px;line-height:1.75}
.legal-page h1{font-size:clamp(44px,7vw,72px);color:var(--p);line-height:1;margin:28px 0 45px}
.legal-page h2{font:600 30px "Playfair Display";color:var(--p);margin-top:38px}
.legal-page p{font-size:16px;color:var(--muted)}
.legal-back{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--p)}
.legal-contact{border-top:1px solid #d8d0c4;padding-top:28px;margin-top:55px}
