:root{
  --sand:#F3E7D3;
  --sand-deep:#EADBC0;
  --card:#FBF4E6;
  --ink:#26201A;
  --ink-soft:#5B5045;
  --indigo:#1F3A5F;
  --indigo-deep:#152943;
  --marigold:#E29A2E;
  --marigold-soft:#F3C878;
  --fort:#A84A2A;
  --sal:#4F6F52;
  --line: rgba(38,32,26,0.14);
  --line-dark: rgba(243,231,211,0.14);
  --radius: 18px;
  --shadow-sm: 0 2px 8px rgba(38,32,26,0.06);
  --shadow-md: 0 10px 28px -8px rgba(38,32,26,0.16);
  --shadow-lg: 0 30px 60px -20px rgba(21,41,67,0.45);
  --disp-dev:'Baloo 2', sans-serif;
  --disp-lat:'Fraunces', serif;
  --body:'Hind', sans-serif;
  --mono:'IBM Plex Mono', monospace;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{ font-family:var(--body); color:var(--ink); background:var(--sand); font-size:16px; line-height:1.55; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
input, select, textarea{ font-family:inherit; }
::selection{ background:var(--marigold-soft); }

/* ---------- shared brand lockup ---------- */
.brand{ display:flex; align-items:center; gap:10px; }
.brand .wheel{ width:34px; height:34px; flex-shrink:0; }
.brand-text{ font-family:var(--disp-dev); font-weight:800; font-size:19px; letter-spacing:.2px; }
.brand-text small{ display:block; font-family:var(--body); font-weight:500; font-size:10.5px; letter-spacing:1.3px; text-transform:uppercase; margin-top:1px; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--body); font-weight:600; font-size:15px;
  padding:13px 22px; border-radius:100px; border:none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:focus-visible{ outline:3px solid var(--indigo); outline-offset:3px; }
.btn-primary{ background:var(--sal); color:#fff; box-shadow:0 6px 16px rgba(79,111,82,0.28); }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(79,111,82,0.35); }
.btn-ghost{ background:transparent; color:var(--indigo); border:1.5px solid var(--line); }
.btn-ghost:hover{ background:rgba(31,58,95,0.06); }
.btn-block{ width:100%; }

/* ---------- form fields ---------- */
.field{ margin-bottom:18px; text-align:left; }
.field label{ display:block; font-size:13.5px; font-weight:600; color:var(--ink-soft); margin-bottom:7px; }
.field input, .field select{
  width:100%; padding:13px 15px; border-radius:12px; border:1.5px solid var(--line);
  background:#fff; font-size:15.5px; color:var(--ink); transition:border-color .18s ease, box-shadow .18s ease;
}
.field input:focus, .field select:focus{ outline:none; border-color:var(--indigo); box-shadow:0 0 0 3px rgba(31,58,95,0.12); }
.field-hint{ font-size:12.5px; color:var(--ink-soft); margin-top:6px; }

.chip-toggle{ display:flex; gap:10px; flex-wrap:wrap; }
.chip-toggle input{ display:none; }
.chip-toggle label{
  padding:9px 16px; border-radius:100px; border:1.5px solid var(--line); font-size:14px; font-weight:500;
  color:var(--ink-soft); cursor:pointer; transition:all .18s ease; background:#fff;
}
.chip-toggle input:checked + label{ background:var(--indigo); border-color:var(--indigo); color:#fff; }
