:root {
  --ink: #091212;
  --paper: #f6f1e8;
  --cream: #fbf8f2;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { background: var(--paper); color: var(--ink); font-family: Georgia, "Times New Roman", serif; line-height: 1.45; }
body { min-height: 100vh; }
.wrap { max-width: 38rem; margin: 0 auto; padding: 2.5rem 1.25rem 4rem; }
.logo { display: block; width: 7rem; height: auto; margin: 0 auto 2rem; }
h1 { font-size: 2rem; font-weight: 500; letter-spacing: -0.02em; text-align: center; margin-bottom: 0.75rem; }
.lede { text-align: center; font-size: 1.1rem; margin-bottom: 1.75rem; }
section { margin: 2.75rem 0; }
section h2 { font-size: 1.35rem; font-weight: 500; margin-bottom: 0.6rem; }
section p { margin-bottom: 0.7rem; }
form { display: grid; gap: 0.55rem; margin-top: 1rem; }
label { font-size: 0.8rem; letter-spacing: 0.04em; }
input, select, button { font: inherit; padding: 0.65rem 0.7rem; border: 1px solid var(--ink); background: var(--cream); color: var(--ink); }
button { cursor: pointer; background: var(--ink); color: var(--cream); margin-top: 0.25rem; }
button:hover { opacity: 0.88; }
footer { margin-top: 3rem; font-size: 0.85rem; text-align: center; opacity: 0.7; }
.thanks { text-align: center; padding: 6rem 1.25rem; }

.shot { margin: 0; }
.shot img { display: block; width: 100%; height: auto; max-height: 70vh; object-fit: cover; }
section.wrap { max-width: 38rem; margin: 2.75rem auto; padding: 0 1.25rem; }
footer { margin: 3rem auto; font-size: 0.85rem; text-align: center; opacity: 0.7; }
