:root{
  --moss:#1F2B23; --moss-2:#2B3A2F; --moss-3:#3A4B3E;
  --paper:#F6F3EC; --paper-2:#ECE7DC; --card:#FFFFFF;
  --ink:#1E1C19; --soft:#5F5A52; --mute:#8D877C; --line:#E2DCD0;
  --brick:#952D1E; --brick-2:#7A2416;
  --ok:#2F6B45; --err:#A3322A;
  --r:10px;
  --serif:'Prata',Georgia,serif; --sans:'Manrope',system-ui,-apple-system,sans-serif; --hand:'Bad Script',cursive;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
dialog{margin:auto}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:15px;line-height:1.55}
a{color:inherit}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--brick);outline-offset:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:8px;border:1px solid transparent;
  background:var(--moss);color:#fff;font-weight:500;font-size:14px;text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,opacity .2s;white-space:nowrap}
.btn:hover{background:var(--moss-3)}
.btn:disabled{opacity:.5;cursor:default}
.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink)}
.btn.ghost:hover{border-color:var(--mute);background:rgba(0,0,0,.02)}
.btn.brick{background:var(--brick)}.btn.brick:hover{background:var(--brick-2)}
.btn.sm{padding:7px 12px;font-size:13px}
.btn.link{background:none;border:none;color:var(--soft);padding:6px 8px;text-decoration:underline;text-underline-offset:3px}
.muted{color:var(--mute)}
.hand{font-family:var(--hand);color:var(--brick)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px;
  font-size:14px;opacity:0;pointer-events:none;transition:.25s;z-index:200;max-width:calc(100vw - 32px)}
.toast.on{opacity:1;transform:translateX(-50%)}
input[type=text],input[type=url],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=password],textarea,select{
  width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:15px;outline:none;transition:border-color .2s}
input:focus,textarea:focus,select:focus{border-color:var(--moss-3)}
textarea{resize:vertical;min-height:72px;line-height:1.5}
label.f{display:block;font-size:13px;font-weight:500;color:var(--soft);margin-bottom:6px}
.hint{font-size:12.5px;color:var(--mute);margin-top:6px;line-height:1.45}
/* brand mark: LUMENA MOMENTS set in spaced capitals */
a.logo,a.mlogo{text-transform:uppercase;letter-spacing:.18em;font-size:16px!important;white-space:nowrap}
