/* Components: buttons, cards, pills, modal, form fields (reusable, no page context) */
.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-bottom:14px;display:block}
.text-sm{font-size:13px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;font:500 15px/1 var(--sans);border-radius:var(--r-pill);border:1.5px solid transparent;cursor:pointer;text-decoration:none;text-align:center;white-space:nowrap}
.btn--primary{background:var(--forest);border-color:var(--forest);color:var(--white)}
.btn--primary:hover{background:var(--forest-600);border-color:var(--forest-600)}
.btn--primary:active{background:var(--forest-700);border-color:var(--forest-700)}
.btn--secondary{background:var(--white);border-color:var(--white);color:var(--forest)}
.btn--secondary:hover{background:var(--mint);border-color:var(--mint)}
.btn--secondary:active{background:var(--mint-300);border-color:var(--mint-300)}
.btn--light{background:var(--white);border-color:var(--white);color:var(--forest)}
.btn--light:hover{background:var(--mint);border-color:var(--mint)}
.btn--light:active{background:var(--mint-300);border-color:var(--mint-300)}
.btn--sm{min-height:40px;padding:0 20px;font-size:14px}
.card{background:var(--white);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-lg)}
.pill{font-size:12px;font-weight:600;padding:3px 11px;border-radius:var(--r-pill);background:var(--mint);color:var(--forest)}
.text-link{color:var(--forest);font-weight:600}
.modal{position:fixed;inset:0;margin:auto;height:fit-content;max-height:calc(100vh - 32px);overflow:auto;border:0;border-radius:var(--r-lg);padding:36px;max-width:480px;width:calc(100% - 32px);background:var(--stone);color:var(--text);box-shadow:var(--shadow-modal)}
.modal::backdrop{background:radial-gradient(circle at center,rgba(15,31,28,.7) 0%,rgba(5,12,10,.92) 100%);backdrop-filter:blur(2px)}
.modal h2{font-size:30px;margin-bottom:6px}
.modal label{display:block;font-size:13px;font-weight:600;margin:16px 0 6px}
.modal input,.modal select{width:100%;font:400 15px var(--sans);padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--white);color:var(--text)}
.modal__close{float:right;background:none;border:0;font-size:26px;cursor:pointer;color:var(--muted)}
.modal__success{text-align:center;padding:20px 0}
.eyebrow--flush{margin:0}
.btn--block{width:100%}
.hp{position:absolute;left:-9999px}
.modal__submit{margin-top:22px}
.modal__note{margin:10px 0 20px}
.modal__error{color:var(--danger);font-size:14px;margin-top:12px}
