:root{
  --ink:#16252d;        /* text */
  --river:#1d4a58;      /* Ohio River blue-green: brand */
  --river-deep:#123540;
  --stone:#e8ebe8;      /* limestone */
  --paper:#ffffff;
  --signal:#f2b705;     /* call buttons */
  --signal-press:#d9a300;
  --muted:#4f5f66;
  --line:#cfd6d4;
  --radius-btn:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:17px;line-height:1.55;padding-bottom:76px}
@media(min-width:760px){body{padding-bottom:0}}
img{max-width:100%;height:auto}
a{color:var(--river)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--signal);outline-offset:2px}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}

/* Brand bar: brokerage first and largest */
.brandbar{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.brandbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:14px;line-height:1.2;color:var(--ink);text-decoration:none}
.brand .logo{height:64px;width:auto;display:block}
@media(min-width:760px){.brand .logo{height:76px}}
.brand .brokerage{font-weight:800;font-size:22px;letter-spacing:-.01em}
.brand .agent{font-weight:700;font-size:15px;color:var(--ink);border-left:1px solid var(--line);padding-left:14px}
.brandbar .call-mini{display:none}
@media(min-width:760px){.brandbar .call-mini{display:inline-flex}}

/* Buttons */
.btn-call{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--signal);color:var(--ink);font-weight:800;text-decoration:none;
  border-radius:var(--radius-btn);padding:14px 22px;font-size:18px;border:0;cursor:pointer}
.btn-call:hover{background:var(--signal-press)}
.btn-call svg{width:20px;height:20px;flex:none}
.btn-call.big{font-size:22px;padding:18px 26px;width:100%;max-width:420px}
.btn-call .num{font-weight:600}
.btn-call{white-space:nowrap}
@media(max-width:420px){.btn-call.big{font-size:19px;padding:16px 14px}}
.link-quiet{color:inherit;font-weight:600}

/* Hero */
.hero{background:var(--river);color:#fff;padding:40px 0 44px}
.hero h1{font-size:clamp(32px,6.2vw,54px);line-height:1.05;letter-spacing:-.02em;margin:0 0 16px;max-width:15ch;font-weight:800;font-stretch:90%}
.hero p.lede{font-size:19px;max-width:34em;margin:0 0 26px;opacity:.95}
.hero .hours{margin:14px 0 0;font-size:16px;opacity:.9}
.hero .alt{margin:8px 0 0;font-size:16px}
.hero .alt a{color:#fff}

/* Market */
.market{padding:48px 0;border-bottom:1px solid var(--line)}
.market h2,.section h2{font-size:clamp(24px,3.6vw,32px);line-height:1.15;letter-spacing:-.01em;margin:0 0 12px}
.market .claim{font-size:20px;max-width:36em;margin:0 0 28px}
.chart{display:grid;gap:26px;max-width:640px}
.chart figure{margin:0}
.chart figcaption{font-weight:700;margin-bottom:10px}
.bar{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:12px;margin:6px 0}
.bar .yr{font-size:15px;color:var(--muted)}
.bar .track{background:var(--stone);border-radius:4px;height:34px;position:relative}
.bar .fill{height:100%;border-radius:4px;background:#9aaeb3;display:flex;align-items:center;justify-content:flex-end;padding-right:10px;font-weight:700;font-size:15px;color:var(--ink)}
.bar.now .fill{background:var(--river);color:#fff}
.source{font-size:14px;color:var(--muted);margin:22px 0 0;max-width:40em}
.meaning{margin:26px 0 0;max-width:36em}

/* Generic section */
.section{padding:48px 0;border-bottom:1px solid var(--line)}
.two{display:grid;gap:36px}
@media(min-width:860px){.two{grid-template-columns:1fr 1fr;gap:56px}}
.facts{list-style:none;padding:0;margin:0}
.facts li{padding:14px 0;border-top:1px solid var(--line)}
.facts li:first-child{border-top:0;padding-top:0}
.facts strong{display:block;font-size:18px}
.steps{padding:0;margin:0;list-style:none;counter-reset:s}
.steps li{counter-increment:s;position:relative;padding:0 0 18px 48px}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;
  background:var(--river);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:16px}
.steps strong{display:block}
.disclosure{background:var(--stone);border-left:4px solid var(--river);padding:14px 16px;font-size:15px;margin-top:6px}
.areas{display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:14px 0 0;list-style:none}
.areas li{border:1.5px solid var(--river);border-radius:999px;padding:6px 14px;font-weight:600;font-size:15px}

/* Form */
.form-section{background:var(--stone);padding:48px 0}
form{max-width:560px;display:grid;gap:16px}
label{font-weight:700;display:block;margin-bottom:6px;font-size:16px}
.opt{font-weight:400;color:var(--muted)}
input[type=text],input[type=tel],input[type=email],select,textarea{width:100%;font:inherit;font-size:17px;padding:12px;border:1.5px solid #9aa7aa;border-radius:8px;background:#fff;color:var(--ink)}
textarea{min-height:90px}
.consent{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;font-size:14px;line-height:1.45;font-weight:400}
.consent input{width:20px;height:20px;margin-top:2px}
.hidden{position:absolute;left:-9999px}
.btn-submit{background:var(--river);color:#fff;font:inherit;font-weight:800;font-size:18px;border:0;border-radius:var(--radius-btn);padding:15px 22px;cursor:pointer;justify-self:start}
.btn-submit:hover{background:var(--river-deep)}
.browse{margin-top:30px;font-size:16px}

/* Footer */
footer{background:var(--river-deep);color:#dfe7e8;font-size:14px;padding:32px 0 36px}
footer a{color:#fff}
footer .brokerage{font-weight:800;font-size:18px;color:#fff}
footer p{margin:6px 0}
.eho{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-weight:700;color:#fff}
.eho svg{width:26px;height:26px}

/* Sticky mobile call bar */
.callbar{position:fixed;left:0;right:0;bottom:0;transform:translateY(0);transition:transform .2s;background:var(--paper);border-top:1px solid var(--line);padding:10px 14px;z-index:20}
.callbar .btn-call{width:100%}
@media(min-width:760px){.callbar{display:none}}
.callbar.tucked{transform:translateY(110%)}

/* Simple pages */
.page{padding:40px 0 56px;max-width:720px}
.page h1{font-size:clamp(28px,5vw,40px);line-height:1.1;margin:0 0 14px}
.page h2{font-size:21px;margin:28px 0 8px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
