/* Variant C — "Fieldbook": warm off-white, condensed bold headings, forest accent, left-ruled sections. */
:root{--ink:#22241f;--muted:#5d6258;--paper:#f7f5ef;--card:#fffdf8;--rule:#dcd7c9;--accent:#2f6b3a;--accent-2:#24542d;--flag:#c0562b;--link:#2a5f34}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16.5px/1.62 "Avenir Next","Avenir","Segoe UI","Helvetica Neue",Arial,sans-serif}
a{color:var(--link)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--flag);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.frame{max-width:1040px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
h1,h2,h3{font-family:"Avenir Next Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;font-weight:800;line-height:1.08;text-transform:none;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:clamp(34px,6vw,54px);margin:0 0 14px}h2{font-size:clamp(25px,3.4vw,33px);margin:0 0 12px}h3{font-size:21px;margin:24px 0 10px}
.masthead{background:var(--paper);border-top:6px solid var(--accent)}
.masthead .frame{display:flex;align-items:baseline;gap:20px;min-height:66px;flex-wrap:wrap;padding-top:12px}
.wordmark{font:800 22px/1.1 "Avenir Next Condensed","Arial Narrow",Arial,sans-serif;color:var(--ink);text-decoration:none}.wordmark small{display:block;font:500 13px/1.4 inherit;color:var(--muted)}
.menu{display:flex;gap:16px;margin-left:auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.menu a{color:var(--ink);text-decoration:none;font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}.menu a:hover{border-color:var(--accent)}
.dial{color:var(--flag);font-weight:800;text-decoration:none;font-size:18px}
.lead{padding:46px 0 36px}.lead h1{max-width:18ch}
.lead.slim{padding:30px 0 12px}
.kicker{display:inline-block;background:var(--accent);color:#fff;font-weight:700;font-size:13px;padding:4px 9px;margin:0 0 12px}
.lede{font-size:19px;max-width:660px;color:#34372f}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 10px}
.go,.alt,button{font-weight:800;font-size:16px;padding:15px 22px;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.go,button{background:var(--accent);color:#fff}.go:hover,button:hover{background:var(--accent-2)}.alt{background:var(--ink);color:#fff}
.costlink a{font-weight:700;color:var(--flag)}
.block .frame{border-left:4px solid var(--rule);padding-left:22px}.block{padding:26px 0}
.answer{font-size:19px;font-weight:500;margin:0}.block:has(.answer) .frame{border-left-color:var(--accent)}
.cards{list-style:none;padding:0;margin:0;display:grid;gap:10px}.cards li{background:var(--card);border:1px solid var(--rule);padding:14px 16px}
.cards a{font-weight:800;display:block;margin-bottom:3px}.cards span{color:var(--muted);font-size:15px}
details{background:var(--card);border:1px solid var(--rule);padding:12px 14px;margin:8px 0}summary{font-weight:700;cursor:pointer}details p{margin:10px 0 0}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px;background:var(--card)}
th,td{border-bottom:1px solid var(--rule);padding:10px;text-align:left;vertical-align:top}th{border-bottom:2px solid var(--ink)}caption{text-align:left;color:var(--muted);padding:6px 0}
form{display:grid;gap:8px;max-width:520px}label{font-weight:700;font-size:14px}
input,select{font-size:16px;line-height:1.3;font-family:inherit;padding:11px;border:2px solid var(--rule);background:#fff}
button{margin-top:8px}
.base{background:var(--ink);color:#d5d3c8;padding:34px 0 90px;font-size:15px}.base a{color:#fff}
.cols{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.base ul{list-style:none;padding:0;margin:0}.base li{margin:3px 0}
.foot-name{font:800 20px "Avenir Next Condensed","Arial Narrow",Arial,sans-serif;color:#fff;margin:0 0 6px}.foot-h{font-weight:700;color:#fff;margin:0 0 6px}.fine{font-size:13px;color:#a7a596;margin-top:18px}
.stickycall{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;z-index:5}
.stickycall a{text-align:center;padding:15px 8px;font-weight:800;text-decoration:none;background:var(--flag);color:#fff}
.stickycall a+a{background:var(--accent)}
@media(min-width:860px){.stickycall{display:none}.base{padding-bottom:34px}.cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.menu{order:3;width:100%;padding-bottom:10px}.dial{display:none}.block .frame{padding-left:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* lead form v2 — structure. Appended to the site's existing stylesheet (no extra request).
   Colours come from --lf-* tokens set per skin (form-v2.sat-a|b|c.css, form-v2.seed.css). */
.lf{display:grid;gap:14px;max-width:580px;margin:0}
.lf fieldset{border:0;margin:0;padding:0;min-width:0}
.lf-legend{font-weight:700;font-size:18px;line-height:1.3;margin:0 0 10px;padding:0}
.lf-tiles{display:grid;gap:8px;grid-template-columns:1fr}
@media(min-width:560px){.lf-tiles{grid-template-columns:1fr 1fr}}
.lf .lf-tile{display:flex;align-items:center;gap:12px;min-height:54px;margin:0;padding:10px 14px;box-sizing:border-box;
  border:1.5px solid var(--lf-line);border-radius:var(--lf-r);background:var(--lf-field);cursor:pointer;
  font-weight:600;font-size:16px;line-height:1.3}
.lf-tile input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--lf-accent)}
.lf-tile:hover{border-color:var(--lf-accent)}
.lf-tile:has(input:checked){border-color:var(--lf-accent);box-shadow:inset 0 0 0 1px var(--lf-accent);background:var(--lf-tint)}
.lf-tile:has(input:focus-visible){outline:3px solid var(--lf-focus);outline-offset:2px}
.lf-picked .lf-tiles{display:none}
.lf-chosen{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;margin:0;font-weight:700;
  padding:10px 14px;border:1.5px solid var(--lf-accent);border-radius:var(--lf-r);background:var(--lf-tint)}
.lf [hidden]{display:none!important}   /* beats the display:grid/flex rules below */
.lf .lf-change{background:none;border:0;box-shadow:none;margin:0 0 0 auto;padding:8px 6px;min-height:44px;color:var(--lf-link);
  text-decoration:underline;font:inherit;font-weight:600;cursor:pointer}
.lf-step2{display:grid;gap:14px}
.lf .lf-row,.lf .field{display:grid;gap:5px;margin:0}
.lf label{font-weight:600;font-size:15px;line-height:1.3}
.lf input:not([type]),.lf input[type=tel],.lf input[type=text]{width:100%;box-sizing:border-box;min-height:50px;padding:10px 12px;
  font-family:inherit;font-size:16px;color:inherit;background:var(--lf-field);border:1.5px solid var(--lf-line);border-radius:var(--lf-r)}
.lf input:focus-visible{outline:3px solid var(--lf-focus);outline-offset:1px}
.lf input[aria-invalid=true]{border-color:#b42318;border-width:2px}
.lf-err{color:#b42318;font-size:14px;font-weight:600;margin:0}
.lf-err:empty{display:none}
.lf-opt{font-weight:400;color:var(--lf-muted)}
.lf-hint{font-size:14px;color:var(--lf-muted);line-height:1.4}
.lf .lf-zip input{max-width:9em}
.lf .lf-check{display:flex;align-items:center;gap:12px;min-height:44px;font-weight:500;margin:0;cursor:pointer}
.lf-check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--lf-accent)}
.lf .lf-go{width:100%;min-height:54px;font-size:17px;margin:2px 0 0}
.lf .lf-go:disabled{opacity:.7;cursor:progress}
.lf-fine{font-size:13.5px;line-height:1.5;color:var(--lf-muted);margin:0;max-width:none}
.lf-done{padding:18px 20px;border:2px solid var(--lf-accent);border-radius:var(--lf-r);background:var(--lf-tint);max-width:580px}
.lf-done:focus{outline:3px solid var(--lf-focus);outline-offset:2px}
.lf-done p{margin:0 0 6px}
.lf-done-h{font-weight:800;font-size:19px}
@media print{.lf,.lf-card{display:none}}
/* @skin sat-c  (flat, green, 2px rules) — also fixes the variant's input font: "font:16px/1.3 inherit" is an
   invalid shorthand, so today's inputs fall back to the browser's ~13px and iOS zooms on focus */
.lf{--lf-accent:var(--accent);--lf-line:var(--rule);--lf-field:#fff;--lf-tint:var(--card);--lf-link:var(--link);
  --lf-muted:var(--muted);--lf-r:0;--lf-focus:var(--flag)}
.lf .lf-tile,.lf input:not([type]),.lf input[type=tel]{border-width:2px}
.lf-card .frame{background:var(--card);padding:22px 18px;border:2px solid var(--rule);border-left:4px solid var(--accent)}

:root{--accent:#0f5f6b;--accent-2:#0b4a54;--link:#0d5560}
