
  :root{
    --cream:#FAF7F2;
    --tan:#F0E8D8;
    --dark:#1A1614;
    --footer-dark:#241F1C;
    --gold-light:#D4AE7A;
    --gold-deep:#B8945A;
    --ink:#2B211D;
    --white:#FFFFFF;
    --rule: rgba(43,33,29,0.12);
  }

  *{box-sizing:border-box;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Jost', sans-serif;
    font-weight:300;
    line-height:1.75;
    font-size:17px;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-family:'Playfair Display', serif;
    font-weight:600;
    line-height:1.2;
    margin:0 0 .5em;
    color:var(--ink);
  }
  em, .accent{ font-style:italic; color:var(--gold-deep); font-family:'Playfair Display', serif; font-weight:500; }
  a{ color:var(--gold-deep); text-decoration:underline; text-decoration-color:rgba(184,148,90,.45); text-underline-offset:3px;}
  a:hover{ color:var(--ink); }
  .wrap{ max-width:760px; margin:0 auto; padding:0 28px; }
  .eyebrow{
    display:inline-block;
    font-family:'Jost',sans-serif;
    letter-spacing:.16em;
    text-transform:uppercase;
    font-size:12px;
    font-weight:500;
    color:var(--gold-deep);
    margin-bottom:14px;
  }
  section{ padding:64px 0; }
  section.tan{ background:var(--tan); }
  section.dark{ background:var(--dark); color:var(--white); }
  section.dark h2, section.dark h3{ color:var(--white); }
  section.dark .eyebrow{ color:var(--gold-light); }
  section.dark em, section.dark .accent{ color:var(--gold-light); }
  section.dark p{ color:#e9e4dd; }
  section.footer-dark{ background:var(--footer-dark); color:#cfc7bf; padding:48px 0; font-size:14px; }
  section.footer-dark a{ color:var(--gold-light); }

  .hero{ padding:88px 0 56px; text-align:left; }
  .hero h1{ font-size:42px; }
  .byline{ font-size:14px; color:#6b5f56; border-top:1px solid var(--rule); padding-top:18px; margin-top:22px; }

  h2{ font-size:29px; margin-top:0; }
  h3{ font-size:20px; font-weight:600; margin-top:1.6em; }
  p{ margin:0 0 1.2em; }
  ul{ padding-left:20px; margin:0 0 1.4em; }
  li{ margin-bottom:.55em; }
  hr{ border:none; border-top:1px solid var(--rule); margin:0; }

  .stat-row{ display:flex; gap:40px; flex-wrap:wrap; margin:36px 0 6px; }
  .stat{ }
  .stat .num{ font-family:'Playfair Display',serif; font-size:32px; color:var(--gold-deep); font-weight:600; }
  .stat .label{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:#6b5f56; }
  section.dark .stat .label{ color:#b9afa5; }

  .btn{
    display:inline-block;
    background:var(--gold-deep);
    color:var(--dark);
    font-family:'Jost',sans-serif;
    font-size:13px;
    letter-spacing:.1em;
    text-transform:uppercase;
    font-weight:500;
    padding:15px 30px;
    border-radius:3px;
    text-decoration:none;
    margin-top:8px;
  }
  .btn:hover{ background:var(--gold-light); color:var(--dark); }

  .pull-quote{
    background:var(--tan);
    border-left:3px solid var(--gold-deep);
    padding:22px 26px;
    font-style:italic;
    font-family:'Playfair Display',serif;
    font-size:17px;
    color:var(--ink);
    margin:26px 0;
  }

  .price-table{ width:100%; border-collapse:collapse; margin:20px 0; font-size:15px; }
  .price-table th{ text-align:left; font-family:'Jost'; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#6b5f56; border-bottom:1px solid var(--rule); padding:8px 10px 8px 0; }
  .price-table td{ padding:12px 10px 12px 0; border-bottom:1px solid var(--rule); }

  .faq-block{ border-bottom:1px solid var(--rule); padding:20px 0; }
  .faq-block:first-of-type{ border-top:1px solid var(--rule); }
  .faq-block h3{ font-family:'Jost',sans-serif; font-weight:500; font-size:17px; color:var(--ink); margin:0 0 8px; }
  .faq-block p{ margin:0; color:#4a4038; font-size:15.5px; }

  .contact-strip{ text-align:center; }
  .contact-strip .btn{ margin:0 8px; }

  @media(max-width:600px){
    .hero h1{ font-size:30px; }
    h2{ font-size:24px; }
    section{ padding:44px 0; }
    .stat-row{ gap:26px; }
  }
