:root {
  color-scheme: light;
  --baused-green: #267a45;
  --baused-deep: #195c35;
  --baused-paper: #fafaf5;
  --baused-ink: #242424;
  --baused-muted: #737373;
  --baused-peach: #ffe5d6;
}

html { min-width: 320px; background: var(--baused-paper); }
body { margin: 0; }
.coming-soon-shell { color: var(--baused-ink); background: radial-gradient(ellipse at 8% 16%, rgb(255 229 214 / 35%), transparent 24%), var(--baused-paper); }
.coming-soon-shell svg { width: 1.1rem; height: 1.1rem; stroke-width: 1.8; }
.font-display { font-family: 'Fraunces', Georgia, serif; }
.brand { color: var(--baused-ink); text-decoration: none; }
.brand-mark { display: flex; width: 27px; height: 27px; align-items: end; gap: 3px; padding: 3px; border-radius: 9px 9px 9px 3px; background: var(--baused-green); transform: rotate(-7deg); }
.brand-mark span { display: block; width: 5px; border-radius: 5px; background: #fff; transform: rotate(7deg); }
.brand-mark span:nth-child(1) { height: 10px; opacity: .72; }
.brand-mark span:nth-child(2) { height: 16px; }
.brand-mark span:nth-child(3) { height: 12px; opacity: .86; }
.brand-period { color: #4caf50; }
.launch-pill { display: inline-flex; align-items: center; gap: .55rem; padding: .58rem .85rem; border: 1px solid #e4e8dd; border-radius: 999px; background: rgb(255 255 255 / 72%); color: #4d5b4b; font-size: .76rem; font-weight: 700; }
.launch-dot { width: 7px; height: 7px; border-radius: 50%; background: #4caf50; box-shadow: 0 0 0 3px rgb(76 175 80 / 14%); }
.intro-column { position: relative; z-index: 1; padding-top: 1rem; animation: arrive .65s both; }
.eyebrow { display: inline-flex; align-items: center; gap: .55rem; color: var(--baused-green); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow-spark { color: #cf805c; font-size: 1.15rem; }
.text-leaf { color: var(--baused-green); }
.intro-copy { color: var(--baused-muted); }
.idea-poll { padding: 1.35rem; border: 1px solid #e8e9e0; border-radius: 14px; background: rgb(255 255 255 / 89%); box-shadow: 0 14px 36px rgb(38 45 32 / 6%); }
.poll-topline { display: flex; align-items: center; gap: .6rem; color: var(--baused-green); font-size: .74rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.poll-mark { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 10px; background: #eaf3e7; }
.poll-mark svg { width: 16px; height: 16px; }
.idea-poll h2 { margin: 1rem 0 0; font-family: 'Fraunces', Georgia, serif; font-size: 1.65rem; font-weight: 500; line-height: 1.2; }
.poll-description { margin: .5rem 0 0; color: var(--baused-muted); font-size: .9rem; line-height: 1.6; }
.poll-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.1rem; }
.vote-button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: .5rem; padding: .7rem 1rem; border: 1px solid #dce2d9; border-radius: 999px; background: #fff; color: #334032; cursor: pointer; font: inherit; font-size: .85rem; font-weight: 700; transition: transform .16s ease, background .16s ease, border-color .16s ease; }
.vote-button:hover { transform: translateY(-2px); border-color: var(--baused-green); background: #f4f8f1; }
.vote-button:focus-visible { outline: 3px solid rgb(76 175 80 / 34%); outline-offset: 2px; }
.vote-button svg { width: 17px; height: 17px; }
.vote-button[aria-pressed="true"] { border-color: var(--baused-green); background: #eaf3e7; color: var(--baused-deep); }
.poll-response { margin: 1rem 0 0; padding-top: .8rem; border-top: 1px solid #e9ece4; color: var(--baused-green); font-size: .88rem; font-weight: 600; line-height: 1.5; }
.poll-response[hidden] { display: none; }
.small-note { display: flex; align-items: center; gap: .5rem; margin: 1.25rem 0 0; color: #686e65; font-size: .8rem; }
.small-note svg { width: 15px; height: 15px; color: #c87e5c; }
.family-image-wrap { position: relative; min-width: 0; height: clamp(360px, 68vh, 650px); margin: 0; overflow: hidden; border-radius: 48% 48% 16px 16px; background: #d8e0d3; box-shadow: 0 25px 60px rgb(44 64 38 / 13%); animation: arrive .75s .08s both; }
.family-image { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.image-note { position: absolute; right: 16px; bottom: 16px; left: 16px; display: flex; width: fit-content; max-width: calc(100% - 32px); align-items: center; gap: .65rem; padding: .55rem .9rem .55rem .55rem; border: 1px solid rgb(255 255 255 / 55%); border-radius: 999px; background: rgb(255 255 255 / 93%); color: #3a4739; font-size: .78rem; font-weight: 600; box-shadow: 0 4px 18px rgb(25 47 28 / 10%); }
.image-note-icon { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #e7f1e3; color: var(--baused-green); }
.image-note-icon svg { width: 16px; height: 16px; }
.image-index { position: absolute; top: 18px; right: 18px; padding: .45rem .65rem; border: 1px solid rgb(255 255 255 / 45%); border-radius: 999px; background: rgb(36 36 36 / 25%); color: white; font-size: .68rem; font-weight: 700; letter-spacing: .08em; }
@keyframes arrive { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1023px) {
  .family-image-wrap { height: min(100vw, 560px); min-height: 340px; border-radius: 40% 40% 14px 14px; }
}
@media (max-width: 639px) {
  .intro-column { padding-top: .5rem; }
  .idea-poll { padding: 1.15rem; }
  .idea-poll h2 { font-size: 1.5rem; }
  .vote-button { flex: 1 1 145px; }
  .family-image-wrap { height: 106vw; min-height: 320px; max-height: 440px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}