@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/dm-sans-400.ttf') format('truetype')}@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/dm-sans-500.ttf') format('truetype')}@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('assets/dm-sans-600.ttf') format('truetype')}@font-face{font-family:'Playfair Display';font-style:italic;font-weight:500;font-display:swap;src:url('assets/playfair-500-italic.ttf') format('truetype')}@font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url('assets/playfair-600-italic.ttf') format('truetype')}

:root { --ink:#263331; --muted:#687471; --cream:#f8f3ee; --paper:#fffdf9; --rose:#c97977; --rose-dark:#a95f5e; --blush:#ead1c9; --sage:#718a79; --gold:#d9ad68; --line:rgba(38,51,49,.13); --shadow:0 30px 70px rgba(68,47,40,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'DM Sans',sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:100; padding:12px 18px; background:var(--ink); color:white; }
.skip-link:focus { top:20px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.section-shell { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.site-header { height:88px; display:flex; align-items:center; justify-content:space-between; max-width:1240px; margin:auto; padding:0 30px; position:relative; z-index:20; }
.brand { display:flex; align-items:center; gap:11px; font-size:22px; font-weight:600; letter-spacing:-.04em; }
.brand-mark { width:29px; height:27px; position:relative; display:inline-block; transform:rotate(-2deg); }
.brand-mark span { position:absolute; width:17px; height:24px; border:2px solid var(--rose); border-radius:16px 16px 7px 7px; transform:rotate(-38deg); left:3px; }
.brand-mark span:last-child { transform:rotate(38deg); left:10px; }
nav { display:flex; align-items:center; gap:34px; font-size:14px; }
nav a:not(.nav-cta) { color:#4f5c59; }
nav a:hover { color:var(--rose-dark); }
.nav-cta { color:white; background:var(--ink); padding:13px 20px; border-radius:100px; }
.menu-toggle { display:none; border:0; background:transparent; padding:10px; }
.menu-toggle>span:not(.sr-only) { display:block; width:24px; height:2px; background:var(--ink); margin:5px; }

.hero { min-height:680px; display:grid; grid-template-columns:1.02fr .98fr; align-items:center; gap:48px; padding-top:36px; padding-bottom:86px; }
.eyebrow { display:flex; align-items:center; gap:9px; text-transform:uppercase; letter-spacing:.17em; font-size:11px; font-weight:600; color:var(--rose-dark); }
.eyebrow>span { display:inline-block; width:24px; height:1px; background:currentColor; }
h1,h2 { margin:0; font-weight:500; letter-spacing:-.055em; line-height:.98; }
h1 { font-size:clamp(62px,7vw,103px); }
h1 em,h2 em { font-family:'Playfair Display',serif; color:var(--rose); font-weight:500; }
.hero-text { max-width:540px; font-size:18px; line-height:1.7; color:var(--muted); margin:30px 0; }
.hero-actions { display:flex; align-items:center; gap:28px; }
.button { display:inline-flex; gap:24px; align-items:center; border-radius:100px; padding:16px 21px 16px 24px; font-size:14px; font-weight:600; }
.button-primary { background:var(--rose); color:white; box-shadow:0 12px 30px rgba(201,121,119,.25); }
.button-primary:hover { background:var(--rose-dark); transform:translateY(-2px); }
.text-link { font-size:14px; border-bottom:1px solid var(--ink); padding:10px 0 4px; }
.trust-line { display:flex; gap:22px; color:var(--muted); font-size:11px; margin-top:40px; }
.trust-line i { font-style:normal; color:var(--sage); }
.hero-visual { height:560px; position:relative; display:grid; place-items:center; }
.hero-visual:before { content:""; position:absolute; inset:4% 5% 0; background:#efe2d8; border-radius:49% 51% 49% 51%/42% 42% 58% 58%; transform:rotate(5deg); }
.orbit { position:absolute; border:1px solid rgba(169,95,94,.25); border-radius:50%; }
.orbit-one { inset:7% 6% 5%; transform:rotate(-18deg); }
.orbit-two { inset:13% 0 9%; transform:rotate(28deg); }
.phone { position:relative; z-index:2; width:268px; height:540px; padding:9px; border-radius:42px; background:#29322f; box-shadow:var(--shadow); transform:rotate(2deg); }
.phone:after { content:""; position:absolute; top:15px; left:50%; transform:translateX(-50%); width:78px; height:21px; background:#29322f; border-radius:20px; }
.phone-screen { height:100%; overflow:hidden; border-radius:34px; padding:14px 17px 10px; background:linear-gradient(#fcf8f3,#f7eee8); position:relative; }
.phone-status { display:flex; justify-content:space-between; font-size:8px; font-weight:600; padding:0 5px 20px; }
.app-top { display:flex; justify-content:space-between; align-items:center; }
.avatar { width:29px; height:29px; border-radius:50%; display:grid; place-items:center; font-size:10px; color:white; border:2px solid white; }
.avatar-a { background:#c68b7e; }.avatar-b { background:#6f8882; }
.app-logo { font-family:'Playfair Display',serif; font-style:italic; font-size:17px; }
.app-kicker { text-align:center; font-size:7px; letter-spacing:.17em; margin:28px 0 11px; color:var(--rose-dark); }
.question-card { min-height:244px; background:#d58e87; color:white; border-radius:25px; padding:23px 20px; display:flex; flex-direction:column; align-items:center; box-shadow:0 16px 32px rgba(156,84,80,.2); }
.card-sun { font-size:24px; opacity:.85; }
.question-card p { font-family:'Playfair Display',serif; font-size:23px; text-align:center; line-height:1.27; margin:19px 0 auto; }
.question-card button { width:100%; background:rgba(255,255,255,.9); color:var(--rose-dark); border:0; border-radius:20px; padding:11px; font-size:10px; font-weight:600; }
.answer-row { display:flex; gap:10px; align-items:center; margin:15px 2px; }
.mini-avatar { width:30px; height:30px; background:#b9766d; color:white; border-radius:50%; display:grid; place-items:center; font-size:9px; }
.answer-row div { display:flex; flex-direction:column; font-size:8px; }.answer-row small{color:var(--muted)}.answer-row strong{font-size:9px;margin-top:2px}
.app-bottom { position:absolute; bottom:0; left:0; right:0; display:flex; justify-content:space-around; background:rgba(255,255,255,.65); padding:10px; color:#7d8581; }
.app-bottom span { display:flex; flex-direction:column; align-items:center; font-size:15px; }.app-bottom small{font-size:7px;margin-top:2px}.app-bottom span:first-child{color:var(--rose-dark)}
.floating-note { position:absolute; z-index:4; background:rgba(255,253,249,.92); backdrop-filter:blur(8px); box-shadow:0 12px 35px rgba(75,52,46,.13); border-radius:17px; padding:13px 17px; display:grid; grid-template-columns:auto auto; gap:0 8px; }
.floating-note>span { grid-row:1/3; color:var(--rose); align-self:center; }.floating-note strong{font-family:'Playfair Display',serif;font-size:19px}.floating-note small{font-size:8px;color:var(--muted)}
.note-one { left:0; top:24%; transform:rotate(-5deg); }.note-two { right:-6px; bottom:18%; transform:rotate(4deg); grid-template-columns:auto auto; }

.intro { padding:120px 0 130px; text-align:center; border-top:1px solid var(--line); }
.eyebrow.centered { justify-content:center; }
h2 { font-size:clamp(42px,5.4vw,72px); }
.intro>p:not(.eyebrow) { color:var(--muted); margin:25px auto 60px; max-width:560px; line-height:1.65; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:0; text-align:left; }
.steps article { padding:20px 55px; min-height:280px; border-right:1px solid var(--line); position:relative; }.steps article:last-child{border:0}
.step-number { color:#b7bdb9; font-size:10px; letter-spacing:.12em; }
.step-icon { width:68px; height:68px; display:grid; place-items:center; margin:35px 0 24px; border-radius:50%; font-family:'Playfair Display',serif; font-size:25px; }
.step-icon.rose{background:#f1ddda;color:var(--rose-dark)}.step-icon.gold{background:#f3e6cf;color:#ad7c31}.step-icon.green{background:#dfe9e1;color:var(--sage)}
h3 { margin:0 0 11px; font-size:18px; }.steps article p{font-size:14px;color:var(--muted);line-height:1.65;margin:0}

.feature-section { background:var(--cream); padding:130px 0; }
.feature-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:100px; }
.feature-collage { min-height:560px; position:relative; }
.feature-collage:before { content:""; position:absolute; width:420px; height:420px; border-radius:50%; background:#e8d7cc; left:5%; top:8%; }
.memory-card { position:absolute; background:var(--paper); box-shadow:var(--shadow); padding:12px; transform:rotate(-5deg); }
.memory-main { width:285px; left:16%; top:7%; }.memory-photo{height:295px;background:linear-gradient(155deg,#84958e,#d5a896 56%,#efc1a5);display:grid;place-items:center;position:relative;overflow:hidden}.memory-photo:before,.memory-photo:after{content:"";position:absolute;width:120px;height:210px;background:#374641;border-radius:50% 50% 8px 8px;bottom:-80px;left:43px;transform:rotate(-13deg)}.memory-photo:after{background:#6e5048;left:auto;right:38px;transform:rotate(12deg)}.memory-photo span{position:relative;z-index:1;color:white;font-size:50px}.memory-main p{font-family:'Playfair Display',serif;font-size:17px;margin:14px 8px 2px}.memory-main small{font-size:9px;color:var(--muted);margin:0 8px 8px;display:block}
.memory-small { width:220px; right:1%; bottom:9%; padding:24px 25px; transform:rotate(7deg); }.memory-small strong{font-family:'Playfair Display';font-size:45px;color:var(--rose);line-height:.5}.memory-small p{font-family:'Playfair Display';font-style:italic;line-height:1.5;margin:10px 0}.tiny-heart{position:absolute;left:8%;bottom:14%;background:var(--rose);color:white;width:55px;height:55px;border-radius:50%;display:grid;place-items:center;box-shadow:0 15px 35px rgba(150,80,78,.25)}
.feature-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;color:var(--muted);margin:28px 0 35px;max-width:500px}
.feature-list { list-style:none; padding:0; margin:0; }.feature-list li{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding:19px 0}.feature-list li>span{color:var(--rose);font-family:'Playfair Display';font-style:italic}.feature-list div{display:flex;flex-direction:column;gap:4px}.feature-list small{color:var(--muted)}

.privacy { padding:110px 0; display:grid; grid-template-columns:170px 1fr 1fr; align-items:center; gap:42px; }
.privacy-icon { width:132px;height:132px;border-radius:50%;background:#e0e9e0;display:grid;place-items:center;position:relative}.privacy-icon:before{content:"";position:absolute;inset:-9px;border:1px solid #c8d6ca;border-radius:50%}.privacy-icon span{font-size:48px;color:var(--sage)}
.privacy h2{font-size:52px}.privacy-copy>p{color:var(--muted);line-height:1.7;margin-top:0}.privacy-pills{display:flex;flex-wrap:wrap;gap:8px}.privacy-pills span{font-size:10px;border:1px solid var(--line);border-radius:100px;padding:8px 11px}
.download { background:var(--ink); color:#f8f3ee; overflow:hidden; }.download-inner{min-height:510px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center}.eyebrow.light{color:#e8aaa7}.download h2{font-size:62px}.download-copy>p:not(.eyebrow){color:#bcc5c1;margin:24px 0}.store-row{display:flex;gap:12px;margin-top:30px}.store-button{display:flex;align-items:center;gap:11px;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:9px 17px;min-width:158px}.store-button:hover{background:rgba(255,255,255,.08)}.store-button>span{font-size:22px}.store-button div{display:flex;flex-direction:column}.store-button small{font-size:8px}.store-button strong{font-size:15px}.availability{display:block;color:#8fa09a;margin-top:12px}.download-mark{height:100%;position:relative;display:grid;place-items:center}.heart-line{font-size:260px;color:#d38a86;font-family:serif;transform:rotate(-6deg);text-shadow:0 0 70px rgba(211,138,134,.12)}.spark{position:absolute;color:#e9b98a}.s1{top:23%;left:10%;font-size:28px}.s2{right:8%;bottom:26%;font-size:20px}.s3{right:17%;top:18%;font-size:60px}
.site-footer { min-height:190px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:15px; padding-top:35px; padding-bottom:35px; }.site-footer>p{color:var(--muted);text-align:right}.footer-links{display:flex;gap:25px;font-size:12px}.site-footer>small{text-align:right;color:#909995;font-size:10px}
.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease,transform .7s ease; }.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:900px){.menu-toggle{display:block}.site-header nav{position:absolute;top:78px;left:20px;right:20px;background:var(--paper);box-shadow:var(--shadow);padding:24px;flex-direction:column;align-items:stretch;border-radius:18px;opacity:0;pointer-events:none;transform:translateY(-10px);transition:.2s}.site-header nav.open{opacity:1;pointer-events:auto;transform:none}.hero{grid-template-columns:1fr;padding-top:50px}.hero-copy{text-align:center}.hero-copy .eyebrow{justify-content:center}.hero-text{margin-inline:auto}.hero-actions,.trust-line{justify-content:center}.hero-visual{margin-top:20px}.feature-grid{grid-template-columns:1fr;gap:45px}.feature-copy{order:-1}.privacy{grid-template-columns:130px 1fr}.privacy-copy{grid-column:1/3}.download-inner{grid-template-columns:1fr}.download-copy{padding:85px 0 0}.download-mark{min-height:330px}.steps article{padding:20px 28px}}
@media(max-width:620px){.section-shell{width:min(100% - 32px,1180px)}.site-header{height:76px;padding:0 16px}.hero{padding-top:32px;gap:8px}.hero-text{font-size:16px}.hero-actions{flex-direction:column;gap:10px}.trust-line{flex-wrap:wrap;gap:10px 16px}.hero-visual{height:510px;transform:scale(.9);margin-inline:-25px}.note-one{left:-10px}.note-two{right:-10px}.intro{padding:85px 0}.steps{grid-template-columns:1fr}.steps article{border-right:0;border-bottom:1px solid var(--line);text-align:center}.step-icon{margin-inline:auto}.feature-section{padding:85px 0}.feature-collage{min-height:500px;transform:scale(.88);margin-inline:-28px}.feature-grid{gap:10px}.privacy{padding:80px 0;display:flex;flex-direction:column;align-items:flex-start}.privacy-icon{margin-left:10px}.download h2{font-size:48px}.store-row{flex-direction:column;align-items:flex-start}.heart-line{font-size:210px}.site-footer{grid-template-columns:1fr;text-align:center;padding:55px 0}.site-footer>*{justify-self:center}.site-footer>p,.site-footer>small{text-align:center}.footer-links{flex-wrap:wrap;justify-content:center}}
