/* Gate and placeholder pages (A71). The colour and font placeholders are filled from
   config/visuals/theme.yaml by tools/build_site.py. */
:root{--paper:#F7F3EE;--chart-paper:#FFFFFF;--ink:#000000;--plum:#6A008E;
  --plum-text:#5E017F;--line:#C1BEB9;--stone:#86847F;--warn:#7a2323;
  --serif:"MarshSerif", "Newsreader", Georgia, "Times New Roman", serif;--sans:"Noto Sans", "Segoe UI", system-ui, sans-serif}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--chart-paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}
.brandbar{background:var(--paper);border-bottom:1px solid var(--line)}
.brandbar-inner{max-width:1180px;margin:0 auto;padding:16px 24px}
.brandbar img{height:30px;width:auto;display:block;filter:brightness(0)}
.sheet{max-width:560px;margin:0 auto;padding:40px 24px 64px}
h1{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.2;margin:0 0 12px}
.intro{margin:0 0 28px}
a{color:var(--plum-text)}
.field{margin:0 0 22px;padding:0;border:0}
label,legend{display:block;font-weight:600;margin:0 0 6px;padding:0}
.choice{display:flex;align-items:center;gap:8px;margin:4px 0}
.choice label{font-weight:400;margin:0}
input[type=email],input[type=text],textarea{width:100%;font:inherit;padding:10px 12px;border:1px solid var(--stone);border-radius:2px;background:#fff;color:var(--ink)}
input[type=radio],input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--plum)}
.consent{display:grid;grid-template-columns:18px 1fr;gap:4px 10px;align-items:start}
.consent input{margin-top:3px}
.consent label{font-weight:400;margin:0}
.consent .error{grid-column:2}
textarea{resize:vertical;min-height:84px}
fieldset[aria-invalid=true]{border-left:3px solid var(--warn)!important;padding-left:10px!important}
.hint{margin:0 0 6px;color:var(--stone);font-size:14px}
.error{margin:6px 0 0;color:var(--warn);font-weight:600;font-size:14px}
.form-error{margin:0 0 20px}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--warn)!important;border-width:2px!important}
button{font:inherit;font-weight:600;background:var(--plum);color:#fff;border:0;border-radius:2px;padding:12px 22px;cursor:pointer}
button:disabled{opacity:.6;cursor:progress}
:focus-visible{outline:3px solid var(--plum);outline-offset:2px}
.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}
.marker{display:inline-block;font-size:11px;font-weight:600;color:#7a2323;background:#f4e1e1;border:1px dashed #c98f8f;padding:1px 6px;margin-left:6px;vertical-align:1px;font-style:normal;letter-spacing:0}
@media (max-width:560px){.brandbar img{height:24px} h1{font-size:26px} .sheet{padding-top:28px}}
