/* Hostholler: plain styles. Small radius, no shadows, no gradients, no accent stripes. */
:root{--bg:#faf6ef;--ink:#23302a;--muted:#56605a;--rust:#c8562b;--rust-d:#a8441f;--pine:#2f4a3a;--pine-d:#22372b;--pine-l:#e8efe9;--peach:#ffd9a8;--cream:#fff8ee;--line:#e2d9c8;--soft:#f3eee4}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.55 Charter,"Bitstream Charter","Sitka Text",Cambria,Georgia,serif;background:var(--bg);color:var(--ink)}
a{color:var(--rust-d)}a:hover{color:var(--rust)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--rust);outline-offset:2px}
.wrap{max-width:1040px;margin:0 auto;padding:0 1.1rem}
.narrow>*{max-width:760px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:var(--pine);line-height:1.25}
h1{font-size:1.85rem;margin:1.6rem 0 .6rem}
h2{font-size:1.35rem;margin:2rem 0 .5rem;padding-bottom:.2rem;border-bottom:2px solid var(--pine-l)}
h3{font-size:1.08rem;margin:0}
main{padding-bottom:2rem}
.lede{font-size:1.06rem;max-width:720px}
.small{font-size:.9rem;color:var(--muted)}

.site-head{background:var(--bg)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:.6rem 1rem;flex-wrap:wrap;padding-top:.6rem;padding-bottom:.6rem}
.logo img{height:42px;display:block}
.nav a{color:var(--pine);margin-left:1.1rem;font-size:.98rem}
.nav a[aria-current]{color:var(--rust-d);font-weight:bold;text-decoration:none}

