:root{
  --ink:#17211D;
  --paper:#EEF0E9;
  --pine:#16332B;
  --pine-2:#1F4739;
  --amber:#C1872A;
  --amber-deep:#9C6B1E;
  --sage:#7FA396;
  --sage-deep:#4C7A6D;
  --line:#D6D2C3;
  --white:#FFFFFF;
  --max:1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'IBM Plex Sans', sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{
  font-family:'Fraunces', serif;
  font-weight:500;
  margin:0;
  color:var(--pine);
}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px;}

.topbar{background:var(--pine);color:#D8E3DC;font-size:13px;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:8px 32px;}
.topbar a.phone{color:#EFE3C6;font-weight:600;}
.topbar .hours{opacity:.8;}

header.site{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line);}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;}
.brand-text{font-family:'Fraunces',serif;font-weight:600;font-size:20px;color:var(--pine);}
.brand{display:flex;align-items:center;}
.brand img.logo-img{height:44px;width:auto;flex:none;}
nav.main{display:flex;gap:30px;align-items:center;}
nav.main a{font-size:15px;color:var(--ink);padding:4px 0;border-bottom:2px solid transparent;}
nav.main a.active,nav.main a:hover{border-bottom-color:var(--amber);}
.header-cta{display:flex;align-items:center;gap:20px;}
.btn{display:inline-block;padding:12px 22px;border-radius:3px;font-size:14.5px;font-weight:600;border:1px solid transparent;transition:background .15s ease, color .15s ease, border-color .15s ease;}
.btn-amber{background:var(--amber);color:#241804;}
.btn-amber:hover{background:var(--amber-deep);}
.btn-outline{background:transparent;border-color:var(--pine);color:var(--pine);}
.btn-outline:hover{background:var(--pine);color:var(--paper);}
.btn-stack{display:inline-flex;flex-direction:column;align-items:center;line-height:1.25;padding:9px 22px;}
.btn-stack .btn-sub{font-size:11.5px;font-weight:500;opacity:.8;margin-top:1px;}
@media (max-width:880px){ nav.main{display:none;} }

main.legal{padding:56px 0 90px;}
main.legal .crumb{font-size:13px;color:var(--sage-deep);margin-bottom:18px;}
main.legal h1{font-size:36px;margin-bottom:10px;}
main.legal .updated{font-size:13px;color:#5B6A61;margin-bottom:36px;}
main.legal .legal-body{max-width:760px;}
main.legal .legal-body h2{font-size:20px;margin-top:34px;margin-bottom:12px;color:var(--pine-2);}
main.legal .legal-body h3{font-size:16px;margin-top:22px;margin-bottom:8px;font-family:'IBM Plex Sans',sans-serif;font-weight:600;color:var(--ink);}
main.legal .legal-body p{margin:0 0 14px;color:#39473F;font-size:15px;}
main.legal .legal-body ul{margin:0 0 14px;padding-left:22px;color:#39473F;font-size:15px;}
main.legal .legal-body li{margin-bottom:8px;}
main.legal .legal-body a.inline{color:var(--sage-deep);text-decoration:underline;}
main.legal .callout{border:1px solid #E7D6A8;background:#FBF3E0;padding:16px 18px;font-size:13.5px;color:#5B4B22;margin:24px 0;}
main.legal .contact-box{border:1px solid var(--line);background:#fff;padding:20px 22px;margin-top:30px;font-size:14.5px;}
main.legal .contact-box p{margin:4px 0;}

footer{background:var(--pine);color:#B9C9BE;padding:60px 0 0;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;}
.foot-grid h4{color:#F4E3BC;font-size:14px;margin-bottom:16px;font-weight:600;}
.foot-grid p{font-size:13.5px;line-height:1.6;color:#9FB6A7;}
.foot-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;}
.foot-grid a{font-size:13.5px;color:#B9C9BE;}
.foot-grid a:hover{color:#fff;}
.foot-brand .word{color:#fff;font-family:'Fraunces',serif;font-size:19px;font-weight:600;}
.foot-legal{border-top:1px solid rgba(255,255,255,.12);padding:22px 0 26px;font-size:11.5px;color:#7C9089;line-height:1.7;}
.foot-legal .bottom-line{display:flex;justify-content:space-between;margin-top:16px;font-size:12px;color:#7C9089;flex-wrap:wrap;gap:8px;}
@media (max-width:880px){.foot-grid{grid-template-columns:1fr 1fr;}}

/* ---------- Footer v2 (green quick-links style) ---------- */
.footer2{background:var(--pine);color:#C9D8CE;padding:60px 0 0;}
.footer2-grid{
  display:grid;grid-template-columns:1.3fr 1fr 1.2fr;gap:48px;padding-bottom:40px;
}
.footer2-brand{display:flex;flex-direction:column;gap:20px;}
.footer2-logo-img{height:52px;width:auto;object-fit:contain;display:block;}
.footer2-brand .word{color:#fff;font-family:'Fraunces',serif;font-size:20px;font-weight:600;}
.footer2-tagline{
  font-family:'Fraunces',serif;font-style:italic;font-weight:700;
  font-size:16.5px;color:#fff;margin:0;
}
.footer2-col h4{
  display:flex;align-items:center;gap:10px;color:#fff;
  font-size:15px;font-weight:700;letter-spacing:.03em;margin:0 0 20px;
}
.footer2-col h4 .bar{width:3px;height:16px;background:var(--amber);display:inline-block;}
.footer2-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.footer2-col li{
  display:flex;align-items:center;gap:10px;padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.22);
}
.footer2-col a{color:#fff;font-size:14px;}
.footer2-col a:hover{color:var(--amber);}
.footer2-arrow{
  width:18px;height:18px;border-radius:50%;flex-shrink:0;
  border:1.4px solid rgba(255,255,255,.65);
  display:inline-flex;align-items:center;justify-content:center;
}
.footer2-contact li{align-items:flex-start;border-bottom:none;padding:8px 0;}
.footer2-contact .footer2-icon{width:17px;flex-shrink:0;margin-top:2px;color:var(--amber);}
.footer2-contact span.txt{font-size:14px;line-height:1.55;color:#C9D8CE;}
@media (max-width:880px){.footer2-grid{grid-template-columns:1fr;}}
