/* ===== ECW shared base: tokens, reset, nav, footer, buttons ===== */
:root{
  --sage:#c2bf8b; --sage-dk:#8f8b55; --green-ink:#6b6834;
  --slate:#333c45; --slate-2:#2a323a;
  --lightblue:#bbd6e2; --lightblue-bg:#e3eef4;
  --steel:#428bc7; --steel-dk:#356f9e;
  --gray:#6f6770; --ink:#4a4a4a;
  --paper:#ffffff; --cloud:#f6f5f1; --cream:#faf8f3; --sage-tint:#eef0e6;
  --maxw:1140px;
  --r:30px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Raleway,Arial,sans-serif;color:var(--ink);
  line-height:1.6;background:var(--paper);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--steel);text-decoration:none}
h1,h2,h3,h4{color:var(--slate);line-height:1.15;margin:0 0 .4em}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;letter-spacing:.2px}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.section{padding:84px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;
  font-weight:700;color:var(--green-ink);margin:0 0 .6em}
.eyebrow.center,.center{text-align:center}
.section-title{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;
  font-size:2.9rem;text-align:center;margin-bottom:.6em;letter-spacing:.3px}
.section-title.left{text-align:left}

/* buttons */
.button{display:inline-block;border-radius:var(--r);padding:14px 30px;
  font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;
  cursor:pointer;border:2px solid transparent;transition:.18s ease;white-space:nowrap}
/* primary = GREEN (sage) with dark slate text — green leads, stays readable */
.button-primary{background:var(--sage);color:var(--slate);border-color:var(--sage)}
.button-primary:hover{background:#b3b07a;border-color:#b3b07a}
/* secondary = steel blue + white */
.button-blue{background:var(--steel);color:#fff;border-color:var(--steel)}
.button-blue:hover{background:var(--steel-dk);border-color:var(--steel-dk)}
.button-ghost{background:transparent;color:var(--slate);border-color:var(--slate)}
.button-ghost:hover{background:var(--slate);color:#fff}

/* preview ribbon */
.preview-ribbon{background:var(--sage);color:var(--slate);font-size:.76rem;
  text-align:center;padding:6px 12px;letter-spacing:.08em;text-transform:uppercase}

/* header / nav */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);
  backdrop-filter:saturate(140%) blur(6px);border-bottom:1px solid #ececec}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand img{height:42px;width:auto}
.main-nav{display:flex;align-items:center;gap:30px}
.main-nav a{color:var(--slate);font-weight:500;text-transform:uppercase;
  letter-spacing:.05em;font-size:.82rem}
.main-nav a:hover{color:var(--steel)}
.main-nav .nav-cta{color:#fff}
.nav-toggle{display:none;background:none;border:0;font-size:1.6rem;color:var(--slate);cursor:pointer}

/* check lists */
.check-list{list-style:none;padding:0;margin:0 0 1.4em}
.check-list li{position:relative;padding-left:30px;margin-bottom:.6em}
.check-list li::before{content:"✓";position:absolute;left:0;top:0;
  color:var(--sage-dk);font-weight:700}
.check-list.two-col{column-count:2;column-gap:30px}

/* footer — light, warm */
.site-footer{background:var(--cream);color:var(--ink);margin-top:0;border-top:1px solid #ece9e0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr 1.3fr;
  gap:34px;padding:64px 24px 40px}
.site-footer h4{color:var(--slate);font-size:.82rem;text-transform:uppercase;
  letter-spacing:.12em;margin-bottom:1em;font-family:Raleway,sans-serif;font-weight:700}
.site-footer h4.mt{margin-top:1.6em}
.site-footer a{color:var(--ink);display:block;margin-bottom:.5em;font-size:.9rem}
.site-footer a:hover{color:var(--steel)}
.f-about p{font-size:.9rem;color:var(--gray)}
.f-logo{height:52px;margin-bottom:14px}
.socials{display:flex;gap:14px;margin-top:10px}
.socials a{display:inline;margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--green-ink)}
.f-contact{font-size:.88rem;color:var(--gray);line-height:1.7}
.f-contact a{display:inline}
.news-form{display:flex;flex-direction:column;gap:8px;max-width:260px}
.news-form input{padding:10px 12px;border:1px solid #d9d5c8;background:#fff;
  color:var(--slate);border-radius:8px;font-family:inherit}
.news-form input::placeholder{color:#a39e8f}
.news-form .button{padding:11px 22px;font-size:.78rem}
.footer-map iframe{width:100%;height:240px;border:0;display:block}
.copyright{padding:22px 24px;font-size:.8rem;color:var(--gray);text-align:center;
  border-top:1px solid #ece9e0}

/* responsive */
@media(max-width:860px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .section{padding:56px 0}
  .nav-toggle{display:block}
  .main-nav{display:none;position:absolute;top:74px;left:0;right:0;
    flex-direction:column;background:#fff;padding:18px 24px;gap:16px;
    border-bottom:1px solid #ececec}
  body.nav-open .main-nav{display:flex}
}
@media(max-width:560px){
  .footer-grid{grid-template-columns:1fr}
  .check-list.two-col{column-count:1}
  .section-title{font-size:1.8rem}
}
