:root{
  --green:#2F4A3C; --green-dark:#24382E; --gold:#9C7A3C; --gold-light:#C9A96A;
  --cream:#FAF7F0; --ink:#2B2B2B; --gray:#6B6B6B;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--cream);line-height:1.65}
.wrap{max-width:960px;margin:0 auto;padding:0 24px}
/* ---- Nav ---- */
.nav{position:sticky;top:0;z-index:50;background:var(--green);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-inner{max-width:1080px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px}
.nav-brand{color:#fff;text-decoration:none;font-size:1.15rem;letter-spacing:.06em;font-weight:bold;white-space:nowrap}
.nav-brand span{color:var(--gold-light);font-size:.62rem;letter-spacing:.5em;display:block;line-height:1;margin-top:2px}
.nav-links{display:flex;gap:26px;align-items:center;list-style:none}
.nav-links a{color:#E8E4DA;text-decoration:none;font-size:.86rem;letter-spacing:.09em;padding:6px 0;border-bottom:2px solid transparent}
.nav-links a:hover{color:#fff}
.nav-links a.active{color:var(--gold-light);border-bottom-color:var(--gold)}
.nav-links a.nav-cta{background:var(--gold);color:#fff;padding:9px 20px;border-radius:2px;border-bottom:none}
.nav-links a.nav-cta:hover{background:#886729}
.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer;line-height:1}
@media (max-width:760px){
  .nav-toggle{display:block}
  .nav-links{display:none;position:absolute;top:64px;left:0;right:0;background:var(--green-dark);
    flex-direction:column;gap:0;padding:10px 0 16px}
  .nav-links.open{display:flex}
  .nav-links li{width:100%;text-align:center}
  .nav-links a{display:block;padding:12px 0;border-bottom:none}
  .nav-links a.nav-cta{margin:10px auto 0;display:inline-block;padding:10px 28px}
}
/* ---- Hero ---- */
.hero{background:var(--green);color:#fff;text-align:center;padding:76px 24px 68px}
.hero .brand{font-size:2.6rem;letter-spacing:.06em;font-weight:bold}
.hero .brand-sub{letter-spacing:.55em;font-size:.85rem;color:var(--gold-light);margin-top:6px;text-indent:.55em}
.hero .tagline{max-width:560px;margin:28px auto 0;font-size:1.15rem;font-style:italic;color:#E8E4DA}
.hero .cities{margin-top:14px;font-size:.9rem;color:var(--gold-light);letter-spacing:.12em}
.hero.small{padding:52px 24px 46px}
.hero.small h1{font-size:1.9rem;letter-spacing:.03em}
.hero.small .sub{margin-top:10px;color:#E8E4DA;font-style:italic;max-width:560px;margin-left:auto;margin-right:auto}
.cta{display:inline-block;margin-top:32px;background:var(--gold);color:#fff;text-decoration:none;
     padding:14px 36px;letter-spacing:.08em;font-size:.95rem;border-radius:2px}
.cta:hover{background:#886729}
.ribbon{background:var(--gold);color:#fff;text-align:center;padding:12px 24px;font-size:.95rem}
section{padding:56px 0}
h2.sec{color:var(--green);text-align:center;font-size:1.7rem;margin-bottom:8px}
.rule{width:60px;height:2px;background:var(--gold);margin:14px auto 36px}
/* ---- Tier cards ---- */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.tier{background:#fff;border:1px solid #E5DFD2;border-top:4px solid var(--green);padding:28px 24px;border-radius:2px;display:flex;flex-direction:column}
.tier.featured{border-top-color:var(--gold);box-shadow:0 4px 18px rgba(47,74,60,.12);position:relative}
.tier.featured .flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--gold);color:#fff;font-size:.68rem;letter-spacing:.14em;padding:4px 12px;border-radius:2px;white-space:nowrap}
.tier h3{color:var(--green);font-size:1.15rem;letter-spacing:.03em}
.tier .price{color:var(--gold);font-size:1.5rem;margin:8px 0 2px}
.tier .when{font-size:.85rem;color:var(--gray);font-style:italic;margin-bottom:14px}
.tier ul{list-style:none;flex:1}
.tier li{padding:7px 0 7px 22px;position:relative;font-size:.95rem;border-top:1px solid #F0EBE0}
.tier li:first-child{border-top:none}
.tier li::before{content:"\00B7";color:var(--gold);position:absolute;left:6px;font-weight:bold;font-size:1.3rem;line-height:1.1}
.tier .more{margin-top:16px;text-align:center}
.tier .more a{color:var(--gold);font-size:.88rem;letter-spacing:.06em;text-decoration:none}
.tier .more a:hover{text-decoration:underline}
/* ---- Process ---- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px;text-align:center}
.step .num{font-size:1.5rem;color:var(--gold);letter-spacing:.08em}
.step h4{color:var(--green);margin:6px 0 8px;font-size:1.02rem;letter-spacing:.04em}
.step p{font-size:.9rem;color:var(--gray)}
/* ---- Prose sections ---- */
.prose{max-width:660px;margin:0 auto}
.prose p{margin-bottom:18px;font-size:1.02rem}
.prose .note{font-style:italic;color:var(--gray)}
.white{background:#fff}
/* ---- Service detail blocks ---- */
.svc{background:#fff;border:1px solid #E5DFD2;border-left:4px solid var(--green);border-radius:2px;padding:30px 30px 24px;margin-bottom:26px}
.svc.featured{border-left-color:var(--gold)}
.svc .head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;margin-bottom:4px}
.svc h3{color:var(--green);font-size:1.25rem;letter-spacing:.03em}
.svc .price{color:var(--gold);font-size:1.15rem}
.svc .when{font-size:.9rem;color:var(--gray);font-style:italic;margin-bottom:14px}
.svc p.lead{margin-bottom:14px}
.svc ul{list-style:none;margin-bottom:6px}
.svc li{padding:6px 0 6px 22px;position:relative;font-size:.95rem}
.svc li::before{content:"\00B7";color:var(--gold);position:absolute;left:6px;font-weight:bold;font-size:1.3rem;line-height:1.1}
.svc .fit{background:var(--cream);border-radius:2px;padding:12px 16px;margin-top:12px;font-size:.92rem}
.svc .fit strong{color:var(--green)}
/* ---- FAQ ---- */
.faq{max-width:720px;margin:0 auto}
.faq details{background:#fff;border:1px solid #E5DFD2;border-radius:2px;margin-bottom:12px;padding:0}
.faq summary{cursor:pointer;padding:16px 20px;color:var(--green);font-weight:bold;font-size:1rem;list-style:none;position:relative;padding-right:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1.3rem}
.faq details[open] summary::after{content:"\2212"}
.faq .a{padding:0 20px 18px;color:var(--ink);font-size:.97rem}
.faq .a p{margin-bottom:10px}
/* ---- Contact / form ---- */
.contact{background:var(--green);color:#fff;text-align:center}
.contact h2.sec{color:#fff}
.contact p.intro{max-width:540px;margin:0 auto 24px;color:#E8E4DA}
.contact .alt{margin-top:18px;font-size:.9rem;color:var(--gold-light)}
.contact .alt a{color:var(--gold-light)}
.iform{max-width:620px;margin:0 auto;text-align:left}
.iform .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.iform label{display:block;font-size:.8rem;letter-spacing:.06em;color:var(--gold-light);margin:14px 0 5px;text-transform:uppercase}
.iform input,.iform select,.iform textarea{width:100%;padding:11px 12px;border:1px solid #4E6557;background:#FFFFFF;
  color:var(--ink);font-family:Georgia,serif;font-size:.95rem;border-radius:2px}
.iform input:focus,.iform select:focus,.iform textarea:focus{outline:2px solid var(--gold-light)}
.iform textarea{min-height:110px;resize:vertical}
.iform button.cta{border:none;cursor:pointer;font-family:Georgia,serif;width:100%;margin-top:22px}
@media (max-width:560px){ .iform .row{grid-template-columns:1fr} }
/* ---- CTA band ---- */
.band{background:var(--green);color:#fff;text-align:center;padding:52px 24px}
.band h2{font-size:1.5rem;margin-bottom:6px}
.band p{color:#E8E4DA;max-width:520px;margin:0 auto}
/* ---- Footer ---- */
footer{background:var(--green-dark);color:#B9C4BC;text-align:center;padding:26px 24px;font-size:.85rem}
footer a{color:#B9C4BC}
