.button { display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-height: 52px; padding: 0 23px; border: 1px solid transparent; border-radius: 3px; font-size: .88rem; font-weight: 800; letter-spacing: .01em; transition: transform .25s var(--ease), background .25s, color .25s, border-color .25s; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 1.15em; }
.button-gold { color: var(--white); background: var(--gold-600); }
.button-gold:hover { background: var(--gold-700); }
.button-forest { color: var(--white); background: var(--forest-900); }
.button-forest:hover { background: var(--forest-700); }
.button-outline { color: var(--forest-900); border-color: var(--forest-900); background: transparent; }
.button-outline:hover { color: var(--white); background: var(--forest-900); }
.button-outline-light { color: var(--white); border-color: rgba(255,255,255,.65); background: transparent; }
.button-outline-light:hover { color: var(--forest-900); background: var(--white); }
.button-wide { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 16px; color: var(--forest-800); font-weight: 800; border-bottom: 1px solid rgba(3,42,34,.35); padding-bottom: 4px; }
.text-link span { transition: transform .25s var(--ease); }
.text-link:hover span { transform: translateX(5px); }
.text-link-large { font-size: 1.05rem; }
.text-link-light { color: var(--white); border-color: rgba(255,255,255,.5); }
.circle-link, .round-control { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--forest-900); background: transparent; color: var(--forest-900); font-weight: 800; transition: background .2s,color .2s; }
.circle-link:hover, .round-control:hover { color: white; background: var(--forest-900); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 42px; margin-bottom: 44px; }
.section-heading > div:first-child { max-width: 760px; }
.section-heading h2 { margin: 10px 0 0; color: var(--forest-900); font: 700 clamp(2.5rem, 5vw, 4.8rem)/.98 var(--font-display); letter-spacing: -.035em; }
.section-heading p { max-width: 660px; margin: 16px 0 0; color: var(--ink-700); font-size: 1.08rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form-grid .wide { grid-column: 1/-1; }
label { display: grid; gap: 7px; color: var(--forest-900); font-size: .88rem; font-weight: 750; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: 5px; background: var(--white); color: var(--ink-900); padding: 13px 14px; transition: border-color .2s, box-shadow .2s; }
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--gold-500); box-shadow: 0 0 0 3px rgba(204,145,24,.16); }
.check-label { display: flex!important; align-items: flex-start; gap: 12px; font-weight: 600; }
.check-label input, .toggle-label input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--forest-700); }
.surface-form { padding: clamp(28px,5vw,52px); border-radius: var(--radius-md); background: var(--white); color: var(--ink-900); box-shadow: var(--shadow-soft); }
.surface-form .button { margin-top: 24px; }
.form-security { margin: 14px 0 0; color: var(--ink-500); font-size: .78rem; text-align: center; }
.pagination { display: flex; gap: 8px; margin-top: 48px; }
.pagination a { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--line); font-weight: 750; }
.pagination a.is-active { color: white; border-color: var(--forest-900); background: var(--forest-900); }
