:root{
  --bg:#f4ead9;         /* same beige as the logo background */
  --ink:#3b2a22;        /* cocoa brown */
  --muted:#6b5a51;
  --accent:#ffcf6b;     /* warm amber */
}

*{box-sizing:border-box}
html,body{height:100%; margin:0}
body{
  font-family:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  color:var(--ink);
  background:var(--bg);
  display:flex;
  align-items:center;
  justify-content:center;
}

main{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  text-align:center;
  padding:20px;
  position:relative;
}

.logo{
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  top:0;
  left:0;
  z-index:-1;
  opacity:0.15;
}

.title{
  font-size:clamp(32px,5vw,56px);
  margin:20px 0 10px;
}

.teaser{
  color:var(--ink);
  font-size:clamp(16px,2vw,20px);
  margin:0 0 16px;
  max-width:75ch;
  font-style:italic;
}

.lead{
  color:var(--muted);
  font-size:clamp(16px,2vw,20px);
  margin:0 0 20px;
  max-width:70ch;
}

.cta{
  display:flex;
  flex-direction:column;
  gap:12px;
  justify-content:center;
  align-items:center;
}

.signup{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
}

input[type=email]{
  background:#fff;
  color:var(--ink);
  border:1px solid rgba(0,0,0,0.1);
  border-radius:14px;
  padding:14px 16px;
  min-width:min(420px,82vw);
  outline:none;
  font-size:16px;
}

.btn{
  border:none;
  border-radius:14px;
  padding:14px 18px;
  font-weight:600;
  cursor:pointer;
  font-size:16px;
}
.btn.primary{ background:var(--accent); }
.btn.ghost{ background:transparent; border:1px solid rgba(0,0,0,0.2); }

.status{
  min-height:20px;
  font-size:14px;
  color:var(--muted);
}

.meta{
  margin-top:auto;
  color:var(--muted);
  font-size:14px;
}

.links{
  display:flex;
  gap:16px;
  justify-content:center;
  margin-top:8px;
}
.links a{
  color:var(--ink);
  opacity:0.8;
  text-decoration:none;
  border-bottom:1px dashed rgba(0,0,0,0.25);
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
