:root{
  --ink:#0E1A2B;
  --sand:#F7F1DE;
  --clay:#D22222;
  --muted:#6B6457;
}
*{box-sizing:border-box}
body{
  margin:0;
  min-height:100vh;
  background:var(--sand);
  color:var(--ink);
  font-family:Georgia,'Times New Roman',serif;
  font-size:17px;
  line-height:1.6;
}
.gate{
  max-width:560px;
  margin:0 auto;
  padding:clamp(32px,7vw,80px) clamp(20px,5vw,40px) 80px;
}
.gate-back{
  display:inline-block;
  margin-bottom:clamp(24px,5vw,48px);
  color:var(--muted);
  font-family:ui-monospace,'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:none;
}
.gate-back:hover{color:var(--clay)}
h1{
  margin:0 0 16px;
  font-size:clamp(28px,6vw,42px);
  line-height:1.1;
  font-weight:700;
}
.gate-lead{margin:0 0 28px;color:var(--muted)}
h2{
  margin:32px 0 12px;
  font-size:clamp(18px,3vw,22px);
  line-height:1.25;
  font-weight:700;
  color:var(--clay);
}
.gate-error{
  margin:0 0 20px;
  padding:12px 16px;
  border-left:3px solid var(--clay);
  background:rgba(210,34,34,.06);
}
.gate-block{
  margin:0 0 20px;
  padding:18px 20px;
  border-left:3px solid var(--clay);
  background:rgba(210,34,34,.06);
  font-size:19px;
}
.gate-form{display:flex;flex-direction:column;gap:6px}
.gate-form label{
  margin-top:14px;
  font-family:ui-monospace,'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.gate-form input[type=text],
.gate-form input[type=email],
.gate-form input[type=tel]{
  padding:13px 14px;
  border:1px solid rgba(13,26,43,.18);
  border-radius:2px;
  background:#fff;
  font:inherit;
  color:inherit;
}
.gate-form input:focus{outline:2px solid var(--clay);outline-offset:1px}
.gate-consent{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:22px;
  font-size:14px;
  color:var(--muted);
  text-transform:none;
  letter-spacing:0;
  font-family:inherit;
}
/* Links inside body copy. Without this the privacy page's mailto links render
   in the browser's default blue, which reads as an error next to the site's
   one red. .gate-back sets its own colour and is excluded. */
.gate a:not(.gate-back){
  color:var(--clay);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  text-decoration-color:rgba(210,34,34,.4);
  transition:text-decoration-color 300ms ease;
}
.gate a:not(.gate-back):hover,
.gate a:not(.gate-back):focus-visible{text-decoration-color:var(--clay)}
.gate-form button{
  margin-top:26px;
  padding:16px 24px;
  border:0;
  border-radius:2px;
  background:var(--clay);
  color:#fff;
  font-family:ui-monospace,'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  cursor:pointer;
}
.gate-form button:hover{background:#b31d1d}
.gate-resend{margin-top:18px}
.gate-link{
  padding:0;
  border:0;
  background:none;
  color:var(--muted);
  font-family:ui-monospace,'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:underline;
  cursor:pointer;
}
#cal-inline{min-height:70vh;margin-top:8px}
