:root{
  --green:#1e4d3a;
  --green-d:#123326;
  --lime:#7fb069;
  --cream:#faf7ef;
  --sand:#f2ecdd;
  --ink:#24312a;
  --mut:#5c6b60;
  --line:#ddd5bd;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Iowan Old Style",Palatino,Georgia,serif;color:var(--ink);background:var(--cream);line-height:1.78;font-size:1.04rem}
.wrap{max-width:980px;margin:0 auto;padding:0 1.4rem}

/* Top */
.top{background:var(--green-d);color:#fff;position:sticky;top:0;z-index:50}
.top-flex{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1.4rem;gap:1rem}
.sig{font-weight:700;letter-spacing:.04em}
.sig span{color:var(--lime)}
.top-call{background:var(--lime);color:var(--green-d);text-decoration:none;font-weight:800;padding:.5rem 1rem;border-radius:2rem;white-space:nowrap;font-family:Verdana,sans-serif}

/* Buttons */
.btn{display:inline-block;text-decoration:none;border-radius:2rem;padding:.8rem 1.7rem;font-weight:700;font-family:Verdana,sans-serif;cursor:pointer;border:2px solid transparent}
.fill{background:var(--green);color:#fff;border:none}
.fill:hover{background:var(--green-d)}
.hollow{border-color:var(--green);color:var(--green)}
.hollow:hover{background:rgba(30,77,58,.08)}
.cta{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.6rem 0}
form .fill{width:100%;font-size:1.05rem}

/* Hero */
.hero{padding:3rem 0 2.4rem}
.loc{font-family:Verdana,sans-serif;color:var(--green);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;margin-bottom:.7rem}
.hero h1{font-size:2.3rem;line-height:1.25;margin-bottom:1.1rem;max-width:40rem}
.hero h1 em{font-style:italic;color:var(--green)}
.sub{font-size:1.12rem;color:var(--mut);max-width:44rem}
.hero figure{margin:1.8rem 0 .6rem}
.hero figure img{width:100%;height:auto;border-radius:.8rem;border:4px solid var(--sand);display:block}
.hero figcaption{font-family:Verdana,sans-serif;font-size:.82rem;color:var(--mut);margin-top:.5rem}
.creds{font-family:Verdana,sans-serif;font-size:.83rem;color:var(--mut)}

/* Parts */
.part{padding:2.8rem 0}
.band{background:var(--sand)}
.part h2{font-size:1.75rem;color:var(--green-d);margin-bottom:1rem}
.part p{margin-bottom:1.05rem;max-width:47rem}
.callout{background:#fff;border:2px solid var(--green);border-radius:.7rem;padding:1.2rem 1.4rem;max-width:47rem;margin-top:1.4rem}
.callout p{margin:0}
.note{background:#fff;border-left:5px solid var(--lime);padding:1rem 1.25rem;border-radius:.35rem;max-width:47rem;margin-top:1.4rem}
.note p{margin:0}

/* Steps */
.steps{display:grid;gap:1.1rem;margin:1.6rem 0}
.steps article{background:#fff;border:1px solid var(--line);border-radius:.7rem;padding:1.25rem 1.35rem;position:relative;padding-top:3.2rem}
.n{position:absolute;top:1rem;left:1.35rem;background:var(--green);color:#fff;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;font-family:Verdana,sans-serif;font-weight:800;font-size:.9rem}
.steps h3{color:var(--green-d);margin-bottom:.4rem}
.steps p{margin:0;font-size:.98rem;color:var(--mut)}

/* Compare table */
.compare{width:100%;border-collapse:collapse;margin:1.4rem 0;max-width:47rem;background:#fff;font-size:.94rem;font-family:Verdana,sans-serif}
.compare th,.compare td{border:1px solid var(--line);padding:.7rem .85rem;text-align:left;vertical-align:top}
.compare thead th{background:var(--green);color:#fff}
.compare tbody th{background:var(--sand);color:var(--green-d)}

/* FAQ */
details{background:#fff;border:1px solid var(--line);border-radius:.55rem;margin-bottom:.65rem;padding:.9rem 1.1rem;max-width:47rem}
summary{font-weight:700;cursor:pointer;color:var(--green-d)}
details p{margin:.55rem 0 0;font-size:.97rem;color:var(--mut)}

/* Towns */
.towns{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.towns li{background:var(--green);color:#fff;padding:.55rem 1.15rem;border-radius:2rem;font-family:Verdana,sans-serif;font-weight:600;font-size:.92rem}

/* Bio */
.bio{background:#fff;border:1px solid var(--line);border-left:5px solid var(--lime);border-radius:.55rem;padding:1.4rem 1.5rem;max-width:47rem}
.bio p{margin-bottom:.5rem;font-size:.98rem}
.fine{font-size:.86rem;color:var(--mut)}

/* Form */
form{background:#fff;border:1.5px solid var(--line);border-radius:.7rem;padding:1.6rem;max-width:42rem;margin-top:1.2rem}
.fld{margin-bottom:1.05rem}
.fld label{display:block;font-weight:700;margin-bottom:.3rem;color:var(--green-d);font-family:Verdana,sans-serif;font-size:.95rem}
.fld input,.fld textarea{width:100%;padding:.68rem .85rem;border:1.5px solid var(--line);border-radius:.45rem;font-size:1rem;font-family:Verdana,sans-serif}
.fld input:focus,.fld textarea:focus{outline:2px solid var(--lime);border-color:var(--lime)}

/* Footer */
.foot{background:var(--green-d);color:#c8d4c6;padding:1.7rem 0;margin-top:1rem}
.foot a{color:var(--lime)}
.foot p{font-family:Verdana,sans-serif;font-size:.93rem;margin-bottom:.25rem}

/* Sticky */
.sticky{display:none;position:fixed;bottom:1rem;left:1rem;right:1rem;z-index:60;background:var(--green);color:#fff;text-align:center;font-weight:800;font-family:Verdana,sans-serif;font-size:1.08rem;padding:.85rem;border-radius:2rem;text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,.35)}

@media(min-width:850px){
  .hero h1{font-size:2.75rem}
  .steps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:849px){
  .sticky{display:block}
  body{padding-bottom:4.2rem}
  .compare{font-size:.85rem}
}
