*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #faf8f5;--surface: #ffffff;--border: #e8e2d9;--border-light: #f0ebe4;--text: #1a1a1a;--muted: #8a8278;--gold: #b8963e;--gold-light: #f5eed9;--lab-text: #1e5c84;--lab-bg: #e8f2f9;--natural-text: #2d6b3e;--natural-bg: #e8f5ee;--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--radius: 16px;--radius-sm: 8px}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}.layout{max-width:860px;margin:0 auto;padding:0 1.25rem 5rem}.site-header{text-align:center;padding:4rem 0 3rem;border-bottom:1px solid var(--border);margin-bottom:3rem}.site-title{font-family:var(--font-serif);font-size:2.6rem;font-weight:400;letter-spacing:.5px;color:var(--text)}.site-title em{font-style:italic;color:var(--gold)}.site-subtitle{margin-top:.75rem;color:var(--muted);font-size:1rem;font-weight:400;letter-spacing:.01em}.form{display:flex;flex-direction:column;align-items:center;gap:2rem;margin-bottom:3.5rem}.form-hero{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.form-hero-label{font-family:var(--font-serif);font-size:1rem;font-weight:400;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.form-hero-input-wrap{position:relative;width:100%;max-width:380px}.form-hero-prefix{position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);font-family:var(--font-serif);font-size:2rem;color:var(--gold);pointer-events:none;line-height:1}.form-hero-input{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-serif);font-size:2.4rem;font-weight:400;padding:.75rem 1.25rem .75rem 2.75rem;text-align:center;outline:none;transition:border-color .2s,box-shadow .2s;-moz-appearance:textfield}.form-hero-input::-webkit-outer-spin-button,.form-hero-input::-webkit-inner-spin-button{-webkit-appearance:none}.form-hero-input::placeholder{color:var(--border)}.form-hero-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-light)}.form-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;width:100%}.form-field{display:flex;flex-direction:column;gap:.35rem;min-width:160px}.form-label{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.form-select{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-sans);font-size:.9rem;padding:.55rem .85rem;outline:none;cursor:pointer;transition:border-color .2s}.form-select:focus{border-color:var(--gold)}.btn-primary{background:var(--text);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.65rem 2.5rem;transition:background .2s,transform .1s;align-self:flex-end}.btn-primary:hover:not(:disabled){background:var(--gold)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.state-message{text-align:center;color:var(--muted);font-style:italic;padding:3rem 0}.state-error{text-align:center;color:#c0392b;padding:3rem 0}.results-title{font-family:var(--font-serif);font-size:1.4rem;font-weight:400;color:var(--text);margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.cards-grid{display:flex;flex-direction:column;gap:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s}.card:hover{box-shadow:0 4px 24px #00000012}.card--featured{border-color:var(--gold);border-width:1.5px}.card-inner{display:grid;grid-template-columns:auto 1fr auto;gap:0}@media (max-width: 560px){.card-inner{grid-template-columns:1fr}}.card-stone-col{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-right:1px solid var(--border-light);min-width:190px}@media (max-width: 560px){.card-stone-col{border-right:none;border-bottom:1px solid var(--border-light)}}.shape-icon{flex-shrink:0;color:var(--gold)}.stone-info{display:flex;flex-direction:column;gap:.2rem}.stone-weight{font-family:var(--font-serif);font-size:1.35rem;font-weight:400;line-height:1.2;color:var(--text)}.stone-shape{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stone-grades{font-size:.82rem;color:var(--text);font-weight:500;margin-top:.1rem}.card-setting-col{display:flex;flex-direction:column;justify-content:center;gap:.3rem;padding:1.5rem}.setting-metal{font-size:.95rem;font-weight:600;color:var(--text)}.setting-style{font-size:.82rem;color:var(--muted)}.setting-breakdown{font-size:.78rem;color:var(--muted);margin-top:.5rem}.card-price-col{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;padding:1.25rem 1.5rem;background:var(--bg);border-left:1px solid var(--border-light);min-width:145px}@media (max-width: 560px){.card-price-col{border-left:none;border-top:1px solid var(--border-light);flex-direction:row;align-items:center;flex-wrap:wrap;gap:.5rem}}.card-total{font-family:var(--font-serif);font-size:1.7rem;font-weight:400;color:var(--text);line-height:1}.badge{font-size:.68rem;font-weight:600;padding:.25rem .65rem;border-radius:999px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.badge-lab{background:var(--lab-bg);color:var(--lab-text)}.badge-natural{background:var(--natural-bg);color:var(--natural-text)}.value-chip{font-size:.7rem;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:.06em}.card--featured .card-price-col{background:var(--gold-light)}
