@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&family=DM+Serif+Display:ital@0;1&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#F3EEE4;--color-surface:#FFFDF8;--color-surface-alt:#F8F4EC;--color-border:#E4DCCD;--color-border-strong:#CDBFA8;--color-text-primary:#1F2721;--color-text-secondary:#5D645B;--color-text-tertiary:#8E9287;--color-accent:#2F4B3C;--color-accent-hover:#233A2E;--color-accent-soft:#DFE7D8;--color-accent-text:#2F4B3C;--color-sand:#D8C6A5;--color-tag-bg:#ECE5D7;--color-tag-text:#5A5345;--color-match-great-bg:#DFE7D8;--color-match-great-text:#2F4B3C;--color-match-good-bg:#E8ECDB;--color-match-good-text:#3D4F1A;--color-match-solid-bg:#F0E9DA;--color-match-solid-text:#5A4E1A;--color-match-explore-bg:#EFE9E1;--color-match-explore-text:#6B5F52;--font-display:"DM Serif Display",serif;--font-body:"DM Sans",sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:999px;--shadow-sm:0 1px 2px rgba(31,39,33,0.05),0 1px 3px rgba(31,39,33,0.05);--shadow-md:0 6px 20px rgba(31,39,33,0.09);--border-radius-lg:14px}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text-primary);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1 1;max-width:1200px;margin:0 auto;width:100%;padding:2.5rem 1.5rem 4rem}@media (max-width:768px){.main-content{padding:1.5rem 1rem 80px}}.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:1.25rem;gap:1.25rem}@media (max-width:768px){.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}}@media (max-width:380px){.brand-grid{grid-template-columns:1fr}}.page-header{margin-bottom:2rem}.page-header-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-header-links{display:flex;gap:.5rem;flex-wrap:wrap}.page-header-row .btn-secondary{text-decoration:none}.page-header h1{font-family:var(--font-display);font-size:2.5rem;line-height:1.1;letter-spacing:-.01em;font-weight:400;color:var(--color-text-primary);margin-bottom:.25rem}.page-header p{font-size:15px;color:var(--color-text-secondary)}.search-input{width:100%;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-body);font-size:14px;background:var(--color-surface);color:var(--color-text-primary);outline:none;transition:border-color .15s}.search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.search-input::placeholder{color:var(--color-text-tertiary)}.loading{text-align:center;padding:3rem;color:var(--color-text-secondary);font-size:14px}.empty-state{text-align:center;padding:4rem 2rem}.empty-state h2{font-family:var(--font-display);font-size:1.5rem;font-weight:400;margin-bottom:.5rem}.empty-state p{color:var(--color-text-secondary);font-size:14px}.btn-primary{background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-full);padding:9px 18px;font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary:hover{background:var(--color-accent-hover)}.btn-primary.full-width{width:100%;padding:10px;font-size:14px}.btn-secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);padding:9px 18px;font-family:var(--font-body);font-size:13px;cursor:pointer;transition:all .15s}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.eyebrow{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-text);margin-bottom:.75rem}.error{color:#B91C1C}.error,.success{font-size:13px;margin:8px 0}.success{color:#15803D}