:root{--olive: #8da870;--olive-lt: #b5cc9e;--olive-pale: #eff4e9;--deep: #3d5233;--terra: #c17b4e;--terra-pale: #fdf3eb;--coral: #e8956d;--cream: #faf6f0;--sand: #ede4d5;--text: #2c2c2c;--white: #ffffff;--radius: 18px;--radius-sm: 12px;--shadow-soft: 0 8px 24px rgba(61, 82, 51, .08);--shadow-card: 0 4px 16px rgba(61, 82, 51, .06);--font-title: "Playfair Display", Georgia, serif;--font-body: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{background:var(--cream);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-title);color:var(--deep);margin:0}a{color:var(--terra);text-decoration:none}button{font-family:var(--font-body);cursor:pointer}input,textarea,select{font-family:var(--font-body);font-size:16px;color:var(--text)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--terra);color:var(--white);border:none;border-radius:var(--radius);padding:14px 20px;font-size:16px;font-weight:700;transition:background .2s ease,transform .1s ease}.btn-primary:hover:not(:disabled){background:var(--coral)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;border:1px solid var(--sand);border-radius:var(--radius);padding:12px 18px;color:var(--deep);font-weight:700}.btn-ghost:hover{background:var(--olive-pale)}.card{background:var(--white);border:1px solid var(--sand);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-weight:700;color:var(--deep);font-size:14px}.field input,.field textarea{border:1px solid var(--sand);border-radius:var(--radius-sm);padding:12px 14px;background:var(--white);outline:none;transition:border-color .2s ease,box-shadow .2s ease}.field input:focus,.field textarea:focus{border-color:var(--olive);box-shadow:0 0 0 3px var(--olive-pale)}.field textarea{resize:vertical;min-height:88px}.error{color:#b23b3b;font-size:14px}.muted{color:var(--olive)}.page{max-width:640px;margin:0 auto;padding:24px 20px 96px}
