/* mckcamera.com holding page — 13th edition waiting list (29 Sept 2026).
   Light, single screen: the teaser image has a white ground, so the page does
   too. Palette borrowed from the public site: Georgia, brass, oxblood, warm ink. */
:root {
  --ink: #1e1b16; --ink-2: #4a453c; --ink-3: #8a8172;
  --brass: #8a6a36; --brass-2: #b8945a; --oxblood: #8a3a38; --rule: #e2dccf;
  --serif: Georgia, "Times New Roman", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
* { box-sizing: border-box; }
html, body { height: 100%; }
body { margin: 0; background: #fff; color: var(--ink); font-family: var(--serif);
       font-size: 17px; line-height: 1.5; display: flex; flex-direction: column; }
a { color: var(--oxblood); }
main { flex: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
       gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center;
       max-width: 74rem; width: 100%; margin: 0 auto;
       padding: clamp(1rem, 3vh, 2.5rem) clamp(1rem, 4vw, 2.5rem); }
.visual img { display: block; width: 100%; height: auto; max-height: 78vh; object-fit: contain; }
.eyebrow { font-family: var(--sans); text-transform: uppercase; letter-spacing: .24em;
           font-size: .72rem; font-weight: 600; color: var(--brass); margin: 0 0 .6rem; }
h1 { font-weight: 400; font-size: clamp(1.7rem, 3.2vw, 2.5rem); line-height: 1.1; margin: 0 0 .3rem; }
.launch { font-style: italic; color: var(--oxblood); font-size: clamp(1.05rem, 1.8vw, 1.25rem); margin: 0 0 1rem; }
p { margin: 0 0 .7rem; color: var(--ink-2); font-size: .98rem; }
form { margin-top: 1.2rem; padding-top: 1.1rem; border-top: 1px solid var(--rule);
       display: grid; grid-template-columns: 1fr 1fr; gap: .7rem 1rem; }
label { font-family: var(--sans); font-size: .78rem; letter-spacing: .04em; color: var(--ink-2); }
label .opt { color: var(--ink-3); }
input[type=text], input[type=email] { display: block; width: 100%; margin-top: .25rem;
       font-family: var(--serif); font-size: 1rem; padding: .55rem .7rem;
       border: 1px solid #cfc6b4; border-radius: 4px; background: #fdfbf7; color: var(--ink); }
input[type=text]:focus, input[type=email]:focus { outline: 2px solid var(--brass-2); outline-offset: 1px; }
.consent { grid-column: 1 / -1; display: flex; gap: .55rem; align-items: flex-start;
           font-family: var(--serif); font-size: .95rem; letter-spacing: 0; color: var(--ink); }
.consent input { margin-top: .3rem; accent-color: var(--brass); }
button { grid-column: 1 / -1; justify-self: start; font-family: var(--sans); font-weight: 600;
         font-size: .95rem; letter-spacing: .04em; color: #fff; background: var(--ink);
         border: 0; border-radius: 4px; padding: .75rem 1.6rem; cursor: pointer; }
button:hover { background: var(--ink-2); }
.small { font-size: .8rem; color: var(--ink-3); margin-top: .9rem; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
footer { font-family: var(--sans); font-size: .75rem; color: var(--ink-3);
         text-align: center; padding: .6rem 1rem 1rem; }
footer a { color: var(--ink-3); }
:focus-visible { outline: 2px solid var(--brass-2); outline-offset: 2px; }
@media (max-width: 760px) {
  main { grid-template-columns: 1fr; }
  .visual img { max-height: 38vh; margin: 0 auto; }
  form { grid-template-columns: 1fr; }
}
