/* BASE: colours, type, buttons, forms. Change brand colours here (:root). */
:root{--ink:#14160f;--ivory:#f4f0e6;--acc:#c8f03c;--mut:#6b6a5f;--line:#d9d3c2;--bg:var(--ivory);--fg:var(--ink);box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14160f;--fg:#f4f0e6;--mut:#a5a393;--line:#33362b}}
:root[data-theme=dark]{--bg:#14160f;--fg:#f4f0e6;--mut:#a5a393;--line:#33362b}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,h3{font-family:"Iowan Old Style",Georgia,serif;font-weight:600;line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,11vw,6.5rem);letter-spacing:-.03em}h2{font-size:clamp(1.8rem,5vw,3rem)}h3{font-size:1.3rem}
a{color:inherit;text-decoration-color:var(--acc);text-decoration-thickness:2px;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--acc);outline-offset:2px;background:var(--ink);color:var(--ivory)}
.cta{background:var(--acc);color:var(--ink);padding:11px 20px;border-radius:99px;text-decoration:none;font-weight:600;display:inline-block;border:0;font:inherit;font-weight:600;cursor:pointer;transition:transform .15s}
.cta:hover{transform:translateY(-2px)}.cta.alt{background:transparent;border:1.5px solid currentColor;color:inherit}
.mut{color:var(--mut)}
.row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.tag{font-size:.85rem;color:var(--mut)}
.big{font-family:Georgia,serif;font-size:clamp(1.5rem,3.4vw,2.3rem);line-height:1.25;max-width:26ch}
label{display:block;margin:14px 0 4px;font-weight:600}input,select,textarea{width:100%;font:inherit;padding:11px;border:1.5px solid var(--line);background:transparent;color:inherit;border-radius:4px}
.err{color:#b3261e;min-height:1.2em;font-size:.9rem}
/* Spam trap: a field real people never see or fill in. */
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;overflow:hidden}
