:root{
  --navy:#161512;
  --navy-2:#1f1d19;
  --gold:#c99a4a;
  --gold-dim:#a9803e;
  --cream:#f6f2ea;
  --card:#ffffff;
  --ink:#1f1d19;
  --ink-soft:#6b6459;
  --line:#e6dfd1;
  --orange:#c1701f;
  --orange-dark:#a35c17;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;scroll-behavior:smooth;}
body{
  background:var(--cream);
  color:var(--ink);
  font-family: Georgia, "Iowan Old Style", "Palatino Linotype", serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}
.sans{ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }

/* ---------- Header ---------- */
header.site{
  background:var(--navy);
  color:#f1ece0;
  padding:14px 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  position:sticky; top:0; z-index:100;
}
.brand{ display:flex; align-items:center; gap:12px; }
.crown{
  width:40px;height:40px;border:1.5px solid var(--gold);border-radius:8px;
  display:flex;align-items:center;justify-content:center;color:var(--gold);
  font-size:18px;flex-shrink:0;
}
.brand-text .k1{ font-size:18px; letter-spacing:2px; font-weight:700; line-height:1.1; font-family: Georgia, serif;}
.brand-text .k2{ font-size:10px; letter-spacing:3px; color:var(--gold); font-family: -apple-system, sans-serif; }
nav.main-nav{ display:flex; align-items:center; gap:26px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; font-size:14px; }
nav.main-nav a{ color:#d8d2c2; transition:color .15s; }
nav.main-nav a:hover, nav.main-nav a.active{ color:#fff; }
.nav-cta{
  background:var(--orange); color:#fff !important; padding:10px 20px; border-radius:8px; font-weight:700;
}
.nav-cta:hover{ background:var(--orange-dark); }
.hamburger{ display:none; color:#fff; font-size:22px; cursor:pointer; background:none; border:none; }
@media (max-width:900px){
  nav.main-nav{ display:none; }
  .hamburger{ display:block; }
  header.site{ padding:14px 18px; }
}
nav.mobile-nav{
  display:none; flex-direction:column; background:var(--navy-2); padding:14px 22px 20px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}
nav.mobile-nav.open{ display:flex; }
nav.mobile-nav a{ color:#d8d2c2; padding:10px 0; border-bottom:1px solid #33302a; font-size:15px; }
nav.mobile-nav a.nav-cta{ text-align:center; margin-top:10px; border-bottom:none; }

/* ---------- Layout helpers ---------- */
.wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
.section{ padding:64px 0; }
.section-tight{ padding:40px 0; }
@media (max-width:700px){ .section{ padding:44px 0; } .wrap{ padding:0 18px; } }
.eyebrow{ font-family: -apple-system, sans-serif; color:var(--orange-dark); font-size:12.5px; letter-spacing:2px; font-weight:700; text-transform:uppercase; margin-bottom:10px;}
h1{ font-size:44px; line-height:1.15; font-weight:600; margin:0 0 16px; }
h2{ font-size:32px; line-height:1.2; font-weight:600; margin:0 0 16px; }
h3{ font-size:22px; font-weight:600; margin:0 0 10px; }
p.lead{ font-family:-apple-system, sans-serif; font-size:17px; color:var(--ink-soft); max-width:640px; }
p{ font-family:-apple-system, sans-serif; color:var(--ink-soft); }
@media (max-width:700px){ h1{ font-size:32px; } h2{ font-size:26px; } }

/* ---------- Buttons ---------- */
.btn{
  font-family:-apple-system, sans-serif; display:inline-flex; align-items:center; gap:8px;
  padding:15px 28px; border-radius:9px; font-weight:700; font-size:15px; cursor:pointer; border:none;
}
.btn-primary{ background:var(--orange); color:#fff; }
.btn-primary:hover{ background:var(--orange-dark); }
.btn-outline{ background:transparent; border:1.5px solid var(--navy); color:var(--navy); }
.btn-outline-light{ background:transparent; border:1.5px solid rgba(255,255,255,.5); color:#fff; }

/* ---------- Hero ---------- */
.hero{
  background:linear-gradient(180deg, rgba(22,21,18,.55), rgba(22,21,18,.72)), var(--navy);
  background-size:cover; background-position:center;
  color:#fff; padding:100px 0 90px; text-align:left;
}
.hero .wrap{ max-width:760px; }
.hero .eyebrow{ color:var(--gold); }
.hero h1{ color:#fff; }
.hero p.lead{ color:#e5ded0; }
.hero .btn-row{ display:flex; gap:14px; margin-top:26px; flex-wrap:wrap; }
@media (max-width:700px){ .hero{ padding:64px 0 56px; } }

/* ---------- Cards / grids ---------- */
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
@media (max-width:900px){ .grid-3{ grid-template-columns:repeat(2,1fr);} .grid-4{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .grid-3, .grid-2, .grid-4{ grid-template-columns:1fr;} }

.photo-card{ border-radius:14px; overflow:hidden; background:#e9e2d2; position:relative; }
.photo-card img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; }
.photo-card .cap{
  position:absolute; left:0; right:0; bottom:0; padding:14px 16px;
  background:linear-gradient(0deg, rgba(20,18,14,.85), rgba(20,18,14,0));
  color:#fff; font-family:-apple-system, sans-serif; font-weight:700; font-size:15px;
}

.feature-card{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:26px 22px; }
.feature-card .ic{ width:44px;height:44px;border-radius:10px;background:#f6f0e3;display:flex;align-items:center;justify-content:center;color:var(--gold-dim); margin-bottom:14px;}
.feature-card h3{ font-size:17px; }
.feature-card p{ font-size:14.5px; margin:0; }

.step-num{
  width:34px;height:34px;border-radius:50%;background:var(--navy);color:var(--gold);
  display:flex;align-items:center;justify-content:center;font-family:-apple-system,sans-serif;font-weight:700;font-size:14px;flex-shrink:0;
}
.step-row{ display:flex; gap:16px; margin-bottom:22px; }
.step-row .txt h3{ font-size:16.5px; margin-bottom:4px;}
.step-row .txt p{ font-size:14px; margin:0;}

/* ---------- Pricing table ---------- */
table.pricing{ width:100%; border-collapse:collapse; font-family:-apple-system, sans-serif; font-size:14.5px; }
table.pricing th{ text-align:left; background:var(--navy); color:#fff; padding:12px 14px; }
table.pricing td{ padding:12px 14px; border-bottom:1px solid var(--line); background:#fff; }
table.pricing tr:nth-child(even) td{ background:#fbf8f2; }

/* ---------- CTA band ---------- */
.cta-band{ background:var(--navy); color:#fff; padding:60px 0; text-align:center; }
.cta-band h2{ color:#fff; }
.cta-band p{ color:#c9c2b2; max-width:560px; margin:0 auto 26px; }

/* ---------- Footer ---------- */
footer.site{ background:var(--navy-2); color:#c9c2b2; padding:52px 0 28px; font-family:-apple-system, sans-serif; font-size:14px;}
footer.site .grid-4{ margin-bottom:36px; }
footer.site h4{ color:#fff; font-size:14px; margin:0 0 14px; letter-spacing:.5px;}
footer.site a{ color:#c9c2b2; display:block; margin-bottom:8px; }
footer.site a:hover{ color:#fff; }
footer .bottom-bar{ border-top:1px solid #33302a; padding-top:20px; font-size:12.5px; color:#8a8373; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}

/* ---------- Misc ---------- */
.badge-row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.badge{ font-family:-apple-system, sans-serif; font-size:12px; background:#f6f0e3; color:var(--gold-dim); padding:6px 12px; border-radius:20px; font-weight:600;}
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
@media (max-width:800px){ .two-col{ grid-template-columns:1fr; gap:30px; } }
.quote-block{ border-left:3px solid var(--gold); padding-left:20px; font-style:italic; color:var(--ink-soft); font-family:-apple-system, sans-serif; }

/* ---------- Sticky estimate CTA ---------- */
.sticky-cta{
  position:fixed;
  bottom:24px;
  right:24px;
  z-index:999;
  background:var(--orange);
  color:#fff !important;
  font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-weight:700;
  font-size:14.5px;
  padding:15px 22px;
  border-radius:50px;
  box-shadow:0 8px 24px rgba(0,0,0,.25);
  display:flex;
  align-items:center;
  gap:8px;
  transition:background .15s, transform .15s;
}
.sticky-cta:hover{ background:var(--orange-dark); transform:translateY(-2px); }
@media (max-width:700px){
  .sticky-cta{
    left:16px; right:16px; bottom:16px;
    justify-content:center;
    font-size:14px;
    padding:14px 18px;
  }
}