.btn{display:inline-block;background:var(--rust-d);color:#fff;text-decoration:none;font-weight:bold;padding:.5rem .9rem;border-radius:3px;font-size:1rem}
.btn:hover{background:#8e3818;color:#fff}

/* plain note box: thin border all round, no stripe */
.note-box{border:1px solid var(--line);background:#fff;padding:.7rem .9rem;margin:1rem 0;font-size:.96rem}

/* directory */
.controls{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 .4rem;align-items:center}
.controls input[type=search]{flex:1 1 280px;padding:.5rem .6rem;border:1px solid #b9b09f;border-radius:3px;font:inherit;font-size:1rem;background:#fff}
.controls select{padding:.48rem .5rem;border:1px solid #b9b09f;border-radius:3px;font:inherit;font-size:1rem;background:#fff}
.controls label{display:flex;gap:.4rem;align-items:center;font-size:.96rem}
.controls input[type=checkbox]{width:18px;height:18px}
.cats{display:flex;flex-wrap:wrap;gap:.35rem;margin:.8rem 0}
.chip{border:1px solid #b9b09f;background:#fff;border-radius:3px;padding:.25rem .6rem;cursor:pointer;font:inherit;font-size:.9rem;color:var(--ink)}
.chip.on{background:var(--pine);border-color:var(--pine);color:#fff}.chip b{font-weight:normal;opacity:.7;margin-left:.3rem}
.toolbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.4rem;color:var(--muted);font-size:.93rem;margin:.6rem 0 .3rem}
.grid{border-top:2px solid var(--pine);margin-bottom:1.5rem}
.vendor{display:grid;grid-template-columns:1fr 300px;gap:.2rem 1.5rem;padding:.8rem .2rem;border-bottom:1px solid var(--line)}
.vendor h3{font-size:1.05rem}
.v-cat{font-size:.88rem;color:var(--muted)}
.v-cat .str{color:var(--pine);font-style:italic}
.v-note{font-size:.95rem;margin-top:.15rem}
.v-area{font-size:.9rem;color:var(--muted)}
.v-contact{font-size:.95rem}.v-contact a{display:block}
.v-contact .tel{font-weight:bold}
.v-meta{font-size:.8rem;color:var(--muted);margin-top:.25rem}.v-meta a{color:var(--muted);display:inline}

/* tables (rules guide, vendor listing types) */
table.facts{width:100%;border-collapse:collapse;font-size:.95rem;margin:.5rem 0 1rem;background:#fff}
table.facts th,table.facts td{text-align:left;vertical-align:top;border:1px solid var(--line);padding:.45rem .55rem}
table.facts th{background:var(--pine-l);color:var(--pine);font-size:.9rem}
.src{font-size:.85rem;color:var(--muted);white-space:nowrap}
.unconf{font-weight:bold;color:#9a3412}
.toc{columns:2;font-size:.96rem;margin:.4rem 0 1rem;padding-left:1.2rem}
.sources{font-size:.92rem;list-style:none;padding-left:0}

.site-foot{background:var(--pine-d);color:#d3ded6;font-size:.9rem;padding:1.3rem 0 1.9rem;margin-top:1rem}
.site-foot a{color:var(--peach)}.site-foot strong{color:var(--cream)}

@media (max-width:640px){
 body{font-size:16px}h1{font-size:1.45rem;margin-top:1.1rem}
 .site-head .wrap{justify-content:center}.nav a{margin:0 .4rem;font-size:.92rem;white-space:nowrap}
 .vendor{grid-template-columns:1fr}.v-contact a{display:inline-block;margin-right:1rem}
 .toc{columns:1}
 table.facts,table.facts tbody{display:block;border:0;background:none}
 table.facts thead{display:none}
 table.facts tr{display:block;border:1px solid var(--line);border-bottom:0;background:#fff;padding:.4rem 0}
 table.facts tr:last-child{border-bottom:1px solid var(--line)}
 table.facts td{display:block;border:0;padding:.12rem .55rem}
 table.facts td:first-child{font-weight:bold;color:var(--pine)}
 table.facts td.src::before{content:'Source: '}
 table.facts td.cost::before{content:'Cost: '}
 .controls label{width:100%}
}
/* home page entry points */
.home h1{font-size:2.1rem;max-width:760px;margin-bottom:.3rem}
.home .lede{margin:0 0 1.2rem}
.home h2.pick{font-size:1.15rem;border:0;margin:1rem 0 .4rem}
.catlinks{list-style:none;padding:0;margin:0;columns:3;column-gap:2rem;max-width:860px;border-top:1px solid rgba(255,248,238,.18)}
.catlinks li{break-inside:avoid;padding:.4rem 0;border-bottom:1px solid rgba(255,248,238,.18);font-size:1.05rem}
.catlinks a{font-weight:bold}.catlinks span{color:#b9cbbf;font-size:.9rem}
.more-links{font-size:1.05rem;margin:1rem 0 0}.more-links a{font-weight:bold}
.home-lower{max-width:760px;margin-top:1.5rem;font-size:.95rem}
.home-lower h2{font-size:1.1rem}
@media (max-width:900px){.catlinks{columns:2}}
@media (max-width:640px){.home h1{font-size:1.45rem}.catlinks{columns:2;column-gap:1rem}.catlinks li{font-size:.95rem;padding:.35rem 0}}

/* green title band with a hills line along the bottom edge */
.band{background:var(--pine);color:#e9f0ea;border-top:4px solid var(--rust)}
.band .wrap{padding-top:.4rem;padding-bottom:.6rem}
.band h1{color:var(--cream)}
.band p{max-width:760px}
.band a{color:var(--peach)}.band a:hover{color:#fff}
.band a:focus-visible{outline-color:var(--peach)}
.band .lede{color:#e9f0ea}
.band .controls label{color:#e9f0ea}
.band .controls input[type=search],.band .controls select{border-color:#1d2f24}
.band strong{color:var(--cream)}
.band.slim .wrap>*{max-width:760px}
.hills{display:block;width:100%;height:44px;margin-top:.4rem}
@media (max-width:640px){.hills{height:28px}}
.band h2{color:var(--cream)}
