*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root { --green:#2C4A35; --green-light:#3d6b4a; --green-dark:#1a2e20; --gold:#C9A84C; --cream:#F5F0E8; --charcoal:#1C1C1C; --white:#fff; --gray:#666; }
html { scroll-behavior: smooth; }
body { font-family:'Inter',sans-serif; color:var(--charcoal); background:var(--white); line-height:1.7; }
h1,h2,h3,h4 { font-family:'Playfair Display',serif; line-height:1.25; color:var(--green-dark); }
a { color:var(--green); }
nav { position:sticky; top:0; z-index:1000; background:rgba(26,46,32,0.97); backdrop-filter:blur(10px); padding:0 6%; display:flex; align-items:center; justify-content:space-between; height:64px; }
.nav-logo { display:flex; flex-direction:column; text-decoration:none; }
.nav-logo .name { font-family:'Playfair Display',serif; font-size:1rem; font-weight:700; color:var(--white); }
.nav-logo .sub { font-size:0.58rem; color:var(--gold); letter-spacing:2px; text-transform:uppercase; }
.nav-links { display:flex; gap:1.5rem; list-style:none; align-items:center; }
.nav-links a { color:rgba(255,255,255,0.82); text-decoration:none; font-size:0.85rem; font-weight:500; }
.nav-links a:hover { color:var(--gold); }
.nav-cta { background:var(--gold)!important; color:#1a1a1a!important; padding:0.45rem 1.1rem; border-radius:4px; font-weight:700!important; }
.wrap { max-width:820px; margin:0 auto; padding:0 6%; }
.crumbs { font-size:0.78rem; color:var(--gray); padding:1.5rem 0 0; }
.crumbs a { color:var(--gray); text-decoration:none; }
.crumbs a:hover { color:var(--green); }
header.post { padding:1.2rem 0 1.5rem; border-bottom:2px solid var(--cream); margin-bottom:2rem; }
.eyebrow { font-size:0.7rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:0.7rem; }
header.post h1 { font-size:clamp(1.9rem,4vw,2.7rem); margin-bottom:0.8rem; }
.meta { font-size:0.82rem; color:var(--gray); }
article h2 { font-size:1.5rem; margin:2.4rem 0 0.8rem; }
article h3 { font-size:1.15rem; margin:1.6rem 0 0.5rem; color:var(--green); }
article p { margin-bottom:1.1rem; }
article ul, article ol { margin:0 0 1.2rem 1.3rem; }
article li { margin-bottom:0.5rem; }
.lede { font-size:1.12rem; color:#333; }
.callout { background:var(--cream); border-left:4px solid var(--gold); border-radius:6px; padding:1.1rem 1.3rem; margin:1.6rem 0; font-size:0.95rem; }
table.cost { width:100%; border-collapse:collapse; margin:1.4rem 0; font-size:0.92rem; }
table.cost th, table.cost td { text-align:left; padding:0.7rem 0.9rem; border-bottom:1px solid #e7e2d8; vertical-align:top; }
table.cost thead th { background:var(--green-dark); color:var(--white); font-family:'Inter',sans-serif; font-weight:600; letter-spacing:0.3px; }
table.cost tbody tr:nth-child(even) { background:var(--cream); }
.disclaimer { font-size:0.78rem; color:var(--gray); font-style:italic; margin:0.5rem 0 0; }
.faq h2 { margin-top:2.6rem; }
.faq-item { border-bottom:1px solid #eee; padding:1.1rem 0; }
.faq-item h3 { margin:0 0 0.4rem; color:var(--green-dark); font-size:1.08rem; }
.cta-box { background:var(--green); color:var(--white); border-radius:10px; padding:2rem 1.8rem; margin:2.6rem 0 1rem; text-align:center; }
.cta-box h2 { color:var(--white); margin:0 0 0.5rem; }
.cta-box p { color:rgba(255,255,255,0.85); margin-bottom:1.3rem; }
.btn { display:inline-block; background:var(--gold); color:#1a1a1a; text-decoration:none; font-weight:700; padding:0.85rem 1.7rem; border-radius:5px; font-size:0.95rem; }
.btn.alt { background:var(--white); color:var(--green-dark); margin-left:0.5rem; }
.related { background:var(--cream); border-radius:10px; padding:1.6rem 1.6rem; margin:2.2rem 0; }
.related h2 { font-size:1.2rem; margin:0 0 0.8rem; }
.related ul { list-style:none; margin:0; }
.related li { margin-bottom:0.55rem; }
.related a { font-weight:600; text-decoration:none; }
.related a:hover { text-decoration:underline; }
.guide-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; margin:2rem 0; }
.guide-card { display:block; background:var(--cream); border-radius:9px; padding:1.4rem 1.3rem; text-decoration:none; border-top:4px solid var(--green); transition:transform .15s, box-shadow .15s; }
.guide-card:hover { transform:translateY(-4px); box-shadow:0 10px 24px rgba(0,0,0,0.08); }
.guide-card h3 { margin:0 0 0.4rem; font-size:1.08rem; color:var(--green-dark); }
.guide-card p { margin:0; font-size:0.88rem; color:var(--gray); }
footer { background:var(--charcoal); color:rgba(255,255,255,0.6); padding:2.5rem 6%; margin-top:3rem; font-size:0.83rem; text-align:center; }
footer a { color:var(--gold); text-decoration:none; }
@media (max-width:600px){ .nav-links{display:none;} .btn.alt{margin-left:0;margin-top:0.5rem;} .guide-grid{grid-template-columns:1fr;} }

/* --- dropdown nav + mobile nav fix (2026-08-01) --- */
.nav-links li{position:relative}
.nav-links li.has-menu > a::after{content:"\25BE";margin-left:.32em;font-size:.72em;opacity:.75}
.nav-links .submenu{position:absolute;top:100%;left:-.6rem;min-width:238px;background:#fff;
 border-radius:0 0 10px 10px;box-shadow:0 14px 34px rgba(0,0,0,.22);padding:.45rem 0;margin:0;
 list-style:none;display:none;z-index:1200}
.nav-links li.has-menu:hover .submenu,.nav-links li.has-menu:focus-within .submenu{display:block}
.nav-links .submenu li{display:block;margin:0}
.nav-links .submenu a{display:block;padding:.5rem 1rem;color:#1a2e20;font-size:.86rem;
 font-weight:500;white-space:nowrap}
.nav-links .submenu a:hover{background:#f2f5f0;color:#1a2e20}
@media (max-width:600px){
  nav{padding:0 4%!important}
  .nav-links{display:flex!important;gap:.85rem;overflow-x:auto;max-width:64%;
   scrollbar-width:none;-ms-overflow-style:none}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links a{font-size:.76rem;white-space:nowrap}
  .nav-links li.has-menu > a::after{content:""}
  .nav-links .submenu{display:none!important}
  .nav-cta{padding:.38rem .8rem}
}

/* --- mobile sticky action bar (2026-08-01) --- */
.m-actionbar{display:none}
@media (max-width:600px){
  .m-actionbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1400;gap:.5rem;
   padding:.5rem .6rem calc(.5rem + env(safe-area-inset-bottom,0px));
   background:rgba(26,46,32,.975);box-shadow:0 -4px 18px rgba(0,0,0,.3)}
  .m-actionbar a{flex:1;text-align:center;padding:.8rem .4rem;border-radius:8px;font-size:.95rem;
   font-weight:700;text-decoration:none;line-height:1.15;letter-spacing:.2px}
  .m-actionbar .mb-call{background:#ffffff;color:#1a2e20}
  .m-actionbar .mb-quote{background:#c9a961;color:#1a2e20}
  body{padding-bottom:76px}
}

/* --- click-to-load vertical video embed (2026-08-02) --- */
.vid-wrap{max-width:340px;margin:1.6rem 0 2rem}
.vid-play{position:relative;display:block;width:100%;aspect-ratio:9/16;padding:0;border:0;
 border-radius:12px;background-color:#111;background-size:cover;background-position:center;
 cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.22);overflow:hidden}
.vid-play::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);border-radius:12px}
.vid-play:hover::after{background:rgba(0,0,0,.06)}
.vid-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;
 width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.94);color:#1a2e20;
 font-size:1.5rem;line-height:64px;text-align:center;padding-left:5px;
 box-shadow:0 4px 16px rgba(0,0,0,.3)}
.vid-play:hover .vid-btn{background:#fff}
.vid-cap{font-size:.8rem;color:#6b6b6b;margin-top:.6rem;line-height:1.5}
@media (max-width:600px){ .vid-wrap{max-width:100%} }
