:root { --bg: #f7f5ef; --ink: #111; --muted: #555; --rule: #d8d4c8; --accent: #7a3e2e; }
* { box-sizing: border-box; }
html { background: var(--bg); }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 18px; line-height: 1.65; }
main, footer, nav { max-width: 680px; margin: 0 auto; padding: 0 16px; }
nav { padding-top: 24px; font-size: 15px; }
nav a { color: var(--ink); margin-right: 18px; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; font-weight: normal; line-height: 1.15; }
h1 { font-size: 40px; margin: 48px 0 16px; }
h2 { font-size: 26px; margin: 56px 0 12px; }
h3 { font-size: 20px; margin: 32px 0 8px; }
a { color: var(--ink); }
p, ul, ol { margin: 0 0 18px; }
code, pre { font-family: Consolas, "Courier New", monospace; font-size: 15px; }
pre { white-space: pre; overflow-x: auto; font-size: 14px; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); padding: 16px 0; margin: 0 0 24px; line-height: 1.5; }
.hero { text-align: center; padding-top: 72px; }
.headline { font-size: 56px; letter-spacing: 0.02em; margin: 0 0 20px; font-weight: bold; }
.idea{font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;text-align:center;margin:-.4rem 0 1rem;color:#666}
.ses{font-family:Georgia,'Times New Roman',serif;font-size:1.6rem;letter-spacing:.04em;text-align:center;margin:0 0 .6rem;color:#111}
.moment { font-size: 19px; color: var(--muted); max-width: 520px; margin: 0 auto 96px; }
.name { font-size: 40px; letter-spacing: 0.12em; margin: 0; }
.byline { margin: 6px 0 0; font-size: 17px; }
.descriptor { font-variant: small-caps; letter-spacing: 0.08em; font-size: 20px; margin: 28px 0 72px; color: var(--muted); }
.lines p { font-size: 20px; }
.cta { text-align: center; margin: 56px 0; font-size: 24px; }
.cta a { color: var(--accent); }
.cta small { display: block; font-size: 15px; color: var(--muted); margin-top: 8px; }
.fine { font-size: 15px; color: var(--muted); }
.links { font-size: 15px; }
.links a { margin-right: 16px; }
footer { font-size: 14px; color: var(--muted); border-top: 1px solid var(--rule); margin-top: 64px; padding-top: 16px; padding-bottom: 48px; }
footer p { margin: 0 0 8px; }
form label { display: block; margin: 0 0 6px; }
form .field { margin: 0 0 22px; }
input[type=text], input[type=email], select, textarea { width: 100%; font: inherit; font-size: 17px; padding: 8px; border: 1px solid #888; background: #fffefb; color: var(--ink); border-radius: 0; }
textarea { min-height: 96px; }
.check label { display: flex; gap: 10px; align-items: flex-start; }
.check input { margin-top: 6px; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
button { font: inherit; font-size: 18px; padding: 8px 22px; background: var(--bg); color: var(--ink); border: 1px solid var(--ink); border-radius: 0; cursor: pointer; }
.status { min-height: 1em; font-size: 18px; }
.hidden { display: none; }
@media (max-width: 520px) {
  body { font-size: 17px; }
  .hero { padding-top: 40px; }
  .headline { font-size: 38px; }
  .name { font-size: 30px; }
  .moment { margin-bottom: 64px; }
  h1 { font-size: 32px; }
}
.contact { font-size: 26px; line-height: 1.5; }
