/* ============================================================
   HANDLED+ DESIGN SYSTEM — shared tokens & primitives
   Used by Move Setup (move.html). Mirrors index.html brand.
   ============================================================ */
:root{
  --canvas:#FBFAF7;
  --canvas-2:#F4F1E9;
  --canvas-3:#EDE8DC;
  --navy:#0F1A33;
  --navy-deep:#0A1224;
  --navy-soft:#22304F;
  --gold:#A8853F;
  --gold-bright:#C6A86A;
  --gold-line:rgba(168,133,63,.34);
  --gold-soft:rgba(168,133,63,.1);
  --ink:#0F1A33;
  --ink-soft:#535D72;
  --ink-faint:#8B93A4;
  --line:rgba(15,26,51,.12);
  --line-strong:rgba(15,26,51,.2);
  --success:#3E7D5A;
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Instrument Sans',-apple-system,'Segoe UI',sans-serif;
  --pad:clamp(18px,4.5vw,60px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--canvas);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;font-size:16px}
::selection{background:rgba(168,133,63,.22)}
img,svg{display:block}
a{color:inherit}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4{font-weight:400}

/* type primitives */
.serif{font-family:var(--serif)}
.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.display{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.01em}
em.g{font-style:italic;color:var(--gold)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;border:0;font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.01em;border-radius:6px;padding:13px 24px;transition:background .25s,color .25s,border-color .25s,transform .2s;line-height:1}
.btn:disabled{opacity:.42;cursor:not-allowed}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:not(:disabled):hover{background:#96762F;transform:translateY(-1px)}
.btn-navy{background:var(--navy);color:#FBFAF7}
.btn-navy:not(:disabled):hover{background:var(--navy-soft);transform:translateY(-1px)}
.btn-line{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}
.btn-line:not(:disabled):hover{border-color:var(--gold);color:var(--gold)}
.btn-ghost{background:none;border:0;color:var(--ink-soft);font-weight:500;font-size:14.5px;padding:8px 4px}
.btn-ghost:hover{color:var(--gold)}
.btn-full{width:100%}

/* form primitives */
.field{margin-bottom:20px}
.field label{display:block;font-size:12.5px;font-weight:600;letter-spacing:.03em;color:var(--ink-soft);margin-bottom:8px}
.field input,.field select{width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);background:#fff;border:1px solid var(--line-strong);border-radius:8px;padding:14px 15px;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
.field input::placeholder{color:var(--ink-faint)}
.field .err{display:none;font-size:12.5px;color:#B4453A;margin-top:6px}
.field.invalid input{border-color:#B4453A}
.field.invalid .err{display:block}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:520px){.field-row{grid-template-columns:1fr;gap:0}}

/* focus visibility everywhere */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* reveal motion */
.rv{opacity:0;transform:translateY(12px);transition:opacity .6s cubic-bezier(.2,.6,.25,1),transform .6s cubic-bezier(.2,.6,.25,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}
