:root{--ink:#3e2928;--muted:#766461;--cream:#fffaf5;--paper:#fff;--coral:#e7634e;--coral-dark:#c94b38;--blush:#f9e4da;--line:#eaded7;--sage:#dce7d7;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--cream)}a{color:inherit;text-decoration:none}button,input{font:inherit}.site-header{height:82px;max-width:1240px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-family:"Libre Caslon Text",serif;font-weight:700;font-size:20px}.brand-mark{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--coral);color:#fff;font-family:sans-serif;box-shadow:0 8px 22px #e7634e40}.site-header nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}.text-button{border:0;background:none;color:inherit;cursor:pointer}.small-cta,.primary,.secondary{border-radius:999px;min-height:46px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;cursor:pointer}.small-cta{min-height:38px;background:var(--ink);color:white}.primary{border:1px solid var(--coral);background:var(--coral);color:white;box-shadow:0 10px 25px #e7634e30}.primary:hover{background:var(--coral-dark)}.secondary{border:1px solid #d9c8bf;background:white;color:var(--ink)}.hero{max-width:1240px;min-height:690px;margin:0 auto;padding:75px 28px 90px;display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center}.eyebrow{color:var(--coral-dark);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.hero h1,.code-section h2,.section-heading h2,.event-preview h2,dialog h2{font-family:"Libre Caslon Text",serif;letter-spacing:-.045em}.hero h1{font-size:clamp(58px,7vw,96px);line-height:.94;margin:18px 0 24px}.hero-copy>p{max-width:590px;color:var(--muted);font-size:18px;line-height:1.7}.hero-actions{display:flex;gap:12px;margin-top:32px}.trust-row{display:flex;gap:24px;flex-wrap:wrap;margin-top:34px;color:#8b7975;font-size:11px}.trust-row span:before{content:"✓";color:#688060;margin-right:6px}.hero-gallery{height:530px;position:relative;background:radial-gradient(circle at 50% 45%,#f8d9cc,transparent 58%)}.memory-card{position:absolute;width:285px;padding:10px 10px 17px;background:#fff;border-radius:20px;box-shadow:0 30px 70px #63382d24}.memory-card p{font-family:"Libre Caslon Text",serif;font-size:15px;line-height:1.4;margin:15px 8px 7px}.memory-card span{color:#9a8884;font-size:9px;margin:0 8px}.card-one{left:3%;top:90px;transform:rotate(-7deg)}.card-two{right:0;top:10px;transform:rotate(8deg)}.memory-photo{height:265px;border-radius:13px;overflow:hidden;position:relative}.baby{background:linear-gradient(155deg,#c9ad9a,#efd4c2 54%,#bf806b)}.baby:before{content:"";position:absolute;inset:55% -20% -20%;background:#f8eee7;border-radius:50%;transform:rotate(-8deg)}.baby:after{content:"";position:absolute;width:90px;height:55px;left:50%;top:58%;transform:translate(-50%,-50%) rotate(-8deg);border-radius:50%;background:#c98670;box-shadow:inset 0 0 0 15px #eee3da}.party{background:linear-gradient(145deg,#bdd3cc,#f5d8c4)}.party:before{content:"♡";position:absolute;inset:45px 0 auto;text-align:center;font-size:78px;color:white;text-shadow:0 8px 25px #9b665755}.party:after{content:"";position:absolute;left:12%;right:12%;bottom:20%;height:22%;border-radius:50%;background:#e98c72;box-shadow:0 25px 0 #b98768}.floating-heart{position:absolute;right:32%;bottom:35px;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--coral);font-size:24px;box-shadow:0 18px 40px #63382d24}.code-section{background:var(--ink);color:white;padding:70px max(28px,calc((100% - 1184px)/2));display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.code-section .eyebrow{color:#f19b87}.code-section h2{font-size:42px;margin:12px 0}.code-section>div p{color:#d9c9c5;line-height:1.6}.code-form label{display:block;color:#d9c9c5;font-size:11px;font-weight:600;margin-bottom:9px}.code-form>div{display:flex;gap:8px}.code-form input{height:54px;flex:1;min-width:0;border:1px solid #725d58;border-radius:14px;background:#513a38;color:white;padding:0 17px;text-transform:uppercase;letter-spacing:.1em;outline:none}.form-message{min-height:18px;margin:8px 0 0;color:#d0614e;font-size:11px}.how{max-width:1184px;margin:auto;padding:115px 28px}.section-heading{max-width:690px;text-align:center;margin:0 auto 55px}.section-heading h2{font-size:50px;line-height:1.08;margin:14px 0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps article{position:relative;min-height:300px;background:white;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:0 14px 40px #54362d09}.steps article>span{position:absolute;right:24px;top:20px;color:#d9c8c1;font-family:"Libre Caslon Text",serif;font-size:32px}.step-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--blush);color:var(--coral-dark);font-size:23px}.steps article:nth-child(2) .step-icon{background:var(--sage);color:#607359}.steps article:nth-child(3) .step-icon{background:#eee3f1;color:#745d7a}.steps h3{font-family:"Libre Caslon Text",serif;font-size:23px;margin:32px 0 12px}.steps p{color:var(--muted);line-height:1.7;font-size:14px}.event-preview{max-width:1184px;margin:0 auto 115px;padding:70px;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;border-radius:32px;background:linear-gradient(135deg,#f5dfd4,#fbeee6)}.preview-copy h2{font-size:44px;line-height:1.1;margin:16px 0}.preview-copy p{color:var(--muted);line-height:1.7;margin-bottom:27px}.preview-window{background:white;border-radius:20px;padding:12px;box-shadow:0 25px 60px #63382d1f;transform:rotate(2deg)}.preview-top{height:42px;display:flex;justify-content:space-between;align-items:center;padding:0 10px;font-family:"Libre Caslon Text",serif;font-size:12px}.preview-top small{font-family:"DM Sans",sans-serif;color:#95827e}.preview-cover{height:250px;border-radius:13px;background:linear-gradient(145deg,#d8b7a5,#f3d5c4 55%,#c88c74);position:relative}.preview-cover:after{content:"♡";position:absolute;inset:72px 0 auto;text-align:center;font-size:70px;color:#fff9}.preview-caption{padding:20px 10px 14px;display:flex;flex-direction:column;gap:7px}.preview-caption span{color:var(--coral-dark);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.preview-caption strong{font-family:"Libre Caslon Text",serif;font-size:19px}footer{max-width:1184px;margin:auto;padding:35px 28px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#806d69;font-size:12px}dialog{width:min(460px,calc(100% - 24px));border:0;border-radius:24px;padding:35px;box-shadow:0 30px 90px #35201c55;color:var(--ink)}dialog::backdrop{background:#3e2928a8;backdrop-filter:blur(5px)}dialog h2{font-size:36px;margin:12px 0 8px}dialog>p{color:var(--muted);font-size:13px}.dialog-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:#f6eee9;font-size:22px;color:var(--ink)}#loginForm label{display:flex;flex-direction:column;gap:7px;margin-top:15px;font-size:11px;font-weight:700}#loginForm input{height:48px;border:1px solid var(--line);border-radius:11px;padding:0 12px;outline:none}.full{width:100%;margin-top:20px}.demo-link{display:block;text-align:center;color:var(--coral-dark);font-size:12px;font-weight:700;margin-top:15px}
@media(max-width:850px){.site-header nav>a:first-child{display:none}.hero{grid-template-columns:1fr;padding-top:50px}.hero-gallery{height:480px}.code-section,.event-preview{grid-template-columns:1fr;gap:40px}.event-preview{margin-inline:18px;padding:45px}.steps{grid-template-columns:1fr}.steps article{min-height:auto}.how{padding-block:80px}}@media(max-width:560px){.site-header{height:68px;padding:0 16px}.site-header nav{gap:8px}.site-header .text-button{display:none}.small-cta{padding:0 13px}.hero{padding:48px 18px 65px;gap:30px}.hero h1{font-size:55px}.hero-copy>p{font-size:15px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions>*{width:100%}.trust-row{gap:10px 18px}.hero-gallery{height:380px}.memory-card{width:210px}.memory-photo{height:190px}.card-one{left:0;top:85px}.card-two{right:0}.floating-heart{right:24%;bottom:18px}.code-section{padding:55px 18px}.code-section h2,.section-heading h2{font-size:36px}.code-form>div{flex-direction:column}.code-form .primary{width:100%}.how{padding:75px 18px}.event-preview{padding:34px 22px}.preview-copy h2{font-size:36px}.preview-cover{height:190px}footer{align-items:flex-start;flex-direction:column;gap:15px;padding:30px 18px}}

@media(max-width:560px){
  .site-header{height:auto;min-height:108px;padding:12px 16px 10px;align-items:center;flex-wrap:wrap;gap:8px}
  .site-header .brand{width:100%;justify-content:center}
  .site-header nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;align-items:center}
  .site-header nav>a:first-child,.site-header .text-button{display:flex}
  .site-header nav>a,.site-header nav .text-button{min-height:38px;padding:6px 7px;align-items:center;justify-content:center;text-align:center;border-radius:999px;font-size:11px;white-space:nowrap}
  .site-header nav>a:not(.small-cta),.site-header nav .text-button{border:1px solid var(--line);background:white}
  .small-cta{padding:0 9px}
  .hero{padding-top:38px}
}
footer{gap:22px}footer small{color:#a3918d;font-size:9px;white-space:nowrap}
.memory-photo{display:block;width:100%;object-fit:cover;object-position:center}.card-one .memory-photo{object-position:55% center}.preview-cover{display:block;width:100%;object-fit:cover;object-position:center 42%}.preview-cover:after{content:none}footer small a{text-decoration:underline;text-underline-offset:2px}
html,body{overflow-x:hidden}
#signupForm label{display:flex;flex-direction:column;gap:7px;margin-top:15px;font-size:11px;font-weight:700}#signupForm input{height:48px;border:1px solid var(--line);border-radius:11px;padding:0 12px;outline:none}.account-switch{display:block;margin:16px auto 0;color:var(--coral-dark);font-size:12px;font-weight:700}
