:root {
  --ink: #161410;
  --paper: #f6f0e6;
  --paper-2: #ece2d2;
  --gold: #a67c3f;
  --gold-dark: #765526;
  --cream: #fffaf2;
  --muted: #6c675f;
  --line: rgba(22,20,16,.15);
  --white: #ffffff;
  --shadow: 0 18px 50px rgba(22,20,16,.10);
  --radius: 2px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: Georgia, 'Times New Roman', serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(22,20,16,.96);
  color: var(--white);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
}
.nav-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.brand {
  text-decoration: none;
  letter-spacing: .16em;
  font-size: .97rem;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}
.brand span { color: #d6b16d; }
.nav-links {
  display: flex;
  align-items: center;
  gap: 22px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .88rem;
}
.nav-links a {
  text-decoration: none;
  opacity: .9;
}
.nav-links a:hover,
.nav-links a[aria-current='page'] { color: #e2be7c; opacity: 1; }
.menu-button {
  display: none;
  background: transparent;
  border: 1px solid rgba(255,255,255,.3);
  color: #fff;
  padding: 8px 10px;
  font: inherit;
}

.hero {
  background:
    radial-gradient(circle at 85% 15%, rgba(166,124,63,.24), transparent 28%),
    linear-gradient(135deg, #191713 0%, #2a251d 58%, #181612 100%);
  color: var(--white);
  padding: 108px 24px 94px;
  border-bottom: 6px solid var(--gold);
}
.hero-inner { max-width: 1120px; margin: 0 auto; }
.eyebrow {
  font-family: Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .76rem;
  color: #d8b674;
  margin: 0 0 16px;
  font-weight: 700;
}
.hero h1,
.page-hero h1 {
  font-weight: 500;
  letter-spacing: -.025em;
  line-height: 1.03;
  margin: 0;
}
.hero h1 { font-size: clamp(3rem, 8vw, 6.4rem); max-width: 900px; }
.hero p.lead {
  max-width: 690px;
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  color: #e9e2d7;
  margin: 28px 0 32px;
}
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.button {
  display: inline-block;
  padding: 13px 18px;
  border: 1px solid var(--gold);
  background: var(--gold);
  color: #17130d;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.button:hover { background: #b98c4a; }
.button.ghost { background: transparent; color: #f8f2e8; border-color: rgba(255,255,255,.5); }
.button.dark { background: var(--ink); color: #fff; border-color: var(--ink); }

.section { padding: 82px 24px; }
.section.alt { background: var(--paper); }
.container { max-width: 1120px; margin: 0 auto; }
.narrow { max-width: 780px; }
.section-head { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 34px; }
.section h2 { font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.1; font-weight: 500; margin: 0; letter-spacing: -.02em; }
.section-intro { max-width: 640px; color: var(--muted); margin: 12px 0 0; }

.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.card {
  background: #fff;
  border: 1px solid var(--line);
  min-height: 260px;
  padding: 28px;
  position: relative;
}
.card .number {
  font-family: Arial, Helvetica, sans-serif;
  font-size: .72rem;
  color: var(--gold-dark);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.card h3 { font-size: 1.55rem; line-height: 1.15; margin: 18px 0 12px; font-weight: 500; }
.card p { color: var(--muted); margin: 0 0 24px; }
.card a.more {
  font-family: Arial, Helvetica, sans-serif;
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  position: absolute;
  bottom: 26px;
}

.promise {
  border-left: 3px solid var(--gold);
  padding: 4px 0 4px 24px;
  font-size: 1.28rem;
  max-width: 830px;
}
.mini-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-top: 34px; }
.mini-grid h3 { margin-bottom: 8px; font-size: 1.2rem; }
.mini-grid p { color: var(--muted); margin-top: 0; }

.newsletter {
  background: var(--ink);
  color: #fff;
  padding: 62px 24px;
}
.newsletter-inner { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px; align-items: center; }
.newsletter h2 { font-size: clamp(2rem, 4vw, 3.1rem); font-weight: 500; margin: 0 0 12px; }
.newsletter p { color: #d8d1c7; margin: 0; }
.form-row { display: flex; gap: 10px; }
input[type='email'], input[type='text'], textarea, select {
  width: 100%;
  border: 1px solid rgba(255,255,255,.35);
  background: #fff;
  color: var(--ink);
  padding: 13px 14px;
  font: 1rem Arial, Helvetica, sans-serif;
}
textarea { min-height: 130px; resize: vertical; }
.form-note { font: .74rem Arial, Helvetica, sans-serif; color: #aea79d; margin-top: 8px; }
label { display: block; font: .78rem Arial, Helvetica, sans-serif; text-transform: uppercase; letter-spacing: .06em; margin: 16px 0 6px; }

.page-hero {
  background: var(--paper);
  padding: 80px 24px 58px;
  border-bottom: 1px solid var(--line);
}
.page-hero .inner { max-width: 920px; margin: 0 auto; }
.page-hero h1 { font-size: clamp(2.8rem, 6vw, 5.3rem); }
.page-hero .dek { font-size: 1.2rem; max-width: 760px; color: #555048; margin: 24px 0 0; }
.meta { margin-top: 22px; font: .78rem Arial, Helvetica, sans-serif; color: #777168; text-transform: uppercase; letter-spacing: .07em; }

.article { max-width: 820px; margin: 0 auto; }
.article h2 { margin-top: 56px; font-size: 2.15rem; }
.article h3 { margin-top: 36px; font-size: 1.45rem; }
.article p, .article li { font-size: 1.07rem; }
.article .callout {
  margin: 34px 0;
  padding: 24px 26px;
  background: var(--paper);
  border: 1px solid #dfd2bd;
}
.article .callout strong { color: var(--gold-dark); }
.toc {
  background: #fff;
  border: 1px solid var(--line);
  padding: 24px 28px;
  margin: 36px 0;
}
.toc strong { display: block; margin-bottom: 10px; }
.toc ul { margin: 0; padding-left: 18px; }
.toc a { text-underline-offset: 3px; }

.pick {
  border-top: 1px solid var(--line);
  padding: 30px 0 28px;
}
.pick:first-of-type { border-top: 0; }
.pick-tag {
  font: .72rem Arial, Helvetica, sans-serif;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--gold-dark);
  font-weight: 700;
}
.pick h3 { margin: 7px 0 8px; font-size: 1.55rem; }
.pick p { margin: 0 0 12px; }
.score-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.score-row span { font: .75rem Arial, Helvetica, sans-serif; padding: 6px 9px; background: var(--paper); border: 1px solid #dfd2bd; }

.disclosure-strip {
  background: #efe4d2;
  border-bottom: 1px solid #dfcfb4;
  padding: 12px 24px;
  font: .78rem Arial, Helvetica, sans-serif;
  color: #4f483f;
  text-align: center;
}
.disclosure-strip a { text-underline-offset: 3px; }

.compare-table { width: 100%; border-collapse: collapse; margin: 26px 0; font-size: .97rem; }
.compare-table th, .compare-table td { border-bottom: 1px solid var(--line); padding: 13px 10px; text-align: left; vertical-align: top; }
.compare-table th { font-family: Arial, Helvetica, sans-serif; font-size: .76rem; text-transform: uppercase; letter-spacing: .05em; background: var(--paper); }

.site-footer { background: #0f0e0c; color: #d9d3c9; padding: 48px 24px 28px; }
.footer-inner { max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 34px; }
.site-footer h3 { color: #fff; margin: 0 0 12px; font-size: 1.15rem; }
.site-footer p, .site-footer a { font: .86rem Arial, Helvetica, sans-serif; }
.site-footer a { color: #d9d3c9; display: block; margin: 7px 0; }
.footer-bottom { max-width: 1120px; margin: 30px auto 0; border-top: 1px solid rgba(255,255,255,.12); padding-top: 20px; font: .74rem Arial, Helvetica, sans-serif; color: #918a81; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }

.kicker { font-family: Arial, Helvetica, sans-serif; color: var(--gold-dark); text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; font-weight: 700; }
hr.rule { border: 0; border-top: 1px solid var(--line); margin: 40px 0; }
.small { font-size: .9rem; color: var(--muted); }
.list-clean { padding-left: 20px; }
.form-panel { background: var(--paper); border: 1px solid #dfd2bd; padding: 28px; margin-top: 30px; }
.form-panel input, .form-panel textarea { border-color: #cbbfae; }

@media (max-width: 900px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3, .mini-grid, .newsletter-inner, .footer-inner { grid-template-columns: 1fr; }
  .nav-links { display: none; position: absolute; top: 64px; left: 0; right: 0; background: #161410; padding: 18px 24px 24px; flex-direction: column; align-items: flex-start; }
  .nav-links.open { display: flex; }
  .menu-button { display: inline-block; }
  .hero { padding-top: 82px; }
}
@media (max-width: 560px) {
  .grid-4 { grid-template-columns: 1fr; }
  .section { padding: 62px 20px; }
  .page-hero { padding: 60px 20px 44px; }
  .hero { padding-left: 20px; padding-right: 20px; }
  .form-row { flex-direction: column; }
  .card { min-height: 230px; }
}


.hero {
  background-size: cover;
  background-position: center;
}
.hero-home {
  position: relative;
}
.hero-home::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(17,14,11,.18) 0%, rgba(17,14,11,0) 45%);
}
.hero-home .hero-inner,
.page-hero .inner { position: relative; z-index: 1; }
.image-cards {
  align-items: stretch;
}
.card.card-image {
  padding: 0;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.card-media {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--paper);
}
.card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.card-body {
  padding: 24px 24px 64px;
  position: relative;
  flex: 1;
}
.card-body .more {
  position: absolute;
  bottom: 24px;
}
.page-hero.has-image {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  align-items: center;
  gap: 34px;
  max-width: 1160px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}
.page-hero.has-image .inner {
  max-width: none;
  margin: 0;
}
.page-hero-media {
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.page-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 1000px) {
  .page-hero.has-image {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .page-hero-media {
    max-width: 820px;
    width: 100%;
    margin: 0 auto;
  }
}
@media (max-width: 560px) {
  .card-body {
    padding: 20px 20px 58px;
  }
  .page-hero.has-image {
    padding-left: 20px;
    padding-right: 20px;
  }
}


/* Heir & Estate brand identity */
.brand-logo {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
.brand-logo img {
  display: block;
  width: 170px;
  height: auto;
}
.site-footer .brand-logo img {
  width: 190px;
  margin-bottom: 10px;
}
.hp-field {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
@media (max-width: 560px) {
  .brand-logo img { width: 145px; }
}


/* Commerce conversion layer */
.hero-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:26px 0 8px; }
.button-ghost { background:transparent; color:var(--ink); border:1px solid var(--ink); }
.button-ghost:hover { background:var(--ink); color:#fff; }
.button-ghost-light { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.75); }
.button-ghost-light:hover { background:#fff; color:#111; }
.button-small { padding:10px 14px; font-size:.72rem; white-space:nowrap; }
.button-wide { width:100%; justify-content:center; }
.text-link, .text-cta { font-family:Arial,Helvetica,sans-serif; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.current-offer { border-left:4px solid var(--gold); }
.sale-note { color:#8a4f19; font:700 .78rem Arial,Helvetica,sans-serif; }
.merchant-note, .micro-disclosure { color:var(--muted); font: .78rem/1.45 Arial,Helvetica,sans-serif; }
.table-scroll { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:22px 0; }
.commerce-table { min-width:840px; margin:0; }
.commerce-table td:first-child { min-width:175px; }
.commerce-table td:last-child { min-width:150px; }
.money-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:24px 0 42px; }
.money-card { border:1px solid var(--line); background:#fff; padding:24px; box-shadow:0 8px 28px rgba(17,14,11,.05); }
.money-card h3 { margin-top:8px; }
.money-card .button { margin-top:8px; }
.quiz-cta { margin:44px 0; padding:30px; background:#171410; color:#f7f1e7; display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center; }
.quiz-cta h2 { color:#fff; margin:4px 0 8px; }
.quiz-cta p { color:#d7cfc3; margin:0; }
.quiz-cta .kicker { color:#d9b773; }
.install-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:20px 0 42px; }
.install-grid > div { background:var(--paper); padding:22px; border-top:2px solid var(--gold); }
.install-grid h3 { margin-top:0; }
.commerce-capture { margin:46px 0 0; padding:30px; border:1px solid #d9c7a8; background:linear-gradient(135deg,#f7f0e5,#fff); display:grid; grid-template-columns:1fr 1.25fr; gap:28px; align-items:center; }
.commerce-capture h2 { margin:4px 0 8px; }
.commerce-capture p { margin-bottom:0; }
.split-cards { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:20px 0 40px; }
.compact-hero { max-width:900px; margin:0 auto; }
.finder-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr); gap:30px; align-items:start; }
.finder-card, .finder-result { border:1px solid var(--line); background:#fff; box-shadow:var(--shadow); padding:28px; }
.finder-card fieldset { border:0; border-bottom:1px solid var(--line); padding:0 0 24px; margin:0 0 24px; }
.finder-card legend { font:700 1.08rem Arial,Helvetica,sans-serif; margin-bottom:14px; }
.choice { display:flex; gap:12px; align-items:flex-start; border:1px solid var(--line); padding:14px; margin:8px 0; cursor:pointer; background:#fff; }
.choice:hover { border-color:var(--gold-dark); background:#fdfaf5; }
.choice input { margin-top:3px; accent-color:#9a7738; }
.choice span { display:flex; flex-direction:column; gap:3px; }
.choice small { color:var(--muted); }
.choice-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.choice-grid .choice { margin:0; }
.finder-email { margin:20px 0; }
.finder-email label { display:block; margin-bottom:8px; }
.finder-email input { width:100%; }
.finder-result { position:sticky; top:90px; background:#171410; color:#e8dfd2; }
.finder-result h2, .finder-result h3 { color:#fff; }
.finder-result .kicker { color:#d8b76f; }
.finder-result .result-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
.finder-result .result-note { color:#aaa093; font:.78rem Arial,Helvetica,sans-serif; margin-top:16px; }
.deal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.deal-card { border:1px solid var(--line); background:#fff; padding:26px; position:relative; box-shadow:0 10px 30px rgba(0,0,0,.05); }
.deal-card h2 { margin:6px 0 8px; }
.deal-badge { display:inline-block; background:#8b1d14; color:#fff; font:700 .73rem Arial,Helvetica,sans-serif; letter-spacing:.06em; padding:7px 9px; }
.deal-price { font-family:Georgia,'Times New Roman',serif; }
.deal-price span { font-size:1.35rem; font-weight:700; }
.deal-price del { color:var(--muted); margin-left:6px; }
.deal-card .button { margin-top:10px; width:100%; justify-content:center; text-align:center; }
.deals-note { margin-top:16px; }
.conversion-band { background:#171410; color:#e9dfd2; padding:42px 24px; }
.conversion-inner { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; }
.conversion-band h2 { color:#fff; margin:5px 0 8px; }
.conversion-band p { margin:0; color:#cfc6ba; }
.conversion-band .kicker { color:#d7b46d; }
.conversion-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; max-width:460px; justify-content:flex-end; }
.conversion-actions .text-cta { color:#e4c37d; margin-left:6px; }
@media (max-width: 900px) {
  .money-grid, .install-grid, .deal-grid { grid-template-columns:1fr; }
  .commerce-capture, .finder-layout, .conversion-inner { grid-template-columns:1fr; }
  .quiz-cta { grid-template-columns:1fr; }
  .finder-result { position:static; }
  .conversion-actions { justify-content:flex-start; }
}
@media (max-width:560px) {
  .choice-grid, .split-cards { grid-template-columns:1fr; }
  .commerce-capture, .finder-card, .finder-result, .quiz-cta { padding:22px; }
}

/* Backyard offers and the buyer checklist. */
.deal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:650px){.deal-grid{grid-template-columns:1fr}}
.offer-photo{display:block;width:100%;height:280px;object-fit:contain;background:#fff;border-radius:10px;margin-bottom:20px}.product-offer .small{font-size:.78rem;line-height:1.5;margin-top:16px}.buyer-checklist{padding-left:1.5rem}.buyer-checklist li{padding:0 0 1.2rem .6rem}.buyer-checklist h2{font-size:1.35rem}.cost-planner{background:#f4f0e7;padding:28px;border-radius:16px;margin:28px 0}.cost-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cost-grid label{font-weight:600;font-size:.9rem}.cost-grid input{display:block;width:100%;box-sizing:border-box;padding:12px;margin-top:8px;border:1px solid #c6c4bb;border-radius:6px;font:inherit}.budget-total{font-size:1.2rem;font-weight:700}.deal-grid{align-items:start}.deal-card .button{white-space:normal;text-align:center}@media(max-width:650px){.cost-grid{grid-template-columns:1fr}.offer-photo{height:235px}}@media print{.site-header,.site-footer,.disclosure-strip,#print-checklist,.result-actions{display:none}.page-hero,.section{padding:15px 0}.cost-planner{break-inside:avoid}.buyer-checklist li{break-inside:avoid}}

.product-image-link{display:block;border-radius:12px;overflow:hidden}.product-image-link:focus-visible{outline:4px solid #967238;outline-offset:4px}.product-image-link img{display:block;transition:transform .2s ease}.product-image-link:hover img{transform:scale(1.015)}@media(prefers-reduced-motion:reduce){.product-image-link img{transition:none}}

/* HEIR verified product-card layout repair, 2026-09-12. */
.section .product-offer h2{font-size:clamp(1.3rem,1.7vw,1.6rem);line-height:1.25;overflow-wrap:anywhere}.product-offer{scroll-margin-top:128px}
