:root {
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:#1f1f1f; background:#f5f4ef;
  --charcoal:#1f1f1f; --gold:#d4af37; --gold-deep:#b98b1f; --warm:#f5f4ef;
  --paper:#fffdf8; --muted:#736f65; --line:#ded9cd;
}
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:linear-gradient(180deg,#fbfaf6 0,#f5f4ef 45%,#f0eee7 100%); color:var(--charcoal); }
a { color:inherit; }
.site-header { display:flex; justify-content:space-between; align-items:center; padding:18px 6vw; border-bottom:1px solid var(--line); background:rgba(245,244,239,.93); backdrop-filter:blur(10px); position:sticky; top:0; z-index:20; }
.brand { display:flex; text-decoration:none; align-items:center; }
.brand-logo { display:block; width:190px; max-height:54px; object-fit:contain; object-position:left center; }
.site-header nav { display:flex; gap:20px; }
.site-header nav a { text-decoration:none; color:#57534b; font-weight:600; font-size:.94rem; }
.site-header nav a:hover,.text-link:hover { color:var(--gold-deep); }
.header-actions { display:flex; align-items:center; gap:24px; }
.currency-picker { display:flex; align-items:center; gap:8px; font-size:.82rem; color:var(--muted); }
.currency-picker select { width:auto; min-width:82px; padding:8px 10px; }
main { width:min(1120px, 88vw); margin:auto; }
.hero { padding:10vh 0 7vh; max-width:840px; }
.eyebrow { letter-spacing:.18em; font-size:.74rem; color:#9b771c; font-weight:800; }
h1 { font-size:clamp(2.8rem,7vw,6.2rem); line-height:.94; letter-spacing:-.045em; margin:.2em 0; }
h2 { letter-spacing:-.025em; }
.lead { color:#625e55; font-size:1.2rem; line-height:1.7; max-width:720px; }
.price-card,.tool-card,.result { border:1px solid var(--line); background:rgba(255,253,248,.78); border-radius:20px; padding:24px; margin:28px 0; box-shadow:0 14px 40px rgba(55,45,18,.045); }
.price-card { display:flex; flex-direction:column; gap:8px; }
.price-card strong { font-size:2.35rem; letter-spacing:-.03em; }
.button,button { display:inline-block; background:linear-gradient(135deg,#e2c45d,#c99b26); color:#16130c; border:0; padding:14px 19px; border-radius:11px; text-decoration:none; font-weight:800; cursor:pointer; box-shadow:0 8px 20px rgba(185,139,31,.16); }
.button:hover,button:hover { transform:translateY(-1px); }
.text-link { text-decoration:none; font-weight:700; color:#6e581b; }
.hero-actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.tool-wrap { max-width:760px; padding:8vh 0; }
.tool-wrap h1 { font-size:clamp(2.3rem,5vw,4.6rem); }
.tool-card { display:grid; gap:18px; }
label { display:grid; gap:8px; color:#4d4941; }
input,select { width:100%; padding:13px; background:#fffefa; color:#1f1f1f; border:1px solid #ccc6b9; border-radius:10px; }
input:focus,select:focus { outline:2px solid rgba(212,175,55,.28); border-color:#b7952f; }
.result { display:flex; flex-direction:column; gap:6px; }
.result strong { font-size:2rem; }
.result span, small { color:#7b766b; }
.purity-section { margin:38px 0; }
.section-heading { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:14px; }
.section-heading h2 { margin:.2em 0 0; font-size:clamp(1.8rem,4vw,3rem); }
.section-heading small { max-width:380px; line-height:1.5; text-align:right; }
.purity-table-wrap { overflow-x:auto; border:1px solid var(--line); background:rgba(255,253,248,.75); border-radius:18px; }
.purity-table { width:100%; border-collapse:collapse; min-width:520px; }
.purity-table th,.purity-table td { padding:15px 18px; border-bottom:1px solid #e3ded3; text-align:left; }
.purity-table th { color:#817b6f; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; }
.purity-table th:last-child,.purity-table td:last-child { text-align:right; }
.purity-table tbody tr:last-child td { border-bottom:0; }
.purity-table tbody tr:hover { background:#faf7ee; }
.result-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:12px; }
.result-grid > div { border-top:1px solid var(--line); padding-top:12px; display:grid; gap:5px; }
.result-grid b { font-size:1.05rem; }
.wide-tool { max-width:900px; }
.mixed-items { display:grid; gap:14px; }
.mixed-item { border:1px solid var(--line); border-radius:14px; padding:16px; background:#fffefa; }
.item-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.remove-item { background:transparent; color:#827c70; border:0; padding:4px 0; font-weight:700; box-shadow:none; }
.remove-item:hover { color:#1f1f1f; transform:none; }
.mixed-item-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.tool-actions { display:flex; justify-content:flex-start; }
.button-secondary { background:#f6f2e7; color:#403b31; border:1px solid #d6cfbf; box-shadow:none; }
.offer-field { margin-top:4px; padding-top:18px; border-top:1px solid var(--line); }
.tool-note { color:#777166; line-height:1.65; font-size:.92rem; }
.offer-grid { margin-top:20px; }
.hidden { display:none !important; }
.mode-switch { display:flex; gap:10px; flex-wrap:wrap; }
.mode-button { background:#f6f2e7; color:#544f46; border:1px solid #d6cfbf; box-shadow:none; }
.mode-button.active { background:linear-gradient(135deg,#e2c45d,#c99b26); color:#17130b; border-color:#c89d2c; }
.input-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.content-section { max-width:980px; padding:6vh 0; border-top:1px solid var(--line); }
.content-section > h2 { font-size:clamp(2rem,4vw,3.2rem); margin:.3em 0 .8em; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.feature-grid article { background:rgba(255,253,248,.68); border:1px solid var(--line); border-radius:18px; padding:22px; }
.feature-grid h3 { margin-top:0; }
.feature-grid p,.seo-copy p,.legal-page p { color:#625e55; line-height:1.75; }
.seo-copy { max-width:820px; }
.legal-page { max-width:800px; padding:8vh 0; }
.legal-page h1 { font-size:clamp(2.7rem,6vw,5rem); }
.legal-page h2 { margin-top:2em; }
.legal-updated { font-size:.92rem; color:#8b8579 !important; }
.site-footer { margin-top:70px; border-top:1px solid var(--line); padding:42px 6vw 26px; background:#ece9df; }
.footer-main { display:flex; justify-content:space-between; gap:40px; align-items:flex-start; max-width:1200px; margin:auto; }
.footer-main > div { max-width:500px; }
.footer-logo { width:155px; display:block; margin-bottom:14px; }
.footer-main p { color:#6d685e; line-height:1.6; }
.footer-main nav { display:flex; gap:18px; flex-wrap:wrap; }
.footer-main nav a { text-decoration:none; color:#5f5a51; font-weight:600; }
.footer-bottom { max-width:1200px; margin:34px auto 0; padding-top:20px; border-top:1px solid #d5d0c5; display:flex; justify-content:space-between; gap:18px; color:#7f796d; font-size:.88rem; }
@media (max-width:850px) { .site-header { flex-wrap:wrap; } .header-actions { width:100%; justify-content:space-between; align-items:flex-end; } .feature-grid { grid-template-columns:1fr; } }
@media (max-width:700px) {
  .brand-logo { width:160px; }
  .site-header { align-items:flex-start; gap:14px; position:static; }
  .header-actions { align-items:flex-start; gap:14px; }
  .site-header nav { flex-direction:column; gap:7px; }
  .currency-picker { margin-left:auto; }
  .section-heading { display:block; }
  .section-heading small { display:block; text-align:left; margin-top:8px; }
  .result-grid,.input-grid,.mixed-item-grid { grid-template-columns:1fr; }
  .footer-main,.footer-bottom { flex-direction:column; }
}

/* Robust form label text wrapping */
label .label-text,
.form-label .label-text,
.field-label .label-text {
  display: block;
  white-space: nowrap;
  max-width: 100%;
  overflow: visible;
}

label > input,
label > select,
.form-label > input,
.form-label > select,
.field-label > input,
.field-label > select {
  display: block;
  width: 100%;
  min-width: 0;
}

/* v0.9.1 compact hallmark/purity layout */
.compact-tool-card {
  max-width: 640px;
}

.hallmark-spot {
  max-width: 640px;
}

.hallmark-page .lead,
.tool-wrap > p:not(.eyebrow):not(.tool-note) {
  max-width: 720px;
}

@media (max-width: 640px) {
  .compact-tool-card,
  .hallmark-spot {
    max-width: 100%;
  }
}

.not-found-page {
  min-height: 58vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.not-found-links {
  display: grid;
  gap: 14px;
  justify-items: start;
}
