:root {
  --green: #1f5f4a;
  --green-dark: #164536;
  --green-soft: #e8f1ec;
  --ink: #1c2421;
  --muted: #5d6a65;
  --line: #d9e1dd;
  --bg: #f4f7f5;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--ink); background: var(--bg); font-size: 15px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
a { color: var(--green); }
.topbar { height: 6px; background: var(--green); }

/* Holding page: one centred card */
body.holding { min-height: 100vh; display: flex; flex-direction: column; }
.holding .card { width: 100%; max-width: 460px; margin: auto; padding: 40px 36px 28px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 10px 30px rgba(31,95,74,.07); text-align: center; }
.mark { display: block; margin: 0 auto 14px; }
.holding h1 { font-family: "Source Serif 4", Georgia, serif; font-weight: 600; font-size: 1.9rem; margin: 0; letter-spacing: .005em; }
.tag { margin: 2px 0 22px; color: var(--muted); font-size: .85rem; letter-spacing: .04em; }
.soon { margin: 0 0 22px; color: var(--muted); }

form { text-align: left; }
.two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
input, textarea { display: block; width: 100%; margin-bottom: 10px; font: inherit; color: var(--ink); background: #fff; border: 1px solid #cfd8d4; border-radius: 9px; padding: 10px 12px; }
textarea { resize: vertical; min-height: 96px; }
input:focus, textarea:focus { outline: none; border-color: var(--green); box-shadow: 0 0 0 3px rgba(31,95,74,.15); }
.btn { display: block; width: 100%; border: 0; cursor: pointer; font: inherit; font-weight: 600; padding: 11px 18px; border-radius: 9px; background: var(--green); color: #fff; }
.btn:hover { background: var(--green-dark); }
.btn:disabled { opacity: .6; cursor: default; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-msg { margin: 8px 0 0; font-size: .88rem; min-height: 1.2em; text-align: center; }
.form-msg.err { color: #8a2a22; }
.notice { padding: 11px 14px; border-radius: 9px; margin-bottom: 14px; font-size: .92rem; }
.notice.ok { background: var(--green-soft); color: var(--green-dark); }
.notice.err { background: #fbeceb; color: #8a2a22; }
.contact { margin: 18px 0 0; font-size: .88rem; }
.contact a { text-decoration: none; }

.foot { padding: 22px 16px 26px; text-align: center; color: var(--muted); font-size: .75rem; line-height: 1.7; }
.foot a { color: var(--muted); }

/* Privacy page */
.page { max-width: 720px; margin: 0 auto; padding: 40px 20px 60px; }
.page h1 { font-family: "Source Serif 4", Georgia, serif; font-weight: 600; }
.page h2 { font-size: 1.05rem; margin-top: 26px; }

@media (max-width: 520px) {
  .holding .card { margin: 24px 12px auto; padding: 30px 20px 22px; border-radius: 14px; width: auto; }
  .two { grid-template-columns: 1fr; gap: 0; }
}
