:root{
  --bg:#f6f2e8; --surface:#ffffff; --text:#1d2a24; --muted:#44544b; --line:#d9d2bf;
  --brand:#1f5a43; --brand-ink:#ffffff; --link:#1b5a41; --accent:#8a3f10;
  --hdr:#1f3d31; --hdr-text:#f6f2e8; --hdr-link:#e9dfc4; --note-bg:#efe6c9; --note-text:#3b3010;
  --maxw:1080px; --narrow:760px; --r:10px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#121b17; --surface:#1b2721; --text:#ece8dc; --muted:#b4bfb7; --line:#33443b;
    --brand:#8fd0ac; --brand-ink:#0e1a14; --link:#8fd0ac; --accent:#e3a463;
    --hdr:#0d1411; --hdr-text:#ece8dc; --hdr-link:#cdd9d0; --note-bg:#3a3217; --note-text:#f1e6b9;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.65 -apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Liberation Sans",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.narrow{max-width:var(--narrow)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;font-weight:700;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3rem)} h2{font-size:1.6rem;margin-top:2em} h3{font-size:1.2rem}
p,ul,ol{margin:0 0 1.1em}
.skip{position:absolute;left:-999px;top:0;background:var(--brand);color:var(--brand-ink);padding:10px 14px;z-index:99}
.skip:focus{left:8px;top:8px}
.previewbar{background:var(--note-bg);color:var(--note-text);font-size:.9rem;padding:6px 0;text-align:center}
.region{background:var(--hdr);color:var(--hdr-link);font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.12)}
.region .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}
.region strong{font-weight:600;margin-right:6px;color:var(--hdr-text)}
.region a{color:var(--hdr-link);display:inline-flex;align-items:center;min-height:44px;padding:0 10px;text-decoration:none;border-radius:6px}
.region a:hover{text-decoration:underline}
.region a[aria-current]{color:var(--hdr-text);font-weight:700;text-decoration:underline}
.site-head{background:var(--hdr);color:var(--hdr-text);border-bottom:3px solid var(--accent)}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 18px;padding-top:12px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--hdr-text);min-height:44px}
.brand svg{width:40px;height:40px;flex:none}
.wordmark{display:block;font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;font-weight:700;letter-spacing:.01em;line-height:1.05}
.edition{display:block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--hdr-link);margin-top:3px}
.nav{display:flex;flex-wrap:wrap;gap:0 2px}
.nav a{color:var(--hdr-text);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 11px;border-radius:6px;font-size:.98rem}
.nav a:hover{background:rgba(255,255,255,.1)}
.nav a[aria-current]{text-decoration:underline;text-underline-offset:6px;font-weight:700}
.hero{padding:56px 0 40px}
.hero p.lead{font-size:1.2rem;max-width:44rem;color:var(--muted)}
.kicker{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700;margin:0 0 .6em}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:8px;background:var(--brand);color:var(--brand-ink);font-weight:700;text-decoration:none;border:2px solid var(--brand)}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--link);border-color:var(--link)}
.row{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.2em}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin:1.2em 0 2em;padding:0;list-style:none}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.card h3{margin-bottom:.3em}
.card h3 a{color:var(--text);text-decoration:none}
.card h3 a:hover{text-decoration:underline}
.card p{margin:0;color:var(--muted)}
.card .more{display:inline-block;margin-top:10px;min-height:44px;line-height:44px}
.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:1.5em 0 2.2em}
.glance div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.glance b{display:block;font-family:Georgia,serif;font-size:1.7rem;line-height:1.15}
.glance span{display:block;color:var(--muted);font-size:.92rem}
.glance small{display:block;color:var(--muted);font-size:.8rem;margin-top:4px}
.band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0;margin:2.2em 0}
.page{padding:36px 0 56px}
.page h1{margin-bottom:.3em}
.prose img.figure{border-radius:var(--r);margin:1em 0 .4em;width:100%;max-width:760px;height:auto}
figure{margin:1.4em 0}
figcaption{font-size:.85rem;color:var(--muted);margin-top:6px}
.prose table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:.97rem;background:var(--surface)}
.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--note-bg);color:var(--note-text)}
.prose h2:first-child{margin-top:0}
.prose h2:last-of-type{font-size:1.15rem}
.note{background:var(--note-bg);color:var(--note-text);border-radius:var(--r);padding:14px 18px;margin:1.4em 0}
.empty{background:var(--surface);border:2px dashed var(--line);border-radius:var(--r);padding:28px;text-align:center}
.formframe{margin:1.5em 0}
.formframe iframe{width:100%;height:380px;border:0;border-radius:var(--r);background:#fff;display:block}
.site-foot{background:var(--hdr);color:var(--hdr-link);padding:34px 0 40px;margin-top:2em;font-size:.95rem}
.site-foot a{color:var(--hdr-text);display:inline-flex;align-items:center;min-height:44px}
.site-foot .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}
.site-foot h4{color:var(--hdr-text);margin:0 0 6px;font-size:1rem}
.site-foot p{margin:0 0 .5em}
.site-foot .legalrow{margin-top:20px;border-top:1px solid rgba(255,255,255,.15);padding-top:14px}
.crumbs{font-size:.9rem;color:var(--muted);margin-bottom:10px}
.crumbs a{display:inline-flex;align-items:center;min-height:44px}
@media (max-width:700px){
  body{font-size:17px}
  .hero{padding:34px 0 24px}
  .prose table,.prose thead,.prose tbody,.prose tr,.prose th,.prose td{display:block;width:100%}
  .prose thead{position:absolute;left:-9999px}
  .prose tr{border:1px solid var(--line);border-radius:var(--r);margin:0 0 12px;padding:6px 0;background:var(--surface)}
  .prose td{border:0;padding:6px 14px}
  .prose td::before{content:attr(data-label);display:block;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
  .prose td:first-child{font-weight:700}
  .prose td:first-child::before{display:none}
}

/* Ashland edition: its own palette and masthead treatment */
body.theme-ashland{--brand:#6b2a45;--link:#7a2d4e;--accent:#b4531a;--hdr:#3a1630;--hdr-text:#fbf1e6;--hdr-link:#f0d9c6;--bg:#fbf6ef;--note-bg:#f3e1d3;--note-text:#4a2310}
body.theme-ashland .wordmark{font-style:italic;letter-spacing:.04em}
body.theme-ashland .site-head{border-bottom:3px solid #d9a35b}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) body.theme-ashland{--bg:#1c1219;--surface:#2a1b25;--brand:#f0b6cf;--brand-ink:#2a0f1c;--link:#f0b6cf;--accent:#f0a56c;--hdr:#12080f;--hdr-text:#fbf1e6;--hdr-link:#e8cdd9;--line:#4a3341;--note-bg:#3a2430;--note-text:#f6e2d4;--text:#f3e8e0;--muted:#cdb9c3}
}
.logo-bg{fill:var(--logo,#1f5a43)}
body.theme-ashland{--logo:#8a3560}

.region details.editions{position:relative}
.region summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--hdr-text);font-weight:600;border-radius:6px}
.region summary::-webkit-details-marker{display:none}
.region summary::after{content:"\25BE";margin-left:6px}
.region summary:hover{text-decoration:underline}
.editions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 24px;padding:6px 0 14px;width:calc(100vw - 40px);max-width:1040px}
.editions-grid strong{display:block;margin:8px 0 2px}
.editions-grid a{display:flex}
.region .wrap{flex-wrap:wrap}
.region details[open]{flex-basis:100%}
.involve{background:var(--note-bg);color:var(--note-text);padding:34px 0 12px;margin-top:1.5em}
.involve .card h3 a{color:var(--text)}
.footlist{list-style:none;margin:0;padding:0}
.yours{background:var(--brand);color:var(--brand-ink);padding:34px 0}
.yours h2{margin-top:0;color:var(--brand-ink)}
.yours .lead{font-size:1.15rem;max-width:44rem}
.yours .btn{background:var(--brand-ink);color:var(--brand);border-color:var(--brand-ink)}
.yours .btn.ghost{background:transparent;color:var(--brand-ink);border-color:var(--brand-ink)}
.yours .sponsorline{margin:1.2em 0 0}
.yours a:not(.btn){color:var(--brand-ink);font-weight:700}
.regiongrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px 28px;margin:1em 0 2em}
.regiongrid h3{margin-bottom:.3em}
.regiongrid ul{list-style:none;margin:0;padding:0}
.regiongrid a{display:flex;align-items:center;min-height:44px}
.tag{display:inline-block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:6px}

/* Lebanon edition: its own palette and masthead treatment */
body.theme-lebanon{--brand:#1c4f72;--link:#1b4f73;--accent:#a8481a;--hdr:#12304a;--hdr-text:#f3f7fa;--hdr-link:#d3e2ee;--bg:#f2f6f9;--note-bg:#dde9f2;--note-text:#102a3d;--logo:#2b6a97}
body.theme-lebanon .wordmark{letter-spacing:.08em;text-transform:uppercase;font-size:1.3rem}
body.theme-lebanon .site-head{border-bottom:3px solid #e0a23a}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) body.theme-lebanon{--bg:#0e1923;--surface:#162735;--brand:#9ccbea;--brand-ink:#0b1a26;--link:#9ccbea;--accent:#f0a56c;--hdr:#08121a;--hdr-text:#eaf2f8;--hdr-link:#c3d6e4;--line:#2f4558;--note-bg:#1d3346;--note-text:#e1edf6;--text:#e8eef3;--muted:#b6c6d2}
}
.partnerline{margin:1.2em 0 .6em;font-size:1.05rem}.partnerline .btn{margin-left:8px}

/* Beaverton edition: its own palette and masthead treatment */
body.theme-beaverton{--brand:#7a3b00;--link:#7a3b00;--accent:#256d4b;--hdr:#2d2418;--hdr-text:#fbf4e8;--hdr-link:#ead9bd;--bg:#fbf6ec;--note-bg:#f1e3c9;--note-text:#3d2a0e;--logo:#a35208}
body.theme-beaverton .wordmark{font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;letter-spacing:.02em}
body.theme-beaverton .site-head{border-bottom:3px solid #4fa37a}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) body.theme-beaverton{--bg:#1d1710;--surface:#2a2116;--brand:#f0c58a;--brand-ink:#2a1a05;--link:#f0c58a;--accent:#7fd1a6;--hdr:#120d07;--hdr-text:#f6ecd9;--hdr-link:#dcc9a5;--line:#4a3b27;--note-bg:#3a2e1a;--note-text:#f4e6cb;--text:#f1e9dc;--muted:#c9bba5}
}

/* Hillsboro edition: its own palette and masthead treatment */
body.theme-hillsboro{--brand:#1d5b63;--link:#1b5a62;--accent:#a3411f;--hdr:#12373c;--hdr-text:#eef7f7;--hdr-link:#cbe3e4;--bg:#f1f7f6;--note-bg:#d9ecec;--note-text:#0f2f33;--logo:#2a7a84}
body.theme-hillsboro .wordmark{font-variant:small-caps;letter-spacing:.06em}
body.theme-hillsboro .site-head{border-bottom:3px solid #d98a3a}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) body.theme-hillsboro{--bg:#0d1a1b;--surface:#152a2c;--brand:#8fd3d9;--brand-ink:#08191b;--link:#8fd3d9;--accent:#f0a56c;--hdr:#071213;--hdr-text:#e8f4f4;--hdr-link:#bad7d9;--line:#2c4a4d;--note-bg:#193437;--note-text:#dff0f1;--text:#e6f0f0;--muted:#b3c9cb}
}
@media (min-width:701px){.prose td,.prose th{min-width:170px}.prose table{table-layout:auto}}

.utility{background:var(--bg);border-bottom:1px solid var(--line)}
.utility__inner{display:flex;align-items:center;min-height:48px}
.utility__weather{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;margin:2px 0;border-radius:999px;background:#f0c24b;color:#2b1d00;font-weight:700;font-size:.92rem;text-decoration:none;border:1px solid #c99a1c}
.utility__weather:hover{background:#f6d166;text-decoration:underline}
.utility__weather svg{flex:none}
.headlines{padding:26px 0 8px}
.headlines h2{margin-top:0}
.hl{list-style:none;margin:0 0 .6em;padding:0;display:grid;gap:10px}
.hl li{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 16px}
.hl a{color:var(--text);font-weight:700;text-decoration:none;display:inline;line-height:1.35}
.hl a:hover{text-decoration:underline;color:var(--link)}
.hl-meta{display:block;font-size:.85rem;color:var(--muted);margin-top:4px}
.hl-label{font-size:.95rem;color:var(--muted);margin:-.4em 0 .8em}
.hl-all{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
/* Klamath Falls flagship (ol-kf-build 2026-10-17): headlines + right rail, sponsor units, magazine card, Join */
.hl-grid{display:grid;gap:22px}
@media (min-width:1024px){.hl-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start}}
.rail{display:grid;gap:16px}
.ol-ad{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;max-width:340px}
.ol-ad--f1{margin:8px auto 28px}
.ol-ad--a1{margin:28px 0 8px}
.ol-ad__label{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-weight:700}
.ol-ad__link{display:block;background:#fff;border-radius:6px;line-height:0}
.ol-ad__link img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:6px}
.ol-ad__name{margin:8px 0 0;font-size:.95rem}
.ol-ad__name a{display:inline-flex;align-items:center;min-height:44px;color:var(--link);font-weight:700}
.f1-wrap{padding:6px 0}
.ol-mag{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.ol-mag h2{font-size:1.05rem;margin:0 0 10px}
.ol-mag__cover{display:block;line-height:0;max-width:220px}
.ol-mag__cover img{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 1px 6px rgba(0,0,0,.25)}
.ol-mag__issue{font-size:.9rem;color:var(--muted);margin:8px 0 6px}
.ol-mag ul{list-style:none;margin:6px 0 0;padding:0}
.ol-mag li{border-top:1px solid var(--line);padding:8px 0}
.ol-mag li a{color:var(--text);font-weight:700;text-decoration:none;display:inline-flex;min-height:44px;align-items:center;line-height:1.3}
.ol-mag li a:hover{text-decoration:underline;color:var(--link)}
.ol-mag li span{display:block;font-size:.88rem;color:var(--muted)}
.ol-mag__more{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
.nav a.nav-join{background:var(--accent);color:#fff;font-weight:700;margin-left:4px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nav a.nav-join{color:#1a1208}}
.joinband{background:var(--note-bg);color:var(--note-text);border-radius:var(--r);padding:16px 18px;margin:28px 0 8px}
.joinband p{margin:0 0 10px}
.biz-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.biz-card .biz-logo{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;height:120px;margin:-6px -6px 12px;padding:8px}
.biz-card .biz-logo img{max-height:104px;max-width:100%;width:auto;height:auto;object-fit:contain}
.biz-card .biz-cat{font-size:.85rem;color:var(--muted);margin:0 0 .4em}
.ol-events-feed li p{margin:.2em 0 0}
/* Featured Southern Oregon businesses (home band, town key "featured"; 2026-10-24) */
.featured{padding:8px 0 4px}
.feat-card .feat-links{display:flex;flex-direction:column;margin:.3em 0 0}
.feat-card .feat-a{display:flex;align-items:center;min-height:44px;line-height:1.3}
.feat-cta{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin:0 0 2em}
.feat-cta h3{margin:0 0 .3em}.feat-cta p{margin:0;color:var(--muted)}
