@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');
:root{--paper:#fbf8f2;--ink:#29241f;--accent:#b85c55;--soft:#eee7dc;--muted:#756e65}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}main{max-width:860px;margin:auto}.hero{min-height:92vh;padding:40px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.flower{font-size:48px;color:var(--accent)}p:first-of-type,.card>p:first-child,.wall>p:first-child{letter-spacing:.2em;font-size:12px;font-weight:700;color:var(--muted)}h1,h2{font-family:'Playfair Display',serif;font-weight:500;line-height:1.1}h1{font-size:clamp(44px,8vw,76px);margin:18px 0}h1 em{color:var(--accent)}h2{font-size:clamp(34px,6vw,52px);margin:10px 0}.intro{max-width:600px;color:var(--muted);font-size:18px;line-height:1.7}.hero a,button{margin-top:20px;border:0;border-radius:999px;background:var(--ink);color:#fff;padding:15px 23px;font:700 14px 'DM Sans';text-decoration:none;cursor:pointer}.card{margin:0 18px;padding:60px 28px;background:var(--soft);border-radius:28px}.card>p{margin:0}.card p:nth-of-type(2),.wall p{color:var(--muted);line-height:1.6}.card textarea{width:100%;min-height:170px;margin-top:22px;border:1px solid #d8d0c5;border-radius:16px;padding:17px;background:var(--paper);font:16px/1.6 'DM Sans';resize:vertical}.card button{display:block}.wall{padding:100px 28px}.messages{display:grid;gap:14px}.messages>div{background:white;border:1px solid var(--soft);border-radius:18px;padding:20px 22px;font:20px/1.45 'Playfair Display',serif}.messages small{display:block;margin-top:12px;color:var(--muted);font:12px 'DM Sans'}#status{margin-top:15px;color:var(--accent);font-size:14px}@media(max-width:560px){.card{margin:0 10px}.wall{padding-left:20px;padding-right:20px}.card button{width:100%}}
.counter {
  margin: 4rem auto 3rem;
  padding: 2rem 1rem;
  display: flex;
  justify-content: center;
  gap: 5rem;
  text-align: center;
}

.counter div {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.counter strong {
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
}

.counter span {
  margin-top: 0.75rem;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.counter div:first-child::before {
  content: "🌷";
  font-size: 1.5rem;
  margin-bottom: 0.75rem;
}

.counter div:last-child::before {
  content: "❤️";
  font-size: 1.5rem;
  margin-bottom: 0.75rem;
}

@media (max-width: 600px) {
  .counter {
    gap: 3rem;
    margin-top: 4rem;
  }

  .counter strong {
    font-size: 2.2rem;
  }
}
