/* THE INCOME ALCHEMY — Components v2 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;letter-spacing:0.02em;padding:0.75rem 1.625rem;border-radius:var(--radius-md);border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:all var(--ease-base);white-space:nowrap;line-height:1;}
.btn-primary{background:var(--teal);color:#fff;border-color:var(--teal);}
.btn-primary:hover{background:var(--teal-light);border-color:var(--teal-light);color:#fff;transform:translateY(-1px);}
.btn-secondary{background:transparent;color:var(--teal);border-color:var(--teal);}
.btn-secondary:hover{background:var(--teal-pale);color:var(--teal);}
.btn-gold{background:var(--gold);color:#fff;border-color:var(--gold);}
.btn-gold:hover{background:var(--gold-light);border-color:var(--gold-light);color:#fff;transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--charcoal);border-color:var(--border);}
.btn-ghost:hover{border-color:var(--smoke);color:var(--charcoal);}
.btn-lg{font-size:var(--text-base);padding:0.9375rem 2rem;}
.btn-sm{font-size:var(--text-xs);padding:0.5rem 1rem;letter-spacing:0.04em;}

/* Badges */
.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;padding:0.25rem 0.625rem;border-radius:var(--radius-sm);line-height:1;}
.badge-live{background:rgba(30,107,106,0.12);color:var(--teal);}
.badge-live::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--teal);animation:pulse 2s ease infinite;}
.badge-building{background:rgba(201,162,74,0.13);color:#8A6C1E;}
[data-theme="dark"] .badge-building{color:var(--gold-light);}
.badge-planned{background:rgba(107,101,96,0.1);color:var(--smoke);}
.badge-free{background:var(--teal-pale);color:var(--teal);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.4;}}

/* Cards */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color var(--ease-base),transform var(--ease-base);}
.card:hover{border-color:var(--gold-border);}
.card-warm{background:var(--surface-warm);border-color:var(--border-light);}

/* Forms */
.field{margin-bottom:var(--space-5);}
.field-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--charcoal);margin-bottom:var(--space-2);}
.field-input,.field-select,.field-textarea{width:100%;font-family:var(--font-sans);font-size:var(--text-base);color:var(--charcoal);background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:0.75rem 1rem;outline:none;transition:border-color var(--ease-fast),box-shadow var(--ease-fast);}
.field-input:focus,.field-select:focus,.field-textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-pale);}
.field-input::placeholder{color:var(--mist);}
.field-hint{font-size:var(--text-xs);color:var(--smoke);margin-top:var(--space-2);}
.field-textarea{resize:vertical;min-height:120px;line-height:1.6;}
.field-select{appearance:none;}

/* Section tag ornament */
.section-tag{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--space-5);}
.section-tag::before,.section-tag::after{content:'✦';font-size:7px;}

/* Gold divider */
.gold-rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:0.3;}

/* Stacked wordmark logo */
.wordmark{display:flex;flex-direction:column;align-items:flex-start;line-height:1;}
.wordmark-the{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.1em;color:var(--charcoal);letter-spacing:0.02em;display:block;}
.wordmark-main{font-family:var(--font-serif);font-weight:700;font-style:normal;font-size:1em;color:var(--charcoal);letter-spacing:-0.02em;display:block;line-height:0.92;}
.wordmark-tagline{font-family:var(--font-sans);font-size:0.38em;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--teal);margin-top:0.4em;display:block;}
.nav-logo .wordmark{font-size:1.15rem;}
.nav-logo .wordmark-the{font-size:0.95em;}
